What 3 Years in Tech Taught Me

6 hours ago 1

Kenny Wolf

Exactly 3 years ago today, I made the career change from finance to the tech industry.

I started as a web development intern at a local web agency. This is where I gained my first real experience in this industry. The internship was limited to one year, but I was offered a permanent position as a software developer after just 8 months. Shortly after receiving the permanent position, I started a (part-time) bachelor’s degree in computer science in my home town. I still work 70% and do the bachelor’s degree part-time (approx. 22 credits per semester).

You’re probably wondering why I’m still doing the Bachelor’s degree even though I already have a permanent position?

I want to work longer in this industry and therefore want to build a strong foundation, as I had no training in computer science. And in Switzerland, the ROI for a Bachelor’s degree is much higher, as it only costs around CHF 6000–8000 for the entire degree…

About a year and a half after starting the internship, I changed jobs to another company.

I realised that I wanted to delve deeper into the subject matter. So I looked for a company with its own product, i.e. its own framework. I am now working there as a software developer while also studying and will soon be starting my third study year.

In this article I will share my learnings as a software developer and how I balance work and study.

Theory + Practice = Great Multiplier

Studying and working at the same time was the best decision I ever made.

Studying alone would probably have been boring for me and I don’t want to live like a monk because I don’t have the income when I’m studying. I can lead a good life with my current workload. I can pursue my hobbies, eat out, go on holiday and don’t have to think too much about finances. Another advantage of studying while working is how much better you understand the subject matter, as you’ve usually already had a connection to it at work.

You also realise in the lectures which topics make sense and which you know would never work in the working world.

My degree programme takes four years instead of three, as it is part-time. In return, I can show that I already have four years of work experience after graduating. And we all know how valuable that is in the tech industry.

Take Care of Yourself

Alongside all the nice aspects of the software industry, there is also a dark shadow that many ignore.

It is very easy to fall into burnout without realising it. It always comes gradually but quickly. You work eight hours, then you have an online lecture for four hours. And at the weekend you’re still working on a private project (that you’ll never finish anyway). So much screen time and no breaks or changes of perspective.

If you want to stay in this industry longer, do something else in your free time.

I’ve started to stop working on projects alongside my work and studies and do something completely different to clear my head. Be it spending time with my girlfriend and friends, Muay Thai, sailing, or reading manga and novels.

Different Kinds of Growth

In my job, I have realised that there are different types of growth.

You as an individual can grow and develop in different areas. In the first two years, I only focused on technical know-how. I always wanted to write better and more elegant code, I dealt with patterns and familiarised myself with various topics (e.g. template engine, ORM). I thought that if I was simply very good at programming, then I would also become a very good software developer.

I was so wrong.

To be a good software developer, there are other qualities that you need to acquire. Here is a (non-exhaustive) list of skills that I have learnt in the last 12 months and will continue to develop in the future:

  • make good decisions, and quickly too (man do I struggle with that, especially with architecture questions)
  • not only know what to build, but also what NOT to build when analysing requirements
  • to distinguish whether I am really expanding something extensively because I will need it later or whether it is just premature optimisation
  • better communication with team colleagues (currently working on)

Responsibility & Reliability

Then there are two other qualities that I would like to mention briefly: responsibility and reliability.

These are two qualities that I want to master. I have seen them in my senior developers and I think they are the main reason why they are senior (besides the technical know-how). Let’s start with responsibility. The senior developers in my team are like a rock in a stormy sea for me. If anything goes wrong, they take responsibility (even if it’s not their fault). They talk to customers and stakeholders and turn the other cheek.

They can also confidently say which direction they are going in when it comes to important architectural decisions.

In the full knowledge that if this was a wrong decision, they will have to take the rap. For me, this is an extremely strong quality that a person should acquire, and not just only for their job but for life in general.

Then we have reliability, which goes hand in hand with responsibility.

By reliability, I mainly mean two things in this context. On the one hand, that if I say something, it will be done. It often happens that people promise things that they don’t keep. If this happens once, it’s still okay. But if this happens repeatedly, the weight of that person’s words weighs less in the balance. On the other hand, I believe that other people are there for you and will stand up for you.

For example, telling off the CEO because he doesn’t have the planning under control and you have to work overtime because of him.

People Over Technology

When you work in the software industry, you are confronted with three things: people, process and technology.

And the importance falls exactly in that order. The people you work with matter more. Be it team colleagues, project managers, management, customers or others. You will always have to deal with people first and foremost. This makes it all the more important that your social skills are at least acceptable. As I am still working on this myself and am an introverted nerd, I can only give limited advice.

Maintain normal eye contact, engage in conversation and really try to understand the other person.

Lift Others Up

The last point is related to the one above.

In addition to social skills, there are other skills, or rather characteristics, that are important. Just be nice to other people. I know that sounds simple, but especially in stressful situations and when you don’t agree with someone, this can be easily forgotten. Keep a cool head and always be respectful to others. But that doesn’t mean you should put up with everything.

If you have a different point of view, then communicate it and explain why. Try to hold back your emotions and remain objective.

Furthermore, try to find out the strengths of others and utilise them for the good. You will see how your team works much better when everyone utilises their strengths and lifts each other up.

Good things take time, be patient.

It’s important to keep your head up during ups and downs and show up every day. Especially on the days you don’t want to. Because sooner or later, the seed you have planted will blossom and you can reap your harvest.

It has been an instructive and fun three years and I hope for many more to come.

Read Entire Article