When I think back to my early days of learning how to code, I am amazed at how my life has turned out.
Not only did I manage to work for some wonderful companies and startups, but I now get to teach others how to code. I help students understand the simplicity and complexity of coding – even though I am self-taught myself!
Despite my unique coding education, I do have some regrets. There are a few things I wish I knew before I started on this journey. And I am going to tell you about them right now.
Learn How to Work With Others
When I first got into coding, the isolation and flexibility is what attracted me to the field. I was not enthusiastic about the prospect of working a typical office job, while I liked the idea of teaching myself a new skill on my own time.
What I did not realize is that even when I became a professional programmer, I needed to know how to work with others.
Sure, basic communication skills are needed in almost every field. But it goes beyond that.
Coders must know how to divide up a major project, especially when there is a deadline and multiple experts are meant to be working together.
It was a struggle for me, as my inclination was to try and do everything myself.
Go Beyond How Something Works
As I went deeper into coding, I came across so many different architectures and patterns. It is a common part of becoming a programmer.
When I discovered a pattern or architecture I did not fully understand, I would try to ignore them. And when it was not ignorable, I would just try to figure out how to use it within the goals I had set for myself.
But to become a great programmer is to understand how something works AND why it exists. The why is so important in coding.
It is why I always teach my students at a slower pace, breaking down every exercise into little parts. If there is an area that is confusing, the goal is to get a student to understand how and why an architecture or pattern exists.
Putting Myself Out There
Finding an initial position within programming was easier than I expected. I was good at what I did and I presented myself in the right way.
The issue lay in how to progress my career. I spent far too many years stuck, not moving up in the way that I wanted.
And most of it was down to my inability to put myself out there. I was bad at reaching out to other, better programmers I admired. I was equally bad at pushing for a raise or promotion where I worked.
I hope that newcomers to the programming world do not repeat my mistakes. It is why I always try to give my students a well-rounded look at the programming industry – beyond the basics of learning how to code!