❯ ruby -e 'puts "Hello World!"'
Hello World!
The beginning
My first memories of computers go back to the 80s.
Playing the Barbarian: The Ultimate Warrior on Commodore 64 and watching the WWF Superstars at my cousin’s flat, and begging my parents to let me sleep over for more fun on Commodore 64 in the morning, when everyone is still sleeping.
The longing
The war came to my country in the early 90s, and computers would almost vanish from my mind. Who has time for a computer when you are learning all about bullets, grenades, and counting seconds after shelling to figure out where it will hit and in what time?
I would not have thought of them if it were not for one Atari, conveniently displayed in a shop close to my building.
Every day, on my way back from school, I’d stop in front of a glass, and look at that machine, put up for sale among other things that looked more like a garage sale than a shop, and imagine the day I’d have one.
The uplift
Fast forward to early ‘96, and I’d borrow my father’s office keys, located in the part of the city that was no joke to visit at night. Yeah, I was 14, and I just discovered how to play some games (SimCity 2000, Settlers, Jazz Jackrabbit, and Vikings) on a wonderful Pentium I 133 MHz, and later that year, I took a course to learn DOS and Windows 95.
You don’t know what is fun unless you downloaded stuff from BBSs and made a office-phone bill go through the roof. (“My father was not pleased.” is a nice way to put it.)
Year 1
90s passed, and on a brink of millenium, in the year ‘99, I got my first computer! I still remember the name of a company that sold it: Ingel. A Pentium III 550MHz and a graphics card with millions of psychedelic colors (yeah, a Hackers reference!).
Now experienced LAN party-goer and mIRC-er, I’d spend a lot of time learning some advanced stuff, bots, HTML, email addresses, Java applets, networking, and games, and learning about Linux. The first Linux I installed was Red Hat 5.1 and 5.2. Except for how to install it and set some basic stuff, I didn’t know much, but the first code started to appear.
Creating a website was a big deal. Having animations on it was even bigger.
I paid homage to Deep Purple and Rainbow, and virtuoso Ritchie Blackmore, by building a fan website on GeoCities.
(PS. I still remember the full dial of my US Robotics 56k modem by heart.)
Lost & Found
In 2001, I started studying Electrical Engineering (and Computer Science), for the wrong reasons (game programming) but for the right outcomes (I am an engineer now!).
First year’s programming language, C. We booted VAX terminals (yes, you heard that right) and then authenticated so that we could type in some C instructions.
Then followed C++, MATLAB, Java, etc. All fantastic programming languages that I hated. They looked more like something pulled out of the computer and less like something I’d like to use personally.
I was ready to give up on programming and started thinking of going into networking. I even went through CISCO CCNA.
But in 2006, I knew I wanted to be a “web engineer”, and I just weighed in my options.
Ruby discovered
Finally, in 2007, someone mentioned Ruby, and I was intrigued by the name. Found a book, Learn to Program by Chris Pine. And ever since, it has become the only programming language I wanted to use.
Because Ruby was what I wanted.
A darn thing I can understand, because it reads just like a normal language. It was an immediate connection, a proper plug’n’play. It helped me understand the OOP concepts I struggled with in C++ and Java. It helped me to love programming.
Lost & Found (again)
And yet, I didn’t do much with it, because life took me on a different journey, literally! (This is another story, for another post.)
In 2010, I made my first sale with a plain HTML and JS website, sold to a company that has long since gone out of business. (It was not Mr. Robot!) I rewarded myself with a brand new Samsung Galaxy S1!
When I learned that Ruby had a web framework, Ruby on Rails, which I could learn and build my ideas, I was completely sold.
I tried to make my first $1 online, and I failed spectacularly!
My country just did not have the tools to let me live like a normal Western entrepreneur. Yeah, Stripe still does not work here. But what my country did teach me was to be resourceful, resilient, to adapt fast, and to find a way to achieve what I wanted.
I’ve let everything go, and I’ve tried different industries before I got back into programming.
I did a few part-time jobs, fixed broken and flashed bricked Androids (early HTCs and Samsungs), sold refurbished ones, and then I did some dropshipping via eBay. I tried what I could to start an online or any business.
Graduation
Have I mentioned that I finally graduated in 2014? Yeah, studying from 2001 through 2014 doesn’t sound good. Yet, somehow, this was standardized by students in my country. Bologna Process caught me, as I was working and studying since 2007.
Instead of 5-7 courses per year, I had 12-14 courses, and since I campaigned between work and studying, it took a while to get back into it, work through the new material and processes, and finally graduate as an MEng. Electrical Engineer (The number of the courses was larger than that of a Bachelor’s, but less than that of a Master’s, go figure!)
Only Ruby on Rails
In the first 2 years after graduation, I worked with whatever language I could (C# at first). Below, you can see the type of issues I was dealing with at a time on DBA StackExchange.
And finally, in March 2016, I wrote this in my sketchbook: ONLY Ruby on Rails, I didn’t want to spend time on anything else.
That year, I made my first Ruby on Rails project - GMailbox, a job application, by making a Gmail lookalike app with Ruby on Rails 5 + SQLite, using UJS + jQuery, and deployed to Heroku.
I got the job, but sadly, the priorities changed and I ended up working with EmberJS most of the time. (So not ONLY Ruby on Rails, as I planned.)
Currently, the GMailbox project is on Ruby on Rails 7.1, Ruby 3.3.5, and deployed to Hetzner. Imagine, an application made with no AI! (Of course I used AI to upgrade Rails versions, lol)
It is accessible from https://mailbox.zlatkocodes.com/. Log in with Google, send me a message (use zlatko[dot]alomerovic[at]gmail[dot]com) and I will reply!
It still has old styles, and old code I made 10 years ago. (Same bugs, too, ha!)
I have big plans for this project, stay tuned!
Ruby Digital Nomad
Right about that year, I heard the term “digital nomad” for the first time. Independent solopreneurs, entrepreneurs, engineers, indie hackers, and bootstrapped startups. Work from anywhere, travel the world. Where do I sign?
At the end of 2016, I started a gig with a guy from Portugal (Hey T!). Now, a good friend and someone I look up to when it comes to building businesses with Rails.
My first ever (ONLY) Ruby on Rails job! What a time to be alive!
Work with others followed. Small startups, enterprises, SMBs, you name it. Wherever Rails was used, I would see if there was some work for me. (My career progress post is on the way!)
Ruby and Rails consulting
Fast forward to the present moment, and Ruby and Rails are what I do for a living. Bread and butter, honey and milk.
Even in harshest of times to get a job (during the COVID-19 pandemic, ongoing wars, genocides, world economic crisis), I managed to find a Ruby on Rails job! Ruby keeps giving, and I enjoy it.
Nowadays, I do more consulting and coaching as an engineering manager in SMBs and large enterprises, or as a fractional CTO at early-stage startups. I am also taking a part in AI revolution, and I have big plans for Ruby in it! (Stay tuned!)
During all this time, I learned that simple is easy, and easy is beautiful, so now I teach others to approach their work from the easy side, help companies optimize their engineering processes, and coach their engineers on how to KISS with Ruby on Rails.
So, yeah, Ruby changed my life for the better, and I hope that my experience and skills shared on this blog will change someone else’s life for the better, too.
See you in the terminal!
Zlatko -.