I had once considered programming bootcamps to be the ultimate way to become a successful software developer - until I went to one.
Now don’t get me wrong, bootcamps are a great way to start your coding journey and prepare you for your first job in software development.
And joining a bootcamp myself gave me the opportunity to move from the department I was working at, to the software engineering department.
(For context, at the time, this was the easiest way to switch to a technical career within my workplace).
So I completed the bootcamp and had a great time there. But upon returning to my new role as a Junior Developer, I realised there were a few things I needed to know that I wasn’t taught during the bootcamp.
Here are 5 things they won’t teach you at a programming bootcamp:
#1 - Writing documentation ✍️
The ability to write effective documentation is a crucial aspect of software development. It not only helps other developers understand the code, but it also facilitates collaboration and communication within a development team.
Good documentation can also make it easier to maintain and update the code over time.
Bootcamps may mention this importance, but they won’t focus on documentation writing. They want you to be able to learn to build projects quickly, whereas documentation writing may take time.
So what can you do?
One way to learn how to write good documentation is by reading examples. Take the time to look at the README files on GitHub projects or from large open-source projects such as React.
And for your own projects, get used to writing documentation as you go along, such as user guides or debugging steps.
Doing this will put you on the right path to making sure your projects are easy to understand and maintainable.
#2 - The business side of software development 🗂
Understanding the business context in which software is developed, including the goals, constraints, and stakeholders involved in a project, is important but is not typically covered in bootcamps.
Although you may get some experience managing a project if you work on a team task during the bootcamp, this might not mirror a real-world business.
In a business, you will be part of a wider team where there will be many different stakeholders involved. These will be non-technical people to which you may have to explain your product to.
So what can you do?
In your projects, even if it’s only for yourself, try to think about and note down the problem that it solves.
If you had a customer, who would that person be and what needs would they require? Write down any goals you want it to achieve and limitations you can foresee.
If you can start thinking in a business context this will help prepare for what it could be like working as a software developer in a company.
#3 - Working in an Agile Environment 🔄
Similar to the last point, bootcamps won’t teach you how to work in an Agile Environment.
They may go over the basics of the software development lifecycle, and you may have to complete projects in a short space of time, but this will be far from the full process.
So what can you do?
Read resources to learn about Agile Methodologies, such as Scrum, Kanban, Extreme Programming (XP), etc.
Learn about the different phases of the software development lifecycle and which stakeholders fit into it. As when you join your first team you’ll know exactly who does what and where you fit in.
#4 - Workplace Culture 👥
In the software development industry, workplace culture can vary greatly from company to company, which is why you won’t learn about this in a bootcamp.
Workplace culture refers to the shared values, attitudes, standards, and beliefs that characterise an organisation and shape the behaviour of its employees.
Understanding the culture of a workplace is important for software developers, as it can greatly impact your job satisfaction and success.
A positive workplace culture can foster a supportive and productive work environment, while a negative culture can lead to low morale, high turnover, and decreased productivity.
So what can you do?
Before applying to a new job, take the time to research the workplace culture of the company. Seek out organisations whose culture aligns with your values and career goals.
In interviews, ask them about their culture and what support or resources they offer for learning and development.
You don’t have to take any job you are given, you want to be sure you are going to be in an environment where you will thrive and grow as a developer.
#5 - Advanced Topics 📖
Bootcamps typically cover only the basics of software development and do not delve into more advanced topics such as computer science theory, software architecture, and security practices.
Now, this makes sense as a typical bootcamp will only last about 12 weeks, so that’s not a lot of time to learn everything in the world of programming.
However, if you want to be a successful developer, then eventually having knowledge on advanced programming topics will be useful to enhance your career.
So what can you do?
Now, this is where I would usually say “read books on advanced topics” or “seek out online tutorials”, however, this time I’m going to say don’t worry.
As a new developer, there will already be an overwhelmingly large amount of things you’ll need to know just for the basics.
And in my personal experience, it wasn’t necessary to know advance topics to be able to do my job as a Junior Developer.
Over time, you will naturally come across things you don’t understand. That’s when you should take the time to research and learn more about them.
Of course you’re welcome to study whatever you like, but don’t stress if you’re not there yet - you will be, in time.
So there you have it, now you know what bootcamps won’t teach you, I guess it’s up to you to decide if they are for you or not.
Coding bootcamps are a great way to learn essential skills and prepare you for the practical reality of software development, but they’re not for everyone and they’re certainly not the only road to becoming a successful developer.
Either way, I hope these examples will help no matter what path you choose to take, and I wish you all the best on your coding journey.
From your fellow ever-growing dev,
Cherlock Code
Programming & Productivity Picks of the Week:
🧠 Brain Bites
7 Most Starred Javascript Libraries You Should Know
🛠 Tools of the trade
Scribe - Auto-generate step-by-step guides
💡 How-To's and Woo-Hoo's
How to keep your units testable in JavaScript
Enjoying my content and want to show your support?
Why not buy me a Green Tea? 🫖 (I’ve been trying to cut down on coffee 😅)
Your tips will help me massively in continuing to give you great quality content. Thank you!