The evolution of a programmer
Tags: blogging, career, productivity, mentalhealth
Published: 2019-07-24 10:23:38

>**NOTE**: This article has been superseded by the following one, which was originally published on [Soshace's blog.](https://blog.soshace.com/en/freelance/why-working-remotely-is-a-double-edged-sword/)
{% link vimmer9/why-working-remotely-is-a-double-edged-sword-8m3 %}

#

>**DISCLAIMER**: Keep in mind that I have just recently joined this community and due to my current state of mind, I felt compelled to metaphorically *spill my guts out*. You can stop reading at any point if you find this post along the lines of boring and/or irrelevant.


#The what now ?
This is my first post here and probably the first blog like article I have ever written. I have recently come to a point in life that feels strange and unlike anything I encountered before, and the feeling of being a complete stranger to myself is quite weird or better yet, perplexing.

#The background
My name is Damir, Croatian born and raised (unfortunately), currently living in Zagreb. I used the word **unfortunately** which will probably cause a torrent of negativity in boiling stew of nationalism, which most of Croatia really is, but that is none of my concern. I have always kept my distance from politics, never felt any form of attachment to national symbols, political parties or anything along the lines of patriotism. My loyalties have always been with computers and technology in general. The very beginning and my first confrontation with what was then considered a pinnacle of engineering was this:

![zx](https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/ZXSpectrum48k.jpg/800px-ZXSpectrum48k.jpg)

I was obsessed with this device, but was too young to do anything other than just play games and watch in awe as those cassettes were being magically transformed to moving images on my small TV set. For the younger generations, you can find more info about **ZX Spectrum** on [Wikipedia](https://en.wikipedia.org/wiki/ZX_Spectrum).

As time went by, my curiosity grew more and more and I slowly started learning about programming languages so I could finally solve the ever growing mystery of imaginary animated characters residing in my analog cassettes, somehow being conjured to life by the unbearable screeching noise made by those same cassettes when played in my [Walkman](https://en.wikipedia.org/wiki/Walkman). From that moment on, technology and software totally consumed my mind and have been obsessing it ever since.

My second greatest device ever was **Atari ST** and there are no words to describe the feeling I had when I switched it on and had to change those 3.5" floppy disks all the time. Oh Yeah, no more cassettes and I skipped the 5.25" era and went straight to 3.5" magic. It was all still mostly about games, but unlike most of my generation who were playing **Kill-em-all** type of games, I was always somehow glued to the screen playing adventures games, the likes of **The Secret of Monkey Island** which was probably (and still is) one of my favorite games ever. The images shown below are of Atari ST computer and my favorite game's screenshot. I played it on a monochrome 12" Atari screen, and it was **AWESOME**.

####Atari ST and The Secret of Monkey Island
![Atari ST](https://www.musictech.net/wp-content/uploads/2014/05/atari-520st.jpg)
![mi](https://www.mobygames.com/images/shots/l/800214-the-secret-of-monkey-island-atari-st-screenshot-title-screen.png)

After the Atari ST era, everything started speeding up and there I was, worked my way from **286** to **Pentium** and **Windows 95**. At that time, I was already heavily engaged in programing, and my language of choice was [Pascal](https://en.wikipedia.org/wiki/Pascal_(programming_language)). I spent quite some time doing all sorts of useful and useless coding to build up experience and when I landed my 3rd job, 50% of people in my department were running Linux, mostly **Fedora**. Since the job was all about **php** which was running on Linux servers, it seemed logical to try and use it as a Client OS. That was the best decision I have ever made, and was also a bit lucky to have had a wonderful knowledgeable tutor who was never short of advice and guided me in the right direction every step of the way. Needles to say, I stayed with Linux to this day, I only switched to [Gentoo](https://www.gentoo.org/) as my distro of choice. During all those years I have tried many different languages, scripts and frameworks and from what I can remember, here's the list:

* Pascal
* Delphi
* PHP
* ASP
* Scala
* Java
* C++
* C
* Nvidia CUDA
* LUA
* eBPF (C with restrictions)
* JavaScript
* ActionScript
* HTML/CSS (no scripting)
* React.js
* Node.js
* Bootstrap
* SCSS
* XML/XSLT

#The now
From all these various technologies I somehow observed that regular **C** is my favorite. It is well defined, simple and fast, and since I use it for system and socket programming, it's a perfect fit. I have also discovered my niche; it seems that creating parsers (**Bison/Flex**) and implementing protocol dissectors (**Wireshark**) is my hidden talent. It's a strange kind of pull and satisfaction I feel when immersed in these sorts of projects. 


The trend these days is to keep adding more and more higher layers to make programming languages simpler and make learning curve less steep. I prefer the lower level languages and am not trying to devalue this new trend, not by a long shot. I would only be slapping myself, given that a great deal of my engagement was also in doing projects with **React.js**, **Node.js** and **Android (Java)**.
{%twitter 1153635120546492416 %}

In contrast to the golden age of playing with Atari ST, my current setup look more like this:
{%twitter 1157998275192066048 %}

#The people
Keep in mind that I have just recently joined this community and due to my current state of mind, I felt compelled to metaphorically *spill my guts out*. You can stop reading at any point if you find this post along the lines of boring and/or irrelevant or you're simply having enough of your own issues to listen to some random guy's spaghetti ramblings.

Anyway, what I wanted to talk about is my ever lasting problem, which is maintaining private relationships and having issues with self-esteem. During the last 8 years or so, I decided to try and build up a company of my own, a startup if you will, and see what becomes of if. I was expecting it would be a lot of work, long hours and ever lasting battle with other competitors on the market (Telecom related business). To cut the long story short, due to some wrong decisions and volatile relationship with my co-founder, everything ended in, well, a disaster.

The point I'm trying to make here is that the zeal that sparks the initial idea and usually sustains it for quite some time, can only be stretched so far. Once your enthusiasm starts to plummet, it feels like you're having withdrawal symptoms from coming of some imaginary high tech drug that kept you going for all those years. Only then, your vision becomes unclouded and masks come off. Unfortunately, this moment is also a herald of imminent out of control spiral that was probably over due, and just lurking and waiting to make its presence known.

In my bespoke opinion, it is the people that are the sole pillars of startups, not the fancy tech, products, programming languages, web sites, etc. I know that now and I also came to understand some terms like **not-invented-here** syndrome, **unicorn** developer, **team-work** and some new ones like **10xEngineer**. In retrospect, I seemed to have done everything opposite of what I should have done, working basically against myself, my well-being and have completely disregarded the consequences.

The damage is done and my life has been in turmoil ever since. Maybe I'm just a person with weak personality and hyper sensitive reactions, it's difficult to say. I am slowly accepting that categorizing my state as **burn-out** could be quite accurate. 


#The future
The moment we've all been waiting for, the ending of this nonsense. I have started working again on another project and have reached a point when I am again feeling that *burn-out* and can only stare at the screen hoping that it would somehow start writing the code itself. I am quite certain that all of this stems from the fact that during the last 8 years I got so used to working alone, sometimes 12 hours a day, that the very idea of joining a company and working in a team causes anxiety and deepens that feeling of incompetence and low self-esteem. 

The reason for posting this article is maybe my subconscious telling me to vent out and do something to facilitate the much needed change. I also wanted to share my jumbled up and hard to follow thoughts, and see if there are other people with similar experience or issues. I am not asking a *"there there"* speech or pep talk, just other people's experiences if they're willing to share.

Thank You for reading and if you managed to digest all of this, I applaud You.



####My favorite quote
>People talk about premonition as if it's something strange. It's not. It's just remembering in the wrong direction." --DoctorWho.