It comes down to complexity.
It used to annoy me during when experienced developers would say:
College doesn’t teach you the skills you will need on the job.
I would ask myself, “My college teaches Java, and many jobs use Java, so how different could it be?” But now I know those devs were entirely correct. The reason is simple: real projects are much more complex than the projects you usually work on at college or during a bootcamp.
Table of Contents
Open Table of Contents
Real projects have dependencies
The main thing I took for granted during my studies was that any bugs in my projects were contained within my code. That is not the case in the real world. Work projects typically have many external dependencies, including libraries, frameworks, external APIs, and more.
Let’s say you work for an ecommerce website. You see a bug on the Jira board that says that customers aren’t getting email notices when their orders are delivered. You start to dig through your codebase, but then you realize that your company uses an API to get the tracking information for packages and another API to send the emails to customers. Your company also uses a library to generate the email messages, so the bug could be there too. Nobody can tell you where the problem is coming from; that’s your job as a dev to figure out.
Large codebases are tough to navigate
The codebase at any job will likely be much larger than projects you worked on at college or in a bootcamp. What I thought was a “large” program I wrote in college is minuscule compared to my codebase at work. Because of this, the most challenging part of completing tasks at your job (especially a job you are new to) can be simply finding the part of the code you need to edit. This becomes easier over time, but it is still a huge departure from educational projects.
Work relationships can be complicated
In educational settings, the stakes are much lower for most interpersonal problems. If you are working on a group project and one person isn’t pulling their weight or is rude to you, the professor can step in. And if you hate a professor, often you can drop the class and take a section from another one.
But it’s not like that at work. It’s usually better to avoid going to HR if you have disagreements with a coworker or your boss. So if your coworker routinely nitpicks your PRs, your boss micromanages you, or a fellow dev doesn’t pull their own weight, there’s not much you can do. Devs can also be prickly at times, which could be a culture shock for people new to the workforce or coming from another industry.
Don’t sweat it
I don’t say all of this to worry you. At your first job, you will hopefully have a mentor who can help you navigate these challenges. I am only pointing this out because this topic used to confuse me, and I wanted to shine some light on it. Good luck with your studies!