Want to work in tech but not sure where to start?
Whether you want to become a Software Engineer or the founder of your own startup, there are several paths into the tech industry. However, the wealth of options can quickly feel overwhelming.
Get started
The most common paths to learn Computer Science
University
A Computer Science degree is the best option if you are interested in gaining a deep understanding of how computers work. However, most Computer Science degrees include extensive complimentary education and are not a requirement to become a Software Engineer. In fact, more than half of US-based Software Engineers do not have a formal Computer Science education.
Good option if:
✔ You want to have a comprehensive understanding of the scientific field of computing.
✔ You are interested in further education and/or a career in deep-tech (e.g. advanced electronics or quantum computing).
Not a good fit if:
❌ You do not want to spend three to five years in full-time education.
❌ University fees in your area are not accessible.
Coding Bootcamp
Bootcamps offer intensive teaching over the course of a few weeks or months. This is a compelling option for anyone looking to quickly learn the basics, but provides limited education in the fundamentals of Computer Science. Bootcamps don‘t often teach the infrastructure needed to publish a project or deploy code. Prices vary by company and location, but generally cost upwards of $8,000 USD.
Good option if:
✔ You are in a hurry, and want to quickly start writing code.
✔ You have a clear and specific goal in mind (e.g. starting a new job that requires knowledge of a specific language).
Not a good fit if:
❌ You will be involved in complex projects, deploying code, or using more than a single language.
❌ You want or need a wider understanding of Computer Science.
Self-learning
Teaching yourself Computer Science—either online or through academic texts—is usually the most affordable option. It‘s also a great way to customise your learning, and to focus on the areas that are most relevant or interesting to you. However, committing to learning Computer Science on your own is no small feat, and staying motivated can be a challenge. The lack of structure makes it difficult to determine what to learn and in which order.
Good option if:
✔ You are on a budget, or are looking for the best value-for-money.
✔ You need the flexibility to learn around other commitments.
✔ You would like the freedom to choose learning material that fits your particular situation.
Not a good fit if:
❌ Having a widely-recognised certificate or degree is a must for you (this might not be as crucial as you think! See here for an example).
About Indie Engineering
The Indie Engineering curriculum is a free online alternative to universities and coding bootcamps, aimed at addressing some major shortcomings of self-learning. Namely, it provides structure and a comprehensive path to learning the core skills needed to launch a career in the tech industry. We provide a recommended path, but you can follow the curriculum at your own pace and in whichever order works best for you.
Whether you want to get a job as a Software Engineer or start your own venture, you will need a complete toolset. The curriculum is designed to fulfil the requirements of an undergraduate Computer Science degree, excluding non-Computer Science modules. We also list additional resources to train career-specific skills (e.g. preparing for coding interviews).
All of the chosen courses are offered by top universities such as Harvard and MIT, or well-known organizations such as the Raspberry Pi Foundation. Completing all the courses should take approximately 2 years of part-time study, or 1 year full-time.
The material for nearly all the listed courses is available for free. However, you will often be able to pay a small fee to receive access to graded coursework and a certificate of completion. You might want to consider subscribing to Coursera Plus if certificates are important to you, since most courses in the curriculum are offered on Coursera.