Skills a Bootcamp Doesn't Teach You: Part 1


As a recent (well, turning not-so-recent as the 1-year mark fades into the distance) bootcamp grad, I'm often asked by potential and current students what lessons I learned as I came out of the bootcamp and dove into the "real world."

The transition out of the safe bootcamp cocoon and into being responsible for troubleshooting production code as the sole developer on a project was not an easy one. I hear these sentiments echoed by many fellow grads and junior devs - people seem to agree that the first 3-6 (or even more) months in your first dev job can certainly be invigorating, but it can also be overwhelming and frustrating.

If you've recently graduated or are about to soon, hopefully these tips will help supplement the bootcamp experience and ease your transition into that first, coveted dev job. This is tip one, with many more to come:

Debugging/troubleshooting code in a larger system

No matter how many capstone projects you complete with fellow bootcamp students, the experience of debugging a larger code base with multiple systems interacting in a tangle of different styles of code will be jarring. In an academic setting, it is hard (read: impossible) to mimic the architecture and complexity of a system with multiple layers. You will definitely face the challenge of staring an error message in the face and having to dissect exactly where the problem lies while thinking "I have no idea where the hell that message is coming from."

Remedies:

  • Observe how more senior colleagues (or, if your company has them, tech support reps) triage problems. Learn what tools they go to first and how they eliminate environmental factors one by one.
  • Get familiar with reading stack traces and learn how to find the root cause of an issue, not just its symptoms. The top-level error message can often be a red herring.
  • Contribute to open source projects or start to build your own. The beauty of open source projects is that they give you direct experience trying to understand someone else's train of thought.
  • Say "yes" to learning new technologies. Just because your job description didn't include learning a new stack, operating system, tool, or language, doesn't mean that it won't be useful to you. The best developers on our team are able to debug not only the OnBase side of our code, but also the 3rd-party systems with which we integrate.

Stay tuned for more...