A friend asked "I have a friend who is interested in starting a career as a software developer. Where do they start?"

This is a great question and it is a great time to be asking it.

Old Man Voice: "Back in my day..."

When I got hooked on multimedia in the early 90s, there was literally no where for anyone to learn how to break in. Multimedia was being taught, but it was usually a single, advanced course at a college being taught by someone who had never worked in the field because the field was so new.

I literally had to steal computer time at a local college's computer lab and self-teach myself. I was young, inspired, and driven. And lucky and privileged. But I eventually got good enough to be hired as a contractor doing multimedia for IBM.

A Side Note on Privilege

Side Note

I am well aware of the privileges I have in my life. By writing my thoughts ⏤ on a computer I own, using software I own, over a stable internet connection, in my free time ⏤ on this topic, I am not ignoring that being able to be accepted and afford college is no small thing. Being in a situation where the time to attend a boot camp for three months is not a sacrifice everyone can make. Even the simple possession of an appropriately powerful computer and reliable internet connection is a privilege not everyone has.

There are a ton of free resources available. I am certain there are programs in your local area offering job training and access to computers in your community.

Dig hard to find these resources. Be determined. Seek out the advice and support of your family and friends. You can do this.

Today's Options for Getting Started

Today, you have many options for getting a career in software development depending on your situation; you can follow a traditional college or university approach, take the focused route of a boot camp, or for the strongly self-motivated there is always on-line courses available to get you there.

One thing to always remember about the Getting Started phase of becoming a coder: You are starting a long learning path. After completing any or all of the options cited in this post, you still have a lot to learn. The tech industry is ever-evolving and there is always something new to learn. When you start your first job, you will need to learn the ins-and-outs of that workplace. And when you change jobs. And when a tool you use daily gets new features. And when a new Web Standard is adopted. Your future is going to be a rollercoaster of personal and professional growth.

The Traditional Approach: University or College

Higher Education can be a good option for someone interested in a career in software development. The curriculum is often rigorous, cover subjects both widely and deeply, and allow for some exploration into the theoretical. And there is a lot to say for the opportunity to gain a broader education while attending.

But, it can be difficult and expensive to enroll in and attend a college. Community College can be a less expensive alternative, but the time factor may of getting a college education can also be unattractive: do you have the two to four years to get a degree and find a job?

Pros & Cons: The Traditional Approach

[ + & - ] Pros & Cons

Pros: Tried and true, established curriculum, with a proven track record. Having college experience and a degree on your resume can always be helpful. Opportunity to explore many areas of study within the computer science field.

Cons: Can be expensive in terms of money and time. While the learnings are comprehensive, their application to the current job market may not be in sync.

Hit the Boot Camp

There has been a rise in the visibility and popularity in boot camps over the past decade. The courses tend to be very focused in content and time. The costs of these courses are, relative to college, less expensive, but these courses often require students to attend eight hours a day, five days a week, so having a full time job may not be possible.

At a boot camp, you can choose an area of study ⏤ for instance, Angular or React may be what you would like to learn ⏤ and over a span of weeks to months, the boot camp instructors will take you through a course. Course lengths and intensity can vary, and if you are the kind of person who has focus you can experience a massive learning growth spurt in a relatively short time. Most of the more popular boot camps have programs to assist you with getting a job in the software development field.

A strong word of caution: Do your homework! The quality and ethics of boot camps can vary from company to company. I have heard stories of fraud and misconduct. So, before approaching a boot camp with your interest in enrolling, make sure you do some investigation to see whether this boot camp is for you. Find out how much to boot camp costs (not just the sign-up fee and course fee), find out what services come with those fees, investigate their success rates (the percentage of people completing their courses, and how many of those people were placed in jobs), and try to find people who have completed their courses to listen to their experiences. Enroll into a boot camp with your eyes open so that you can take full advantage of the opportunity.

Pros & Cons: Boot Camp

[ + & - ] Pros & Cons

Pros: A very focused course of study in a relatively brief amount of time. Courses are often focused on modern subjects that can be applied to the current job market. Job placement services.

Cons: Exploration of what course of study you wish to take and an investigation of the boot camp itself is required. Attendance may interfere or prohibit a regular job. There may not be a suitable boot camp in your area. The reputation of the boot camp you attend may have an affect on your job prospects.

An Online School of Thought

When I was coming up in the tech industry we barely had internet access much less access to online learning from great resources like Egghead.io or Coursera. But my disadvantage no longer exists.

There are quite a few online learning companies with coding courses available today. Each course will have it's own style and content as provided by the instructor. Typically, these courses are self-paced and give enrollees the opportunity to learn in bite-sized chunks. You get to see people write code as they explain what is happening. It is really a great way to learn.

Online courses are typically affordable, and sometimes free. They can be purchased in single servings, or you can subscribe to all the courses being offered.

Pros & Cons: Online Courses

[ + & - ] Pros & Cons

Pros: Typically more affordable than college or boot camps. Often rock-solid content presented in an engaging manner. Very focused and on-topic.

Cons: Requires focus and a will to learn. Completing courses can give you the skills to do the work, but may not give you enough to get the job.

The DYI Approach

I didn't have anything like YouTube when I was trying to break into tech. Hell, we were lucky to get video to play on our single-speed CD-ROM drives. But here we are in the 21st century, living the tech life, using Do It Yourself style.

This is the most exciting options for getting started because you can start right now. Anyone with a computer and connection to the internet has access to a digital ton of learning opportunities on YouTube, content created by developers, often trying to elevate themselves in the tech industry. These videos can be anything from a ten minute video on how to set up your computer for coding, to hours-long workshops on learning a modern coding framework. Sessions from tech conferences are available. Playlists are available to get you started for any topic (not just programming). Here are a bunch of videos that came up when searching "getting started as a coder".

The consistency of the content can be a challenge. Even in a playlist of the same instructor can have quality struggles. Typically, you can tell whether an instructor is worth the time, but you may need to "kiss a lot of frogs to find a prince" to teach you what you wish to learn.

My advice? Find a video with a topic you are interested in and watch it. Don't try to keep up with coding in the content while the video is playing the first time through. Try to understand what the instructor is saying and get a feel for their style. Find out where this lesson is going and see how the instructor gets to that destination. If you feel like you can learn from that instructor, get your environment set up on your computer and restart the video. Follow along and code with the instructor. And don't get frustrated. Everything you are doing will be new to you. Have patience with yourself.

Pros & Cons: DYI Via YouTube

[ + & - ] Pros & Cons

Pros: Tons of free or ad supported content available in short and long forms. General and focused level of study. Instructors tend to be actual developers who work in the field you are wishing to enter. Content available that isn't available anywhere else.

Cons: Totally self-paced and self-guided, and therefore prone to unnecessary deep dives and decision impairing weighing of options. While using ratings and views as a guide can be helpful, the quality of the content can vary greatly between sources. The potential to find old and outdated content is high.

In Conclusion

There are many ways to get started as a coder in the tech industry. While college is an option, boot camps and online courses can be just as valid an approach. Finding content on the internet can also be a rewarding endeavor.

Whichever option you choose, you can get started today. Watch a few videos on YouTube to see if becoming a coder is right for you. Read articles and books to gain insights into the path at your feet.

I strongly encourage you to take action! Take control of your destiny and become who you wish to be.