Nick Janetakis is a developer, educator, and Docker Captain.
You can follow him on his blog, and Twitter. You can learn Docker with Nick here!
What’s your IT origin story? How long have you been in the field?
I’ve been a freelance web developer for about 20 years now and I got started with web development back in 1997.
Compared to nowadays, you could say I was a late bloomer when it came to using computers. I grew up in the 80s and 90s and back then it was pretty uncommon to have a computer unless your parents were into that sort of thing and mine were not.
Although I do remember having a chance to play around with a Commodore 64 when I went to camp during the summer. I was probably around 8 or 9 years old. I can still remember playing Solomon’s Key and dying to dysentery in Oregon Trail.
Eventually we got a computer in 1996 and at the time I was using AOL because it was one of the only dial-up services that were available.
But to move on, programming for me started shortly after I started using AOL. At the time I was going to 2600 meetups in New York City with my friends. 2600 was a community driven magazine that covers topics such as hacking, telephone systems, social engineering and other things that could probably get you in a lot of trouble today.
We were making red boxes to make free payphone calls and were trading printouts of things like the Anarchist’s Cookbook. You know, typical teenager shenanigans.
At some point I was exposed to programs like AOHell which was a tool that modified your AOL client to allow you to do some pretty naughty things like kick other users offline, flood chat rooms and set up chat bots.
That was super interesting to me and the program just so happened to be written in Visual Basic 6 so I did whatever I could do to learn VB6 on my own. Back then there was no Google and it was pretty difficult to find learning resources.
Eventually I made my own chat bot and other script kiddie tools for AOL and other chat networks like the original plugin based Yahoo Chat if anyone remembers that one.
Around this time a couple of my friends and I discovered Geocities and for anyone who didn’t grow up during the internet stone ages, Geocities was one of the first sites that you could use to build and host your own custom website. It was way before MySpace.
Back then we created basic HTML sites that were loaded up with animated on construction signs, comic sans text, and midi background songs. My first page happened to play the Exorcist theme song in the background and I wrote about my favorite metal bands, computer programs I’ve written and linked back to my friends’ sites.
I even remember having this animated gif of a stickman peeing onto an internet explorer button. Back then all of the cool kids such as myself were using Netscape navigator. Oh yeah, there was a hit counter and guestbook too.
So that’s how I got into web development originally. I just wanted to make a personal website so I learned HTML. Shortly after that I was really into playing a specific video game called Quake 3. At the time, the game just came out and it was pretty popular.
After playing for a while I found a group of people to play with on a regular basis and we formed this thing called a Quake clan, which you can think of as a team.
We got pretty decent and were looking for places to compete against other Quake clans but couldn’t really find any good websites to do this on.
So one of my online Quake friends and I got together and talked about creating our own gaming ladder system. It would be a place where teams could schedule matches against each other and then rank everyone by their wins and losses.
We were still in high school and at the time he was getting into web programming for a school project and I also had a tiny bit of web design experience.
He ended up coding up the entire backend using ASP Classic and I focused on designing the site. Over the years we built up a pretty decent system. It had around 14,000 people signed up and hundreds of teams were playing against each other on a regular basis.
So that was my first real project when it came to web development.
From there I started doing Quake clan sites for other people just to build up a portfolio. It was pretty cool because I didn’t really need to market myself at all.
Everyone who played on the ladder knew that my friend and I created it, so I used to get people messaging me on IRC asking if I could do a site for them. Most of the sites I created were for free, but it was great for gaining experience and I had a blast doing it.
Eventually I got a few paying gigs and that’s when I realized “whoa, I can make money doing something I really love. That’s crazy!” and that’s how my freelance web development career started. At the time I was using ASP Classic and SQL server as my tech stack.
I put up a non-gaming website that explained what I did and then started reaching out to local business owners about creating websites for them. In the early 2000s everyone wanted a website. It didn’t matter what business they had.
I literally rode my bike around my neighborhood and cold called every business I came across. Funny enough, I still do similar tactics today and they still work. I don’t really cold call businesses anymore but I routinely put myself into positions to talk to business owners and then work in how I can help them grow their business without it coming off like a sales pitch.
Ok, this is starting to get pretty long and could go on forever, but I continued doing this for a number of years and through out a 5 or 6 year stretch I learned PHP and started using a typical LAMP stack to build a whole bunch of different sites.
I never used any type of PHP framework, but eventually I did start using WordPress and it really made things a lot easier to put together a basic brochure type of website. You know, the type of site where you’re just listing information about a company and maybe some blog posts.
As time moved on, I got into native Windows app development using C# and I picked that up because I wanted to create a tool that helped me in a golf video game that I used to play a lot. That app did all sorts of crazy stuff such as grabbing specific regions of the game screen and then re-drawing it into my app so I could analyze wind directions down to a half a degree so I could calculate hole in ones.
I developed that app on and off for about 2 years and only 1 other person and I used it. We kept it under the radar so the game’s anti-cheat software wouldn’t pick it up. I was still freelancing at the time but I only used my C# experience for personal side projects.
After that I got into Ruby on Rails and eventually Flask which is a web framework based on Python. That’s where I spent the majority of my time creating custom web applications for anyone interested in hiring me. I also created a ton of side projects just to learn those technologies and through out the process I also got a lot more familiar with the ops side of things.
Instead of just using shared hosting to host WordPress sites I began renting virtual private servers and learned more about Linux. Eventually that lead to learning Bash, Chef, Ansible, Docker and a bunch of other tools along the way.
And that’s kind of where we’re at now. I guess the common theme there is for just about everything I learned, there was a specific goal in mind. I almost never learn something new just for the sake of learning it.
What’s been the biggest change in IT since you started your career?
That’s a tough one because there’s been so many big changes, but if I had to narrow it down to just one thing I would have to say the web transforming from a fairly static magazine-like interface to where it’s at now.
Back in the day CSS didn’t even exist and we mostly developed websites for 1 specific resolution. Over time that number changed and 960 pixels was the norm for a number of years but fast forward to today and that’s a whole different story.
Now it’s expected your site looks good on a 4k monitor all the way down to a 5 year old smartphone with over 10x less resolution. Then on top of that, there’s a lot more browser and OS combinations to deal with.
I guess this is comparable to what it feels like to be a PC game developer. There’s just so many hardware and resolution combinations to account for. Compare that to a console game developer where the hardware is predefined. Now, I’m not a game developer so I don’t know if that’s exactly true but yeah, it’s definitely tougher nowadays to get a web app running well and looking super polished on 10 different devices.
Current worst trend in IT?
I’m probably going to get a lot of hate on this one but nowadays it seems like a lot of people are building document oriented websites that are just loaded up with megabytes upon megabytes of Javascript libraries.
It’s pretty ridiculous to me that you would want to serve 2 megs of Javascript and end up with a 4 second page load just to read a 2,000 word blog post.
I’m all for choice and people using the tools that they enjoy but I do think overall too many people are going all-in with Javascript and single page apps because they see everyone else doing it.
Current best trend in IT?
I’m going to have to go with containers — specifically Docker. I remember many years ago how hard it was to set up a proper Rails development environment and then I remember the pain I went through to deploy it.
This wasn’t limited to Rails either, it was a problem with every tech stack.
Nowadays, I have dozens of projects on my computer and it’s so easy to switch between versions of everything thanks to Docker. It’s also great for sharing code with others because instead of pointing someone to a 100 step readme file, I can just ask them to run 1 command and a few minutes later it’s all working.
I really do think Docker has changed the game for every day web development, especially for smaller teams and individuals where it’s common for you to play the role of both the developer and getting the site running in production.
Where do you see your field going in the next 3-5 years?
I really don’t think too much is going to change in 3-5 years. I still see myself using a combination of Rails, Flask, Phoenix, Docker and Ansible to do most of my web app development and deployment.
Right now Serverless is in its infancy and I think it’s a pretty terrible idea to use it in its current state for most web apps, and I almost listed Serverless as the worst current trend in IT but I backed out of that because I think in the really long term, let’s say 5+ years I could see the successor to today’s idea of Serverless becoming a main stream solution that works really well.
Currently Serverless is just too convoluted to use and it’s also pretty expensive for most typical web applications once you grow to a certain size. I’ve read countless stories where people used Serverless set ups in the beginning, saved some money but then once they grew, the costs snowballed out of control.
I also think a lot of people forget that Serverless isn’t just using something like AWS Lambda or Google functions. To get a typical web app up and running in a Serverless style, you’re going to need to tie in half a dozen or more other cloud vendor specific services to connect everything together.
You’re trading in potential initial cost savings for a ton of architectural complexity. I’ve also seen some really large Serverless based web apps running in production and to be honest I’m not impressed at all. Page load speeds are really high due to all of the network calls and waiting for all of these cloud vendor services to report back with their data.
Sorry, I didn’t plan to do a mini-rant there but I felt it was necessary to justify why I’m so against Serverless today. But on the bright side, I really appreciate what everyone is doing now in that space to pave the road forward.
Book recommendations for IT practitioners? What are you reading now?
I very rarely read technical books but some of my biggest break throughs in programming and technology has came from reading non-technical books.
One book that stands out is “Who Moved My Cheese” by Spencer Johnson. It’s a very short book but it covers how people react differently to changes in their environment. You can choose to ignore change and bury your head in the sand, or embrace the change while creating your own luck.
I think it very much applies to anyone in the tech industry and it’s easily my #1 book recommendation. Funny enough it was recommended to me by my Dentist.
Another really good one is “Mike Tyson’s Undisputed Truth” by Larry Sloman. I’m not really a fan of boxing but I am fan of life and man oh man, reading Mike’s stories about everything really makes you think twice about discipline and also puts some perspective on your own life.
Speaking of perspective, you really can’t go wrong with reading “On the Shortness of Life” by Seneca. Seneca was a Roman philosopher from about 2,000 years ago but everything he said still applies today.
When I read a book, I’m not so much looking for precise technical advice. I’m looking for general knowledge and insights that helps me in all aspects of my life because I’m 100% convinced that when you’re truly happy and at peace with yourself, you’re going to do your best work and be motivated to keep moving forward.
And really, that’s going to make you a better programmer, systems engineer, cloud architect, Dentist or whatever you’re interested in.
As for books I’m reading now. I just picked up “A Book of Five Rings” by Miyamoto Musashi. He was a famous Japanese swordsman from the 1600s and the book is all about his thought process on strategy, tactics and philosophy. I’m only about 10 pages deep but it’s shaping up to be a fantastic read.
First computer you owned.
I believe it was a Compaq Prolinea. I forgot the exact model number but I know it had a Pentium chip that ran at 75mhz and I’m pretty sure it had 8MB of RAM.
That was back in 1996 and I remember my mom got it for me for my birthday. I know that must have been really rough because they were expensive back then and she raised me as a single mom.
That was actually the only pre-built computer I ever owned. After that I always bought and built up my computers from individual components and I still do today. I still remember putting together my first computer which was based on a Cyrix 133mhz CPU.
What do you do when you’re not working in IT?
If I’m not working on side projects, freelancing or creating software development related video courses then I’m playing video games and listening to Swedish death metal. I’m really into music and casually play an electric guitar.
In between coding sessions I also like to walk a lot and try to stay in shape. I usually put in a solid 3-4 miles a day and mix things up with basic push ups and sit ups.
Other than that, I enjoy reading books, watching movies, and listening to standup comedy.
How do you caffeine?
The short answer is I don’t. I don’t go out of my way to avoid caffeine and I do consume some every once in a while but it’s not part of any routine. For example if I have some ice cream or chocolate once in a while, I’m sure that has some type of caffeine in it and I don’t mind.
But that also means I don’t drink coffee. I somehow went my entire life without ever trying it out and there’s no specific reason on that. I just never had an urge to drink it.
I used to drink a massive amount of Pepsi back in the day, but haven’t touched any type of soda in about 7 or 8 years except for a very occasional Ginger Ale.
If you’re wondering how I get up in the morning, it’s pretty easy honestly. I typically start my day with a big cup of water and that’s it. I’m 100% awake within 2 minutes of being up.
Sometimes I wonder if I’m missing out on the health benefits of coffee, but then again, those studies seem to change every few years.
Who do you want to see answer these questions?
I would be interested in reading these answers from anyone who attended Cloud Field Day 3 or Cloud Field Day 4. I’m using those events specifically because I happened to attend them myself so I got a chance to meet those people in person.
My thought process behind that is, if we’re together at those events then we likely share something in common, but at the same time, we’re also probably very different. I think I would learn a lot by reading what they had to say.
Plus, at this point I would consider them my friends and it’s always nice to read something about someone you can relate to, or you happen to know.
Any career advise you’d like to pass on to our readers?
I would say try to find what you really like to do and then do everything you can to make that a reality.
You could start by hand writing a few pages of what your ideal life would look like. For example, what do you want to do every day in the foreseeable future and why is it important to you? You don’t need to limit it to work either, and of course the more details you include the better it will be.
Then once you have that written out, start thinking of ways to put that plan into action.
Also, if you have no idea what you want to do, that’s ok or if it changes over time, that’s ok too. Just write something — if anything, write out the things you don’t want to do.
Lastly, once you start getting a little bit older you realize that you’re not the same person you were a few years ago, so it’s expected your mindset and goals will shift.
In other words, don’t feel like you’re trapped into a specific lifestyle forever just because you started out doing a certain thing. You’re living in the present and your current position will always change.