Ten Lesson Learned After 15 Years Working as a Software Engineer

Waqas Shami
5 min readMar 19, 2022

--

What my 15-year journey as a software engineer taught me

I’ve been a software engineer for 15 years and have gained a lot of experience during that time.

I’d like to share some of my personal experiences with you, as well as the lessons I’ve learned from them.

The first thing my 15 years in software engineering taught me was the importance of understanding how machines work. You won’t be able to solve problems efficiently if you don’t understand the fundamentals of how computers work.

I was fortunate enough to be able to comprehend not only what occurs at the high level, but also what occurs at the low level of programs and data structures.

The second lesson I learned during my 15-year career in software engineering was the importance of not only writing code but also taking responsibility for quality assurance and production support.

As a software engineer, I have had the unique opportunity to see technology evolve in all of its glory. And, believe me, when I say this, it isn’t over yet.

10 lessons learned on my way to becoming a better developer

  1. Learn how to learn: Learning is a lifelong process. It is imperative that I was and I am motivated to continue to learn new skills and improve my knowledge of coding languages.
  2. Practice: Practicing is the best way to improve coding skills and become better at what we do. Doing so, I was able to continuously participate in coding challenges or by working on an open-source project that inspired me.
  3. Work on my weaknesses: I strive myself to work on improving my weaknesses instead of focusing on what I was already good at. This made me more well-rounded as a developer and gave me new perspectives on the programming world that might not have been available before.
  4. Be patient with everything: It’s important to be patient with everything when learning how to code. I make myself calm to not feel pressured when I start or needed time to figure out a new skill.
  5. Don’t get discouraged: Coding can be difficult, but it provides opportunities for everyone willing to work hard for it. I did catch into a rabbit hole but I was able to quickly motivate myself and didn’t get discouraged by any failures in my first few days or weeks of learning.
  6. Taking care of myself: eating well, sleeping enough, exercising regularly, and taking time off from work to rest and recharge is essentially key for productive output.
  7. Learn how to code in more than one language: Learning a new programming language has helped me learn the basics of coding from a broader perspective and it has also made me a more valuable programmer because not many people can do that.
  8. Learn how to debug code: I learnt how to debug code and fix mistakes without getting frustrated or giving up too quickly. Debugging is an important skill to have as a programmer, so I always dedicated part of my routine to learn debugging time and be successful in it.
  9. Keep practicing coding skills: I keep practicing my coding skills by solving coding problems every day, even if they’re not related to what I work on at work or school. This is the only way to get better at solving problems creatively, which is one of the most important skills for programmers!
  10. Be mindful: Be mindful of what it takes to get through a day’s worth of coding with minimal mistakes. I make sure to not just code for the sake of coding because doing so will make me burn out and stop learning

Tips & Tricks Every New Software Engineer Should Know

There are a few things that every new software engineer should know. These tips will assist them not only in the workplace but also in their professional advancement.

  1. Always be curious. Keep asking questions and learning new things, this will help you stay relevant in the fast-changing world of software engineering.
  2. Be proactive. Take the initiative to go above and beyond your job description and assume responsibility for any tasks that have not been assigned to you by your manager or team lead.
  3. Ask for feedback from your colleagues regularly. This will help you grow as an engineer by understanding what skills need to be improved or learned more about.
  4. Be humble and respectful of others’ ideas, even if they contradict yours or seem more wrong than yours does at first glance.
  5. Be passionate about what you do and what you are working on. This is the most important skill to have in software engineering and this should be the driving force of your professional success.
  6. Improve your communication skills. This will benefit you not only in your personal life but also in your professional life with your coworkers and managers.
  7. Never stop learning!

Experience Working as a Software Engineer

Software engineers are the backbone of any modern technology company. They are the ones who create the products and programs that make lives easier, more efficient, and more connected.

They can work independently and in teams, with a high level of technical expertise, and often possess an entrepreneurial spirit.

Having good experience working as a software engineer is the best way to get your foot in the door. You will be able to write code faster and more efficiently with this experience.

A Software Engineer’s Career Advice To College Students

We all have different interests, skillsets, and dreams. But we should not let any of these stop us from chasing our goals. If you want to become a software engineer, here are some tips and tricks I can share with you:

  • Take every opportunity that comes your way. You never know what might happen in the future and when you might need those connections.
  • Work hard on your skill set but also take time to enjoy other things in life.
  • Don’t be afraid to ask for help when you need it — there is no shame in asking for help!

Conclusion: How Professional Development is Necessary for Software Engineer of All Levels

As a software engineer, it is important to keep up with the latest trends in the industry.

Professional development, in my opinion, is a necessary step for any engineer at any level. It’s critical to stay current with industry trends and learn new skills, whether you’re a beginner or a seasoned pro.

The software engineering industry is constantly evolving. If you have been in the industry for a while, you know that new technologies and frameworks are popping up every day. It can be hard to keep up with all of them, which is why constant professional development is necessary.

In this article, we discussed how professionals need to take the time to learn new skills and improve their existing ones to stay on top of the game.

Waqas Shami is a productivity nerd and an avid traveler. He is trying to live more meaningful and purposeful life! Follow him on this new journey of balancing digital and physical life. He is living in Stockholm, Sweden. He is on Instagram @waqas.shami, twitter. @WaqasShami3.

Do you find this article interesting?

Please don’t hesitate to share it and subscribe to my newsletter to receive my content directly to your inbox.

If you’d like to have unlimited access to quality content, consider supporting me by signing up to become a Medium member. It’s just $5 a month with this link.

--

--

Waqas Shami
Waqas Shami

Written by Waqas Shami

💻 Learn, code, grow—AI, Python, AWS, and productivity unlocked

Responses (4)