This post is part of a series interviewing veteran developers, asking them questions about their journey to tech mastery and sharing the advice they have for those getting started.
Today, Omkar Hiremath is telling us about lessons he’s learned during his journey as a programmer. Omkar uses his BE in computer science to share theoretical and demo-based learning on various areas of technology, like ethical hacking, Python, blockchain, and Hadoop.
Let’s find out what advice he has for new programmers.
Basic logistics: Stack? How long have you been doing it?
I started programming when I was in school. Like everybody, I started with C and C++. But when I started programming in Python, I never felt like going back or changing. What interests me about Python is that there’s a library for almost everything.
I’ve been programming since 2012. Apart from my work with Python, I’ve done a decent amount of Java programming, mainly for Hadoop, and Bash scripting. But if I have to talk about what I regularly work with, that would be Python and ethical hacking tools because I’m also into cybersecurity.
What made you want to go into programming?
Something about computers always grabbed my attention. I started using a computer when I was 7 years old, and computers have always been like magic to me. I was very curious to know how computers work. That’s where it all started. I started researching and learning about computers and how they work. And one day I read about what a computer code is.
I was amazed to know that I can build something on a computer that can do what I want it to do. And that’s when I first decided I wanted to get into programming. Programming for me is like solving a puzzle. I like that phase where my code isn’t working and I am trying to figure out the solution. It’s one of the best feelings in the world!
What were you most worried about when you made the decision to pursue a programming career?
First, I worried about which programming language I should choose. When I started programming, there was a battle between Java and Python, which still exists. I was very confused about which language to choose as my core. I gave them both a try and decided to stay with Python.
The next thing I was (and still am) worried about is how I’m going to learn so much. Even when you choose one programming language, there are so many concepts to learn and so many things you can do, but there’s only so much time.
What surprised you most at your first programming job?
There’s so much you can do when you combine different stacks and technologies. During my academic life, I was focused mainly on one programming language and very few frameworks and technologies. At my first job, I had a chance to work on Python, Hadoop, and Blockchain. I realized that you can build something amazing when you integrate different technologies.
What advice for new programmers would you offer to people considering a career change to programming?
Believe in yourself and give it some time, and you will succeed. I have seen a lot of people who are afraid of programming. They have the potential and the talent, but the word “programming” scares them off. Programming is not very difficult, so don’t believe that it is.
When you start programming, start with a clear mindset. Treat it like you are watching a new series on Netflix where you have no idea whether the series is good or bad. You may face situations where you feel that programming is not your cup of tea, but don’t give up. If you feel like giving up, take a break. Go out for a walk or a drive, spend some time with your family and friends, and then get back to programming.
Get your basics right. Everything with computers is zeroes and ones. Can you imagine how so many amazing things are built with the help of just two digits? My point is that when your basics are strong, it will be easy for you to work on complex projects. So make sure you clearly understand the basic concepts of programming.
Did you ever think that you’d made a huge mistake getting into this field?
Never! I’ve never regretted or had second thoughts about getting into programming. I always enjoy programming. Every problem statement is unique, and solving each one is interesting. I personally love competitive coding. Whenever I’m bored, I go to programming platforms and write code to solve the problem statement.
What mistakes did you make that you think others following in your footsteps could learn from?
Wasted time! I think that I’ve been very lazy and wasted a lot of time doing just nothing. You don’t have to keep learning or working all the time. You do need to take breaks. But I think I’ve done it a little too much.
The next thing is to get out of your comfort zone. I loved Python, so I didn’t really think of exploring other technologies for quite some time. But when I did explore, I realized I should have done it earlier because there was so much I could do.
What programming reference materials can you not live without?
The reference material I use the most is the internet. The main reason is that the content is updated and you get information from different resources. As a programmer, the go-to place for me is Stack Overflow. But I don’t restrict myself to that.
If Stack Overflow is for doubts and queries, YouTube is the place I go to learn. I am a lazy person and can’t do much reading. That’s why if there’s a new concept or technology that I want to learn, YouTube is where I go. The animations or visualization help me understand the concepts faster and better.
So, basically, the internet is the reference library I can not live without.
What’s something that no training/bootcamp/degree could have prepared you for?
To be honest, nobody can prepare anybody for life’s surprises. Each of us will face different surprises. I just want to share what I’ve gone through. First, it’s going to get frustrating or boring at times. There will be times that you will have to do something you don’t like. But that’s OK. Life has ups and downs.
Learning is a never-ending process. If you think that there’s no personal growth for you, you have to reconsider what you are doing.