6 Takeaways from my 6 Years Journey as a Software Engineer
We continue the #BeTechReady series with a new blog post from Viktor Panchevski, a Senior Software Engineer at Singular. He started his Singular Story back in 2014 as a student, enrolled in his 3rd year of studies at the Faculty of Computer Science & Engineering.
Throughout his journey with Singular, he has advanced from an intern to a senior software engineer. He is now working on one of our flagship products and mentoring newcomers to pave their career path in software engineering.
I was looking for an internship program when I came across Singular’s call for new junior hires. At first, I hesitated, thinking I will not be able to balance studies and work. But I have decided to push myself and step out of my comfort zone. – explains Viktor.
Today, more than six years later, I can honestly say that it was one of the best decisions I have ever made. During this time, I have worked on several different projects, all of which helped my growth as a software engineer and a person. – says Viktor.
In this blog post, Viktor shares his experience alongside learned lessons and important tips on how to advance in your career as a software engineer.
He tackles conceptual principles of what makes a strong software engineer that goes beyond coding skills and programming languages. While these remain a foundational requirement, the differentiating factor is more of a mindset attitude.
Be a problem solver, not just a programmer
The difference between a solid software engineer and a great one is not in the number of technologies they excel in, but in his/her mindset. Growing as a software engineer requires you to understand that your skill to write code is just a tool in your toolbox as a problem solver.
Learning to recognize potential issues and being able to apply different perspectives while solving problems, is just as important as your coding abilities.
Concepts vs technologies and frameworks
Technologies and frameworks will come and go. There are so many of them in the market, and it can be overwhelming. But don’t worry, they are all built on the same core concepts.
Understanding the concepts will make switching between frameworks, languages, and tools almost effortless. Developing conceptual thinking will add more value to an engineer’s career in the long run.
While trying to solve a particular problem, we often refer to the best practices. But not every problem we are trying to solve is the same. So why should the solution be the same?
While references to previously solved issues can be quite useful, you should question existing solutions and try to optimize things. Always try to be better. It is only because of the people who challenge solutions and always strive for a better way of doing things that we have these best practices and guidelines.
Speak your mind
The ability to listen and keep an open mind are important qualities for a software engineer. However, speaking up and being able to stand your ground is equally important.
Staying silent, afraid of making a mistake, might lead to missing out on some great ideas and solutions. Don’t hesitate to speak your mind. You might not always have the best solutions and answers, but even those moments can be a valuable learning experience for the team and yourself.
People around you matter, a lot!
Working a full-time job, we spend a significant amount of our lives surrounded with our colleagues. This means that the people you work with have an incredible amount of influence over you and your overall happiness. Surrounding yourself with great teammates will help you enjoy your time regardless of what you are working on.
Great things don’t happen in comfort zones
Your comfort zone prevents you from improving, sometimes it can stop you from reaching your full potential. So, make a decision today to change something in your life that you are unhappy with. Embrace the positive changes.
Join the challenging project, ask the uncomfortable question, suggest that code change, do the extra work, try a new approach, make a mistake, learn a lesson.
We hope that the above tips will help you be a better software engineer and help you advance in your career. At Singular, we value proactivity and “out-of-the box” thinking, while nurturing a strong teamwork environment.
We enable unique career paths that answer to the pace of development and ambition of each team member individually. No one-size fits all!
If you are an ambitious young student or an experienced software engineer, eager to grow professionally, have a look at our job opportunities. We are always on the lookout for outstanding people.
In the meantime, stay tuned for the next edition of our #BeTechReady content. 😉