Things I learnt as a software engineer

Written by Mariusz Sołtysiak

I started working as a full-stack software engineer when I was 15 years old. The first few projects I found was by contacting people in internet radio forums. That brought me some really good money. Sometimes as I child, I was earning more than my parents. When I started my studies I officially joined a small 3 people company and worked mostly as a PHP developer, but also when necessary I was doing the front-end part. That was pretty challenging especially at the beginning of my professional journey.

Some people ask me if it’s too early or too late to become a software engineer. My answer for both is a strong NO. It is never too early or too late to develop software. The only thing that you need is strong motivation and striving to achieve the goal.

Being close with software users

The coolest thing I experienced in my first job was on-site work along with orthodontic technicians, trying to improve the system used by them for tracking the work. I recommend to everyone to do it at least once in their life, to work directly with people who are using the product. It taught me that, being close with software users is a critical aspect to make the software successful and well fit to the market needs. Would you know why the buttons in this software needed to be big and the colours dark? Because technicians hands were often dirty after doing the appliances and covered with white powder. Without seeing it I probably would never have considered this requirement.

Traveling back in time

After 7 years I realised that I needed something new and I started looking for another job. At the same moment, I decided to focus fully on the back-end and forget about front-end stuff. And that was my first decision which led me to be happier about what I’m doing and made me who am I now. Do I regret being in one company for 7 years? No. It allowed me to have experience in a way that is usually not possible for bigger companies and to be independent in almost every situation.

Obviously, I was scared to death when I switched companies. Completely different, bigger team, working in Agile, more work around the product, designs, maintenance. It was really a challenging time for me. But I promised myself that I will do everything to satisfy the expectations. I was spending long after-hours reading books, watching tutorials, and just doing projects to understand and get up-to-date with the modern world. I felt like this 15-year-old child again.

The importance of change

This experience taught me that changes are important, necessary and it’s me who is responsible for looking for them. Some may think that I’m suggesting changing companies often is a good idea, but I’m actually against it. If you find a good company you don’t need to change it. Good company is the one that supports you with finding new opportunities and challenges whenever you feel that you need to try something else. Fortunately, I managed to find the company which was Shoplo, and now it's SumUp. Sometimes I say that I changed the company without really changing the company, and not only twice but multiple times already.

From my experience, I can only say that you should never be afraid to say that you need a change. If you're waiting for someone to notice that something is not all right usually it’s too late. You're the driver of your career, nobody will tell you that you should change the team, tech stack, or company. Here I can recommend doing the CliftonStrengths test for yourself to see what are your strengths. It helped me a lot with making decisions about my career.

Find and praise a good boss

Before my company was acquired we were quite a small team of developers (on average around 10 people). It was a time when all of us were discovering new things, new technologies. Thankfully we had full support for that by our CTO, so we could learn together as a team. Back then I made really good progress in being a better back-end engineer. It would not happen without the support of my boss and the team, where people all were hungry to learn new things together. Our motivation was at the highest possible levels so the progress was too.

Here I would like to underline how important is to have a boss that supports the team with development. Making a product is obviously something important, but if it is not followed by good technical decisions the team is never going to be happy and performant. If you feel like your boss is not challenging you or even forcing you to use specific technologies — it’s time for a change. Software engineers are good only when they constantly develop. Having no field to develop means you are not staying at the current level of knowledge. The world is evolves, but you’re not. In a few months, you’ll start to be weaker.

I’d like at first to thank you for reading my first article. For a purpose, I’m finishing here, because I’d like to hear your feedback about the article and about the things I mentioned before continuing my story. Looking forward to hearing you!