The cycles of my professional life

When I started working at GitHub back in 2010, I moved away from a 12 year career in programming. I was going into technical support. I was the second support person at GitHub, and the first outside of the US.

IMG_9818.JPG

It wasn’t your typical support position. I was helping programmers and other GitHub users with Git related struggles, among other things. Often, I had to assess their workflow and suggest improvements. Other times, suggest completely new workflows. In most cases, their platform or language of choice played a role on the kind of advice I had to give.

You may say the position didn’t appear far away from the realm I used to be in. Yet, I wasn’t a full time programmer any more. Thus, I couldn’t keep up with the technology advancements for the past 10 years. At least not in the same way a full time programmer could.

Even more so because I never spent the 10000 hours on web development specifically. In 2010, I left a 12 year experience of desktop application development using Delphi and Oracle and later moving to C# .NET. I did some Ruby on Rails as a freelancer between that, but that was it. The world had started to move towards web technologies more and more, since I stopped programming as a full time job.

Nowadays, even desktop applications depend on web technologies most of the time. See Electron or React Native, for example.

After 4 years of technical support, I changed career paths and became a people manager. Still at GitHub, still in Support. I was good at it, and that kept me going. Because it’s not easy, believe me. And I would personally not continue down that path if I had received negative feedback. I even reached a director level. Life is an adventure, though. It can be unpredictable. Recently, I had to make a big decision and move from a director role to a principal engineer one. A role where I can write more code, and lead projects targeted on making Support lives’ easier.

As a principal engineer, I can catch up and close the gap. It’s not that I have ever forgotten how thrilled one can be building and fixing things. So, it can be fun.

It can be fun, but it’s hard. I remember my Delphi days. Everything was so easy. I knew every little standard library function. I knew the language by heart. I didn’t even need to open the docs to do something. I had reached that level of expertise building on that platform. Likewise with Oracle and PL/SQL.

Nowadays, things are not so easy for me. I had to spend a month reading articles, and a book to understand Docker, and why anyone would bother using it. Believe me, I asked why so many times. I still resist JavaScript, for example. Why would anyone enjoy coding with it? I still believe things have gone complex in the development ecosystem. More complex that they should have gone. I still try to find a niche that resembles my Delphi days.

I wasn’t sure if this is because I never kept up with the technology and platform shift (Desktop to Web). This must not be because I am old. Right? It must be because I haven’t kept up. Right?

Reading You got this. | Zeldman on Web & Interaction Design helped me get close to an answer.

I now understand that I may only remember the good things from 20 years ago. I may resist JavaScript, or find it ugly, because I don’t understand the web way as much as I once understood the desktop way. I am definitely biased. I am not saying you can’t write beautiful code in other languages. You certainly can. Some languages, though, have beauty in their DNA.

Biased or not, that’s why things like Phoenix LiveView or Tom Black — Ruby on WebAssembly excite me.

In a way, it’s as if I have skipped the dark ages of web development. A period where a million ways and approaches emerged, almost all based on JavaScript. Making people angry because of their complexity. And pushing some folks to say enough is enough and start working on alternatives that make ours lives easier. Rails was an oasis, but things went downhill from there. Single Page Applications, a new JS framework every month, dependency hell, microservices, serverless, you name it.

Before turning this into a rant though, I want to wrap things up.

Going back into being (mostly) a programmer again is not easy. It feels harder than I remember myself doing it 20 years ago. But Jeffrey nailed it in his blog post. One has to keep on trying until they make it.

I still insist there are things I can avoid. In the end, I want to use technology to make a living. Not use technology for the sake of using the latest buzz. I also want to have fun.

I have found a new love in Elixir, and I still build things using Ruby and Rails. These are the two areas I am focusing on, this moon.

Wish me luck.

3 thoughts on “The cycles of my professional life

  1. “I had to spend a month reading articles, and a book to understand Docker, and why anyone would bother using it.”
    I’m still struggling Petros!

    1. I actually understood it enough to decide not to use it for my next project LOL. At least not for starters.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s