Retooling & searching for the joy of coding again (full)

I did not graduate with a CS major. I graduated with a
Business Administration with an emphasis in Computer Information Systems. Programming is my passion & I love the field that I’m in. However, I did not know back in my college days what I was going to do. In speaking with my family now, they all have said it was obvious that I was going to do something with computers. Although my major didn’t surprise them at all, but none of us (including myself) knew exactly where it would lead.

College was not great for me. I was a lousy student & I really didn’t like my major. I found most of my courses extremely boring which explains why I was always distracted & quiet frankly hated being there.  There were only a handful of courses in college that actually kept my attention. 

My favorite course was American History, which included a ton of reading.  I’m guessing I enjoyed history because I knew of the events already & I was diving deeper into those very interesting events.  

My next favorite course was Business Finance.  I just happened to be working at a call center that supported the HP Business Calculators about a semester before I took my Business Finance course.  At this job, I had to learn a lot of different financial based calculations that the calculator supported.   I spent a lot of time with lawyers & financial advisors that relied on these calculators to calculate ROI, Amortization, Interest etc.  By the time I took the finance class, I knew how to do all of those calculations already, so it was really easy for me.  

My other favorite course was Business Management.  It was an entry level course.  I think this was a case of just having a really good professor.  He made the topic interesting, straight forward & logical.  It probably defines how I think of management & why I think most managers over complicate everything (but I digress, as this isn’t the topic of this post). 

If I would have known then what I know now…  I probably would have majored in Finance with a minor in History (or vice versa).  But that would have altered my life greatly & probably not for the better.

Since I really didn’t like my college courses (or learning in general), I thought when I graduated I would be done with learning.  Boy was I in for a rude awakening…

As a developer you are locked into a life time of learning. There is no escaping it. If you want to be good at this craft, then you have to learn. You can’t rest on your laurels, things are always changing. So you always need to keep up by learning & exploring.

I find it VERY ironic, that for someone that does not enjoy learning to be in a career where one HAS TO constantly learn… Maybe it says something about me, that I’ve stuck with it for as long as I have (but this post isn’t about that either).

RETOOLING:

So far, there have been two times in my career when I’ve had to retool. The first time happened when I was a new user to StackOverflow & jQuery was version 1.5ish (about 9 years ago). I was shocked by what was going on with this JavaScript framework & in awe of what JavaScript could make the browsers do!

I started out as a classic ASP developer (technically I was 1st a VB5/6 developer, but that is a minor detail just to highlight how long I’ve been doing this), then I switched to a .NET WinForms developer (VB.Net). But jQuery changed all the rules & I loved what could be done now in the browsers without having to use super verbose code (document.getElementById) & the EVAL statement – YUCK!.

So I retooled, I had started working on GodSurfer which was a new site that I had developed using php & jQuery. GodSurfer was my proving grounds, it was very important for me with this retooling.

I eventually changed jobs to become a web developer using .NET WebForms (C#) & jQuery. I felt fairly proficient at it and because of my personal website that I was doing on my own, which gave me a feeling of being satisfied (which in hindsight a very dangerous feeling). Due to that bit of retooling, (because I was fairly early in the adoption) I could find any job I wanted using jQuery. C#, & SQL for the next 5-8 years.

The second time I realized I had to retool was last spring/summer (2018). I found myself possibly looking for a new gig, & I found myself not knowing any of the new JavaScript frameworks, toolsets, & verbiage! I was now an antiquated developer that only had skills in C# and SQL. I could no longer call myself a full stack developer because the landscape had changed so drastically. I was devastated! I couldn’t believe that it had happened to me again.

Just like when jQuery was new, I needed to retool again. Except now I’m over 40 years old, I had no personal website & I was beginning to wonder if I even wanted to continue learning yet another language, toolsets & style.

Sigh… Last summer, I was doing a lot of sighing. I was in a comfortable job, but was feeling underpaid & a little disrespected. See I was doing a lot on my team. Some said I was holding my team together. I was working nights & weekends as well as a multitude of other things. Such as building utilities, creating documentation for processes as well as mentoring other team mates. I liked my job. I even liked doing all the other things. I just wanted to be recognized for it. However, the company was having none of it.

I put my resume out there like I always had. I got a ton of phone calls. There were a lot of interesting jobs. But the market had changed in Denver. The job interviews were very technical & very cold. I was questioned by recruiters about what I knew & didn’t know. They questioned my pay scale & made me question if I was worth that pay. There was something different about this job search than the others in the past.

There was also a question in my mind of whether I really wanted to find another job. There is a significant mental difference between wanting to find a new job because “I’m looking for X”, verses “I’m looking for a job, but I really don’t want to, but I have to because I feel disrespected…”. I might write about that eventually, but for now, those interviews that I went on, didn’t go all that well…

I went on 5 interviews. I failed them all. I knew I needed to step back when one of the interviewers asked me: “Do you still code?” Game Over… I was done interviewing, & I was totally devastated.

What the hell am I going to do? – is all I kept asking myself. I thought about going into management. Maybe the company I was with would have an opportunity later, but someone would have to retire or die to move up the food chain, & I wasn’t sure if I would even be in the running. I thought about doing another round of interviewing as a management candidate, but I have no experience! How was that going to work?

When I was a kid, I played instruments. I played the trumpet starting in elementary school all the way through High School. In fact, I was going to go to college for music. I also played the piano for about 6 years. I enjoyed marching band in school, but I HATED playing the piano. I remember my Dad telling me I should just start playing music by ear. That was such a foreign concept for me. For me, the ONLY way to play music was by sheet music. Learning the notes, the rhythms & practice. Lots & lots of practice.

During my Junior & Senior year in High School, I got a new piano tutor. I think she was a college student. She could tell, I was not enjoying playing. I remember her asking me why. I told her that none of the music was interesting for me. She took me into the adjoining music store & we picked out a movie & TV themes music book. I remember learning & playing the theme songs to many TV shows with my final piece that I have ever played being the theme from the Peanuts (Linus & Lucy). This piece of music was probably the most complicated piece I have ever learned, but I loved learning it & mastering it. I had found enjoyment in the music finally.

I remembered that time period when I was asking myself, what I was going to do. It was just too easy for me to say, “I’ll just find something fun!”. If it were that easy, wouldn’t I have done that already? Plus, I wasn’t sure if I could find the joy in coding any more. This thought, really scared me. I’ve always had joy in coding. I always told people that I got lucky in my career because my job is my hobby. If there was no joy left, then there was no hobby. I was totally screwed if that were true…

During the early summer, I told my boss that there was something called vue.js that looked really interesting. I remember the next day we had a meeting with other colleagues & they happened to say that they were just starting to use vue as well. That day my boss told me to look into it more.

Vue was very easy to learn, as well as it being the gateway for concepts like: templates, components, state management, cli, webpack etc.

All of the above concepts are what the other frameworks & libraries were using (Angular & React.js). Thankfully this was the case for me, as I had no idea what a CLI was, or templating or State Management was & I didn’t know GIT. All I knew was jQuery.

I decided to rewrite a MVC 5 page that didn’t use ANY JavaScript. This was an Admin page, so very little people use it. This page had an index, edit, & a delete page associated to it. It took me 2 days to make that page into its on Single Page Application in vue. I remember being flabbergasted at how easy that was to do. I also remember this feeling of joy. So much so, that I re-wrote another 5 pages into vue over the next month (which I worked on nights & weekends). I was having fun again.

Once I realized what was happening, I told my buddy that I was going to rewrite my abandoned applications from my Windows Phone days into all the new JavaScript frameworks. I knew I still had a ton to learn, but for some reason, this seemed like a good idea & oddly a fun one.

So I got started that next weekend. However, being 40+ now, there were no more late nights until 2AM or multiple nights in a row coding. I figured if I could do 2ish hours a week that eventually it would add up. Also life also interrupted my plans. My youngest went to college so family priorities prevented me from sitting at the computer as there was no extra free time. That didn’t deter me though. I coded when I could, & didn’t stress when I couldn’t. Pretty soon, I was investigating & using the newest version of the vue CLI. Then I hooked up Visual Studio Code to my GitHub repository. I found a couple of examples of what templates were & started to use them. I even found vuex (state management) after a few months of working on my application (which I now have to refactor my application to use fully).

Unfortunately, I’m not quiet done yet with my application, as I had forgotten how hard it actually is to deploy a web app. There is so much testing to do. I’m also fighting to incredible urge to refactor everything! The point though, is that I’m all of a sudden a lot more knowledgeable about this new JavaScript landscape then I was during the summer. Vue made it fun to code again.

I think it is safe to say that I’m back as far as being a coder again! It is almost like vue threw a bunch of new wood on the fire that burns for me with coding. I’ve found the joy again, & I’ve recommitted to my passion! I’m more motivated than ever to try to understand JavaScript & coding in general. It is becoming more important to me now to understand the concepts that I don’t necessarily use all the time. I find myself going back to the basics & making sure I understand everything (or as much as I can). Even though I’ve decided not to get off of the technology bullet train, I realize I have a TON of work yet to do. Angular & React is my next target.

I feel like I should fill you in on what happened with my job since the early summer of last year.  Eventually, my company gave me a small compensation package.  I never thought I was that underpaid.  I really just wanted them to show a little gratitude for the job I was doing.  So this small token did just that.  Then later in the summer they sent me to Germany to train users on the application that I was maintaining and supporting.  That was a great honor for me.  That trip was great.  It was one that I will remember for a long time.  Plus, I got to experience Oktoberfest while I was there.  Just before I left for Germany in September, an opportunity opened up on a new team.  I applied for that position & I got that position!  The new team was working on a new application that is more of an internal application using Angular & .NET Core.  I started on my new team this year!  I’m good right now with the company I’m at.  I’m hopeful that my relationship with this company lasts several more years in the future.  

Leave a Reply

Your email address will not be published. Required fields are marked *