The State of Mind (3 Part Series)
NOTE: This article has been superseded by the following one, which was originally published on Soshace's blog.
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.
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.
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:
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 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.
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, 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 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).
Damir Franusic@vimmer9My #failed #Android and #React project for monitoring your health, weight, glucose, etc. Backend done in #php and #mysql, didn't want to be a #fullstack facilitator 😁. I am posting it here to remind myself that sometimes, life has different plans for you.11:57 AM - 23 Jul 2019
In contrast to the golden age of playing with Atari ST, my current setup look more like this:
Damir Franusic@vimmer9@nixcraft Each screen has at least 10 terminal tabs12:54 PM - 04 Aug 2019
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 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.
People talk about premonition as if it's something strange. It's not. It's just remembering in the wrong direction." --DoctorWho.
Soft skills are as critical as technical skills for a software engineer. No one works in isolation. Each person has to deal with teammates, colleagues, managers, etc. Therefore team interpersonal skills are essential too. Soft skills include things like good communication, honesty, teamwork, integrity, organization, empathy, etc.