- Published on
How To Get Started With Programming
- Authors
- Name
- Jacob Toftgaard Rasmussen
So, you want to get into programming? Are you confused and unsure about where to start?
Don't worry, that's completely normal and to be expected actually, because the world of modern programming is a crazy place. A place where you can easily get lost if you are wondering into it on your own.
This blog post is intended to present the common options that you have for learning programming to help you make a decision for how you want to proceed. You will find a comparison between doing a university degree, doing a bootcamp, self teaching and learning with a mentor.
TLDR
Go to the bottom of the page to find a cost/benefit analysis as well as short and easy to follow guidelines for what path to choose.
Going to college / university
A typical way to get into programming is to take a formal education in computer science or programming from a university. It is a pretty safe choice in terms of what you learn and your job opportunities afterwards.
This kind of education is typically very theoretical and often involves mathematically heavy courses like linear algebra and programming specific courses like algorithms and data structures. Learning about these topics is a joy for some people, and for others it is a nightmare, it really depends on personal preferences and interests.
Is it possible to become a good programmer and work as a developer even though you are not drooling with excitement by the thought of studying these topics?
Yes it absolutely is! Even though these topics are important parts of software development it is not something that every developer works with on a daily basis. Some developers work heavily with theses topics because the kind of applications that they develop benefit a lot from optimizations in these areas. But many other developers don't have to deal with algorithms and data structures in their every day job, because the problems they are solving don't require them to do this kind of work.
Having a degree from a university can be a tremendous help when you are searching for a job afterwards because the degree serves as a quality stamp showing employers that you actually do have some knowledge about software development. After all, you will have spent at least 3 or 5 years in the field.
Some downsides to taking a degree through a university are the potential costs to pay for the degree as well as the fact that it will at least take 3 years and potentially 5 to complete it.
Bootcamps
Bootcamps are short and intensive programs that teach you practical and job-market specific topics. The great thing about bootcamps is that they usually target a specific domain. For example web development or data science. This narrowed curriculum helps you focus on the exact topics that interest you, so you don't have to spend time learning topics that don't really make sense for you.
Taking a bootcamp is often cheaper than doing a full university degree (this of course depends on where you live and what options are available to you), however they can still cost a substantial amount of money, ranging from 5K USD to 20K USD.
Some bootcamps also offer career guidance and job interview training which can be helpful afterwards when you are job hunting. Before joining a bootcamp make sure to thoroughly research what is included in the curriculum and what extra services the bootcamp offers you.
Some bootcamps take place physically in a class room setting and others can be done online. A possible benefit of doing a bootcamp is that you can study with other students who also want to learn to code so you can form study groups and help each other learn.
Bootcamps help you learn a specific skill in a shorter time span. Learning through a bootcamp as opposed to self teaching can save you time and frustration as you will receive guidance and help while you learn from experienced tutors. However, keep in mind that doing a 4 month boot camp cannot compare to a full 5 year university degree. There is a reason for why the university degree takes 5 years - there is a lot to learn!
Self teaching
If it doesn't suit your current life situation to do either a university degree or a bootcamp then self teaching could be an option for you. Everything you might want to learn about programming can be found online through various resources. Most of the resources you can access completely for free. That's perfect if you are on a tight budget. Another benefit to self teaching is that you can plan and schedule your learning to fit your lifestyle. Many self learners keep their existing full time job and study programming on their own time in the evening and on weekends.
This all sounds great, minimum cost and maximum flexibility! So what's the catch? Why doesn't everyone do this?
- Because it can be frustratingly difficult.
The modern programming landscape is so vast and there is a seemingly endless amount of topics to learn. Trying to navigate through all this information on your own can cost you incredible amounts of time, and potentially cause a lot of frustration. That of course does not sound very appealing. But even though it can be a tough process it can still be done and many developers have done it. Again, I would like to remind you that doing a formal university degree takes up to 5 years, so it should not come as a surprise that learning to code on your own also takes some time.
Does it have to take 5 years to learn on your own?
- No, not necessarily. A university degree involves a lot of topics and courses that are not strictly necessary for learning to code and work as a developer (depending on the kind of software you would like to develop). If you choose to learn on your own then you can skip the very theoretical topics and instead focus on learning practical skills (more employable skills).
How quickly can you become a programmer on your own then?
- Unfortunately, there is no straight answer to that. Some people have previously managed to do it in the span of 3 months. For others it might take 2 or 3 years. It all depends on how much time and effort you are able to and willing to invest into learning.
Learning with a mentor
A great addition to learning on your own is to get the help of a mentor. This learning approach can be seen a bit like a hybrid between bootcamps and self teaching. The advantage of having a mentor is that you can save a tremendous amount of time and frustration because the mentor will guide you and help you learn in the most optimal way. In cooperation with a mentor you can create a learning plan and map out all the topics that are relevant for you to learn in order to reach your programming goals.
Learning with a mentor can also be extremely flexible just like when you are learning on your own, and you can study on your own time and in a way that suits your life style.
Mentors will often be available to help you out via chat or email and also via online video calls. If you are able to find a mentor close to you then you might even be able to meet face to face to discuss questions and learning outcomes.
Learning with a mentor is of course not as cheap as studying completely on your own where you can potentially learn everything for free. However, being supported by a mentor can drastically reduce the time it takes to learn programming, as they can share their knowledge and know-how with you. If you are considering self-teaching you should also reflect on how much your time is worth, and if it would be beneficial for your to spend some money on a mentor in order to save a lot of time and frustration.
If you want to know more about learning with a mentor check out my mentoring program here: Coding mentorship
Cost / benefit summary
University
Plus | Minus |
---|---|
Safe in terms of job opportunities | Price |
Can be extremely interesting | Long time commitment / duration |
Teaches you theoretical topics | Theoretical topics can be tough |
Bootcamps
Plus | Minus |
---|---|
Very practically oriented (you learn useful skills) | Price (not as high as university though) |
Short time commitment / duration | Risk of having fewer job opportunities than with a degree |
Self teaching
Plus | Minus |
---|---|
Can be free or very cheap | Can be difficult because you are on your own |
It can fit your own schedule and learning style | You risk getting lost and wasting time |
You can focus on learning exactly the topics you are interested in | You risk having fewer job opportunities because you don't have proof of your skills |
Learning with a mentor
Plus | Minus |
---|---|
You can take advantage of the knowledge and know-how of an experienced developer | You risk having less job opportunities because you don't have proof of your skills |
Cheaper than bootcamps and university degrees | Not completely free |
It can fit your own schedule and learning style |
What should you choose then?
It of course depends on your personal situation, but when you consider the above information some general guidelines could be:
- Choose university if you have the time and financial opportunity to do so and you are interested in learning both theoretical and practical topics. This will also give you the best foundation for securing a job afterwards.
- Choose a bootcamp if your your time and or financial situation does not allow for a university degree, and you would like to have some structure and guidance so you don't have to study completely on your own. (Be prepared to also have to study some more on your own afterwards as well).
- Choose self teaching if you want to learn either completely for free or at a low cost. Or if your life situation does not allow you to follow a class or specific timeline.
- Choose to study with a mentor if you want the benefits of self teaching but without the frustration and wasted time.
Thank you for taking the time to read to the end
I hope you found the information in the post helpful, and if you have any questions feel free to reach out to me!