Do what you enjoy and the rest will follow

One persons journey into programming

Learn to code. Don’t learn to code. Become a data analyst. Don’t become a data analyst. Eat this. Don’t eat that. We see headlines like this every single day. Each story lays out advantages and disadvantages. Just like everything in the world there are pros and cons to each path. Learning to code or becoming a data analyst is not a silver bullet and if you think either are you are fooling yourself.

Doing something like coding or analyzing data because it pays well or everyone else is doing, or someone on the internet said everyone should leave you with a very sour feeling. Doing something like coding or analyzing data because you feel passionate about it because you can’t wait to figure out why something done one way or another is why you should be learning to code or becoming a data analyst. What follows is just a small snippet of my continuing personal journey to learn to program.

I embarked on the voyage because things aligned for me. As a Quality Assurance Analyst, I figured out I would not have something to test for awhile. I like the company I’m at, and I don’t want to leave or have the door shown to me. One of the only ways I could see for me provide value was to chip in where help was needed. In this case, it was coding. We’re not talking HTML or CSS (well CSS isn’t the best example because we don’t see eye to eye) though there is that component now. We’re talking Scala, C#, and SQL. When I say, I embarked it was more like I said the stuff we are trying to accomplish looks effing cool and I want to contribute!

So in November or December of 2015 I started to learn on the job. I was lucky also to have access to pluralsight and a team of coworkers willing to nurture this new fire within. Without their willingness to listen to all the questions I’ve had and provide thoughtful answers and feedback I would not be writing about programming like I am today. In fact, I bet it would have ended like my other attempts at learning to code where I give up in those dark depths of despair you reach after the initial high. I would dissect what they were writing and try to understand it as fully as I could all the while taking pluralsight course after course and reading book after book on a language. If I didn’t get something I would ask questions till I understood it, sometimes multiple time. Sure I felt and still feel like sometimes the questions were very basic and elementary however the only way I was going to figure this out was by understanding and doing.

I started by mimicking what others had done already in a different section of the application, and I still do it to this day. If there aren’t internal examples of how people have done something, then there are obvious examples which are similar on StackOverflow or within the APIs documentation itself. For me though I needed to understand it before I felt comfortable with what I was committing.

Checking my work into the company GIT repo opened my code up to code reviews for the first time. I was very nervous about sharing my work because I didn’t know what type of feedback I might receive. I wasn’t sure I had made a mess of things even though it compiled and worked as intended. As you can guess at this point, the feedback I received was constructive. It made me think about what I was writing. It forced me to understand what I had written by explaining it to others.

I went about learning to program all wrong some would say. I was looking at and writing Scala, C#, TypeScript, and SQL code just to name a few at nearly the same time. On any given day I could find myself start out writing TypeScript and end the day writing C# and Scala. Differences in syntax would routinely trip me up because of this. Many would say stick with one language and learn it thoroughly, and they are correct I suspect. Would it be easier if I stuck with just JavaScript or Scala, or C# for a while, sure; however I wanted to contribute to the team, and I wanted to help where it was needed so I went wide very wide.

I’m most definitely in the depth of despair when it comes to programming, but I’m happily there learning my butt off and getting challenged daily.