Why I am Moving Away from C++?

I’m an embedded SW developer for nearly six years, and the job nearly comes with C++. C++ is one of the most capable languages an embedded developer can use from their toolkit. Nearly all job listings will include C++ in it. However, I’m planning to move on with the second word of “Embedded Software” from now on. I will post about my future course at the future, and I’m going to explain the reasoning of dropping C++ as my main language.

Why I was focusing on C++?

C++ is the de-facto standard language for any embedded/IoT software. It has the ability of reaching into hardware with the help of powerful and easy-to-use abstractions. It has the power of portability, not depending on the CPU architecture at all. The language is supported for nearly all processor units, and most of the compilers are free-to-use. This makes the language perfect for embedded development.

In Turkey, it is expected for an electrical & electronics engineer to understand and work near hardware, even if s/he is a SW developer. At least, most of us thought so. As a youngster with a bachelor’s degree in electronics, I dived deep on pointers in 2016, and learned C++ back and forth. In a few years, I moved to one of the best electronics companies in Turkey, and found my C++ skills very useful there. I fastly climbed stairs and found myself in charge of various embedded software projects under three years.

So, why I’m turning my back to the my bread-winner skill then?

Why I’m moving away from it?

I can group my reasons for dropping C++ in two categories.

Reasons about C++ itself

C++ is nearly 40 years old (37 tbh), and is a popular language for at least two and a half decades. It is one of the most popular languages around, and evolved a lot in the process. The language got new features in 2k11, 14, 17, and 20. A new update for 23 is on the way. Lots of features delivered with those updates are actually useful, and makes my life easier every day.

However, old code bases must compile with new compilers for backwards compatibility, so the features a developer needs to learn grows still. This growing mountain of features makes C++ intimidating to new developers every three years. Since recruiting newbies for C++ positions becomes harder and harder, I see the language disappear from commercial are in next years. The language is staying at the core of the commercial apps, but will disappear in the application layer. It will be at the core of node.js, Cuda, Tensorflow etc. but the applications are moving to Javascript, Python, Java etc. I believe the language will be known by few nerds and academics in the future.

Thus, I’m moving away from it.

I need to switch my sector

Like I mentioned before, I’m currently working in an electronics company. However, my job description has nothing to do with electronics. I simply produce software for my company’s custom made electronics. This position of mine has some certain advantages for sure, but in last few years I felt few disadvantages for sure.

First of all, during the COVID-19 pandemic, I was never let work from my home and forced to come to work every single day. My company of course has something to do about this, but it is also the sector. Since I’m in electronics, the default expectation from me is to spend some special time near the hardware. And, in a defense company like mine, you can never have a copy of the hardware in your home. Thus, you need to go to work every fkin day. And when I see how people work in a hybrid fashion or full-time from home, I actually envy them a lot. So, I need to move to a more relaxed and non-hardware-related sector to have that comfort.

Also, the gap between software and hardware engineers grew long during the COVID-19 pandemic, due to high digitalization. However, my company is still an electronics company and pays wages around hardware level. When I see people with similar skillsets as mine paid more, I get motivated about moving away from my sector.

In order to move between sectors, I need to adapt a new technology stack, starting from my main language.

Some possibilities about my future

Since I will be learning a lot, I will definitely post more here. That’s for sure. Also, I’m definitely changing sectors. Here are some possibilities for me:

Move to the gig economy for an extra fun challange

I’m planning to join a freelancing network to have a fun and challanging way of working. It definitely looks nice to work international and free of commitment. I actually have applied to toptal.com before but failed in the final step due to my irresponsibility. I’m planning to re-apply whenever possible, and focus on my pet project this time. I’m not planning to apply another platform, since Toptal looks more professional and rewarding than others.

Moving to a freelancing network will grant me more freedom about technologies and sectors, and also financial independence to become a work-from-home person. Also, it will grant me continuous challanges to keep the work exciting.

Focus on some other skill to find a new job

Other obvious way is to focus on few frameworks to make my core language knowledge to shine. Some candidates are:

  • Spring, and especially SpringBoot for Java
  • Dive into npm to discover node.js frameworks for Javascript
  • Sharpen my knowledge on Rails for Ruby
  • Or work on Django for Python

Long story short, I made a choice to steer my career. Hope you enjoyed the read. Go to my homepage for more!

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *