In an exclusive Q&A with Renée Ward, Rajat Teotia, Co-Founder and CTO of LogicQuad Technologies, shares how he began his career in computer science in his teens. Today he is one of the most respected and sought after tech leaders in the country under 35.
Rajat is also a member of the private invite-only LA CTO Forum, a network of software CTOs and his profile can be found on Linkedin.
This is another in a series of articles about the “first jobs” of successful people, their words of wisdom for today’s young adults, and reflects the value of work early in life. This interview has been edited for length and clarity.
How did your interest in computer science come about?
Rajat: I was an A student in high school and good in biology. My parents were expecting me to become a doctor. When I was in the 9th grade my older brother was enrolled into a Bachelor’s Degree program in Computer Science and to help him in his studies, my parents bought a computer. It was then that I realized this is the field of study for me too, and the right career path for me. Everything about computers and computer science became kind of an obsession for me from that point of time forward.
Any aspect of computers and computer science fascinated me to a level nothing else did. As a result, I became really good at it so that helped me take a step towards this, and motivated me to go an extra mile to learn, to implement what I learned and to make myself better at all aspects.
When did you first earn money for the knowledge and skill you developed in computer science?
Rajat: I was in my first year into a Bachelor’s Degree in Computer Science. I was pretty good at programming back then and I was acing my assignments. I also worked with my friends on a couple of projects and everything went well. I just wanted to test myself in a professional setting to launch early into my career.
I wanted to test how good I was at programming in the real world, so when I was about 19 I went online to a few of the tech freelance sites, applied, satisfied the assignments and happily I started to land gigs for which I was paid.
I also did a few internships in India, where I was born, that were pretty rigorous in terms of work and programming. I had the good fortune of attending graduate school at the University of Southern California in Los Angeles and landed my first real paying job. I got an opportunity to work for the USC Law School as a student programmer.
What did you do for USC?
Rajat: I was responsible for work on the USC Law School website and other Internet/Intranet applications. The school had many disparate applications, more than 70 like donations, library management, and grade administration. I was responsible for updating those applications, streamlining administrative functionality, and creating new Internet applications. It was my day to day job in addition to my regular course of work.
I was directly working under a senior software engineer and a web architect who were employees of the university. Both of them were phenomenal guys, they helped me out. But apart from that, everything that has been learned, or implemented or done was self-taught and self-implemented.
That sounds like quite a bit of responsibility at such a young age. Why do you think they hired you for that role?
Rajat: I was good at programming. It was a brief interview process. My English language skills were above average for an international student, so that could have been a factor. They asked me a few questions related to my prior experience with computer science, my knowledge of web technologies and requirements, so they kind of had an idea of what I was capable of. They gave me a few days to settle in, about a week to go through their internal structure and that gave me an opportunity to look into the code much deeper and within three months I had majority responsibility.
How did you learn about this opportunity in the first place?
Rajat: The opening was posted on the bulletin board and one of my friends told me about it so sent in my resume and they called me in.
During your early job experiences, did anything go wrong?
Rajat: There were a couple of things. I can recall one of the freelance gigs. The client wanted me to implement an algorithm and there was no specification as to what language the algorithm was to be implemented. I implemented it in a C++ programing language and he wanted it in a different programming language. I don’t know if this is considered wrong but the outcome of the algorithm was good and the client accepted the job.
At USC Law School since it was a huge website with various Internet applications, there were a few times I implemented something that was not along the lines of what the management at USC Law School wanted so I had to correct or do them over again.
So apart from those few things, I never did anything that created a huge problem.
How did you feel about having to do those projects over again at USC?
Rajat: It was a wonderful experience. It gave me enough confidence to go into a professional setting and be responsible for a huge project. I was responsible for a majority of the work that was given to student programmers, and that gave me confidence. The projects that I worked on were large, complex and had been in development for years with many applications. I realized I could work with this type of organization and easily handle the assignments. So it was a fulfilling experience.
That’s awesome. What else did you learn from your early work experience that has prepared you for what you’re doing now?
Rajat: First, I learned the importance of being clear about every aspect of the work requirement. I told you about implementing in a non-clarified programming language. That gave me the ability to think from a client’s perspective. That is, what they want and it’s not just about getting the job done, it’s about getting the job done in the right time and producing the output desired by the client. This has taken multiple faults when I went into a professional setting; the client expectation, the timeline, the budget are so competitive that it actually prepared me to be ready for all situations.
The path that I have chosen is kind of a unique path. A lot of people go about studying at a college, getting a computer science degree whether Bachelor’s or Master’s and work for a big organization for a few years and then segment themselves into one particular area of computer science, but in my case I had the passion for being a technology leader early on. For some reason, I’ve always been able to visualize the big picture and the inter-working of its canvas so to speak.
I was given an opportunity to lead projects early in my career and that has given me a tremendous opportunity to learn, grow, not only in one particular area like web technologies or databases or networking, but I was responsible for the entire project and that gave me a higher level of responsibility, to own an entire project and deliver on the client’s expectation. And this type of career path is unique in a sense because I haven’t seen too many people doing it as early as I.
As the co-founder and tech leader of LogicQuad Technologies, we are capable of executing on projects of a massive, complex nature like custom enterprise software, scalable web/mobile applications, automation, and robotics. I have a strong passion for Internet of Things (IoT).
Every computer science problem is solved by creating an output–whether it’s creating a software program or creating an algorithm or creating a website or whatever the need is. As a result of my early experiences, I seek out projects that use technology to solve problems for the majority of people, like Elon Musk, who I admire. He has solved so many problems from the payment industry to electric cars to solar to space. I’m most interested in using technology to solve problems of viable worldwide impact.
Let’s say there’s another young person out there that has self-motivation, what should they do to go about pursuing opportunities in computer science or software development or programming?
Rajat: Computer science and software development is a vast area. You can go from writing algorithms to writing operating system internal, to writing web applications, mobile apps, there are so many things you can do.
If a person is self-motivated and wants to do something, I’m assuming he wants to do it all. So first of all, I would ask him to learn the basics of computer science to a level that he understands the internal working of software from algorithms to data structure and once he has understanding of all those things, then he has to try small projects in each area. That can be anything like a personal mobile app or a personal web application or any algorithm. Once he has done few of those projects in every area, it can be networking, it can be security, it can be databases, and he would himself know what gives him more satisfaction at the end of the project, as compared to pushing him into a certain direction.
And, if he’s working towards something that he really likes and enjoys then I feel he can make a career out of it.
Today, people are saying that the job of the future is in coding, it’s being a coder. Do you agree or disagree with that?
Rajat: I completely agree with that. It’s been like that for almost 20 years now. Everything is going by computers, electronics and the scope of implementation is increasing. We have self-driving cars now, so the number of things computers are used for today is increasing and it’s going to increase in every step of life, whether it’s agriculture or transportation.
Coding is the job of the future. In every aspect of life computers are integral to help improve the process and we need coders or software engineers to program and create efficiencies in every aspect of life.
Are you a young adult trying to determine what direction to take your job hunting but don’t know how? Start with uncovering your interests. Take the Association for Career and Technical Education’s Career Clusters Interest Survey.