The State of Mind (3 Part Series)
Originally published at blog.soshace.com on Aug 09, 2019 ・8 min read
My name is Damir, Croatian born and raised, currently living in Zagreb. 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 the pinnacle of engineering was this:
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.
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. 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 Shoot-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.
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. I spent quite some time doing all sorts of useful and useless coding to build up experience and when I landed my 3rd job, half of the 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 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:
- Nvidia CUDA
- eBPF (C with restrictions)
- HTML/CSS (no scripting)
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).
In contrast to the golden age of playing with Atari ST, my current setup look more like this (stepped over to the dark side):
One of my ever lasting problems 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 relationships between people I trusted, 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 have 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.
WFH is an acronym for Working From Home (totally invented by yours truly)
Software developers and people in IT industry seem to be obsessed with
WFH, the modern phenomenon made possible by advances in communication technologies. I have read an article the other day, stating that a person experiencing remote work for even a small amount of time, tends to look back at regular office work with disdain.
I disagree with this statement, not by saying that it's statistically inaccurate, but trying to point out that it's unhealthy. Humans are social animals and don't work in a binary 0 || 1 way; we should all abide by the inherent balance our lives so desperately desire, that grey area between 0 and 1.
When someone uses the term "working from home", it usually creates a mental image of something along the lines of this:
Maybe there are fortunate ones whose jobs really are a picture perfect postcard, but for the rest of us who experienced the dreadful WFH, it usually boils down to this:
I am no spring chicken, in a manner so speaking, and time really is relative as it seems to be speeding up 🤔. I am almost 38 and will probably never disembark the coding train.
There is an observable tendency in the coding community to strive for management positions; some see it as a wage increase opportunity, while others just realize that coding is not for them, and can't see themselves engaged in that sort of work in years to come.
Age is not an issue at all but there are some inevitable changes that everyone will have to come to terms with.
- You will need to get more rest
- Exercise should be much higher on your TODO list
- Don't take it too seriously when younger developers don't agree with you just because they are obsessed with some latest framework, let them play with their toys
Exercise is vital, whether it's jogging, walking, running, hitting the gym or anything that will get you out of the chair. Personally, I opted for Yoga (the physical sweaty part). That's me and my little helper, trying to stay fit:
Everyone tries to keep up with latest developments in IT sector as much as humanly possible, but due to exponential increase in the frequency of these changes, you need the capacity of a super human to be able to follow.
I would like to conclude this section by recommending the older developers to stick to what they know and even try to perfect it. I am doing the same, and even though the preconceived notion of companies hiring only web proficient developers is somewhat true, there is plenty of work for developers working with low level languages like C and VHDL, just to name a few.
Maybe I'm lucky, but every time I disclose my love for C and low level programming, I somehow get offered a job. Oh, one more thing. When I said earlier to stick to what you know, I didn't mean to do it exclusively. It is a good idea to devote some time to learning new web technologies just to stay in the loop, not to become an expert or anything. Although, maybe there are cases of 40 year old developers becoming experts in bleeding edge technologies; maybe they needed a challenge, a change, who knows, it is not unheard of.
Experience will always be valued, and every company needs both younger less experienced developers who get less fatigued by working long hours, and older more experienced ones who, like it or not, have some age induced limits.
I have worked from home for the last 8 years, and at first I thought it was awesome, but I have eventually developed social anxiety and myriad of other issues. Having a place of work, being surrounded by actual people and not exclusively using Slack or some other chat tool is essential, in my humble opinion. I am currently unemployed, still working from home without my pants and confirming the stereotype.
After careful consideration and being advised by professionals, my conclusion is this: the best setup for a software developer or anyone spending most of their time in front of the screen is to balance the office and WFH, and strive for the 50/50 ratio. This might not work for everybody, but it's something to contemplate about.
My story is not unique. I'm sure there's plenty of similar ones, and one of the reasons that sparked this article is my desire to share the experience, and convey my thoughts to people in similar positions. Being an introvert myself, writing comes more naturally to me than verbal communication. The quest I'm currently embarking on is the one of self reflection and self-criticism; I am trying to get out of my comfort zone and accept a job position which would force me to socialize with real humans, and spend some time in an actual office. I was also given an option to work from home or organize my place of work to my liking. Difficult as it already is, I am not going down the path of 100% WFH, so I will try starting with 3 days in the office and 2 days at home, but honestly, I don't know what to expect.
Thank You for reading this article. Writing also serves a purpose of being a stress mitigation activity; I've just discovered this now in my 30s and am immensely grateful for the realization that there is one more activity which efficiently stimulates my brain to reward me with dopamine rush, resulting in a sense of fulfillment.