Get 60% off lifetime access &
job ready curriculum guide

YOU WILL RECEIVE DISCOUNT CODE AND THE GUIDE INTO YOUR EMAIL AFTER SIGNING UP

    We don’t send spam. Unsubscribe anytime.

    Author

    “Your course helped me get my job as a software engineer at Charles Schwab. The course was easy to follow and covered all the material I'd need to nail a leetcode style interview. Thank you!”

    - Mohammed Khan
    What I’ve Learned After 13+ Years Of Programming

    What I’ve Learned After 13+ Years Of Programming

    January 14, 2016 by Imtiaz Ahmad

    Over 13 years ago when I got my first job as a software developer, I had a few misconceptions about the field that I still see junior developers having today. I hope to share some practical words of wisdom with you so you are better equipped for a career in software development. Things I wish I knew when I was first starting out in this field. Back then there were limited blog sites out there. There was no youtube, or stackoverflow.com for technical questions, or Quora for general career advice, and yahoo seemed like a decent search engine at the time. At work, every senior developer had some books that were a must have in the Java world. For example “Effective Java: Programming Language Guide” published way back in 2001. It was an excellent book for its time. (I recommend you read the 2nd edition released in 2008 from cover to cover). The famous gang of 4 design patterns was another common book on people’s desks. To me it seemed like I was surrounded by gurus who had read all of these books & had mastered the content. So I went ahead and purchased my copies. I read them and at first a lot of the stuff didn’t make much sense. So I read them again and again until I finally started to understand what was going on. I asked some of my senior colleagues for help in explaining the concepts but to my surprise even with the book on their desk some had not even opened it!

    At the time due to my limited experience my misconception was that I was surrounded by pros that were gifted with some divine knowledge and that they could read someone else’s code and just immediately understand all of it as if it was some story book. That definitely was NOT true then, and it isn’t today either (no one is gifted a skill, you have to earn the skill by working hard at it).

    After a few months at my first job I had completed some small projects and was given an opportunity to work on something slightly larger and started writing the code from scratch. At the time I thought my code was a masterpiece since I had spent so much time working on it and did the best I could to get it just right but when it was reviewed by some senior engineers, it was laughed upon. Although it worked, my code was indeed horrible – poor choice of variable names, bad class designs and I was using all kinds of design patterns that I had read about in the gang of 4 book incorrectly. The thing that my seniors at the time didn’t tell me is that they too had made poor software in their past. We all do when first learning anything new.

    After 13 years of challenging experiences and growth opportunities, I can now say something with certainty. Getting good at programming requires fearlessness! The fear of getting something right the first-time is debilitating when you’re a junior in software development. Especially if you are a perfectionist. The biggest challenge for some people is writing that first line of code when trying to solve the problem. They get so caught up in trying to get the whole plan right that they throw in the towel. But let me say this: It’s not possible to get it exactly right the first time. Brainstorm a plan and write that first line of code. Write that second line of code and keep going. You’ll advance slowly in the direction of the final product. If the final product sucks, who cares. Keep going, if you want to use a particular design pattern that kinda fits but not exactly – that’s totally okay. Use it anyway. Don’t be afraid to make mistakes. You’ll be surprised how quickly you can get good at programming with a “damn care” mindset. Just keep churning along.

    The best way to learn from mistakes is to make them, and in programming the risk is really low especially when you’re new to the profession. Having made many many mistakes and writing a lot of bad code over the years, I now feel totally confident about how NOT to write bad code. I know exactly how bad code smells. I can smell it from miles away. It’s about experience and fearlessness that will ultimately make you really good at something. I see the junior programmers of today not experimenting enough. Not making enough mistakes because of fear that they’d be some how looked upon as not smart. Get rid of this fear immediately and keep coding. Senior programmers that have been in the industry for many years are not going to look down upon you. They may laugh at your code, but who cares. Laugh with them and continue working at it. As a senior architect, I DON’T look at a junior programmer as incapable. I look at them as bundles of creativity and potential that has yet to be reached. Take risks in your projects. Don’t be afraid to experiment. With a fearless attitude, I promise you that you too will one day be a guru in the field.

    Subscribe

      We do not send spam. Unsubscribe anytime.
      Back to blog
      Career Development | Self Improvement
      Is it important for a programmer to type without looking?

      This is a question that may have crossed your mind if you’re a slow typer surrounded by speed demons in the tech environment. Think about it, would typing speed affect your developer experience? My opinion is – hell yea it does! If you mostly use 3 fingers on each hand to punch in code for […]

      Imtiaz Ahmad
      Software Development
      Keyboard First Reflex

      In this blog, I want to share the importance of software design and how to avoid the Keyboard First Reflex! Recently I started learning about Blockchain and cryptocurrencies. After absorbing some of that information, I decided to go ahead and start creating my cryptocurrency. Without any kind of plan or any kind of design, I […]

      Imtiaz Ahmad
      Salary Boost | Software Development
      Fastest way to get a Salary Boost in Tech

      In this blog, I will talk about what’s the fastest way to get a salary boost. Let’s say you’re a software developer or anyone in tech and you want to boost to 200 to 250%, it’s possible to achieve. How do you do that? Newbie Noob technique I have a technique that I’ve coined and […]

      Imtiaz Ahmad