Hindsight is 20/20, and it’s always easy to look back and think about what you’d do differently. If I can do anything, I’d love to help anyone learning to code by gently guiding them on a path to success.
I know everyone has their own style or way of doing things, and the idea anyone can follow your path and have the same results is silly. But many people can learn from others who’ve already experienced a path, so I often like to share my experiences for others to learn from.
Tech is one of those industries where many professionals have taken nontraditional routes.
Unlike becoming a doctor, accountant, or dentist, working in tech doesn’t require a special degree or specific field of concentration. Many people with different backgrounds have transitioned to careers in tech: From musicians to bankers to chefs to marketers, many people make the jump.
As the student-loan crisis continues to grow out of control and many people are considering alternative education routes, tech is one of those industries that’s pretty forgiving of your work history and background. Many major tech companies have dropped traditional and outdated hiring policies, such as drug testing, college degrees, or a certain GPA.
With that being said, one should not forgo the opportunity to be traditionally schooled with formal education at a highly regarded institution. Of course, everyone’s circumstances are different, but if you can afford a four-year degree, do it.
While many companies are lowering their barriers to entry, a four-year degree is still a major filter for recruiters and head hunters.
Just because it’s possible to land a career in tech without a concentration in computer science doesn’t mean it’s optimal or ideal. I was someone who never took school seriously, which, in turn, caused me to hop around from gig to gig until I landed my first real job in tech at 25 … and it was barely entry level.
That four years postgraduation possibly cost me hundreds of thousands of dollars in lost wages and compound interest. A four-year degree in a related concentration could have landed me in a better position right out of college to start my career way earlier.
I like telling people I graduated from YouTube University when they ask me how I learned how to code.
Of course, that’s a joke, but there’s some truth to how much I owe YouTube for providing so much free useful content for developers and coders.
A simple search can net you a long list of basic tutorials in any language for any framework: Cloud, systems, coding, design, project management, networking … anything can be found on YouTube.
Not only does YouTube have great content, but there are also many interactive learning environments online for free. Some of my favorites include:
As I just mentioned, anything can be found on YouTube, and there are some great free resources if you do some digging. But there also is a lot of junk out there. Perhaps *junk *isn’t the right word, so we’ll go with stale.
Nothing is worse than following a tutorial and only finding out several hours into it that the project requires an outdated or deprecated package or module. Paying for content with companies such as Teamtreehouse, Codecademy, or Linux Academy may seem counterintuitive (as I just said there are tons of free resources out there), but you can guarantee you’re getting updated and relevant content that stays up to date with current times and trends.
Paying $20-$30/month is a way to save you time, energy, and also keep your confidence up when learning to code — or learning any new skill, for that matter. Those initial first few weeks are crucial, and the last thing you need is to lose focus because of terrible audio quality or a horrible resolution on YouTube.
I’d avoid any large purchases of certification courses, tutors, or bootcamps, though. It’s one thing paying $25/month and another dropping $15k for a crash course on coding fundamentals that most likely won’t stick unless you already have a good grasp of computing basics.
Programming itself is just a concept. When you look at it in simplistic terms, you’re telling a computer to do a number of tasks via commands. You can tell a computer to do something a number of times, and for the most part, once you learn the fundamentals of code, it should look rather similar in any modern popular object-oriented language.
If you haven’t noticed yet, I like contradicting myself. Learning to code should be language agnostic, but as you find your niche or specialty, you’re going to want to pick a language that’s popular in the industry or field you’re looking to work in.
As a cloud-security engineer, I learned how to code using Bash and found myself learning Python due to all the security and infrastructure tools for cloud environments being built in Python.
Clearly, learning to code is much more intuitive in other languages than shell, but considering my background in systems administration, shell was just the go-to for many of us in IT.
A variable is a variable, and a loop is a loop. It doesn’t matter if it’s Ruby, Python, or PHP, but it helps in the long run to know your field’s dedicated language.
Everyone's journey is unique in their own way. I didn’t take the traditional schooling route and taught myself how to code and climbed the usual tech career ladder. Others have gone to school for computer science and landed jobs right out of college at Google and Facebook. There is absolutely no doubt that some may have an easier path than others, but whether that’s a privilege, economics, or perseverance is another topic entirely.
If there’s anything I hope you can take from this it’s every point has a counterpoint. Every claim has someone else pointing out exceptions to the rule. Find what path fits your lifestyle, and run with it.