This has done more for my career than almost anything else.

But it's this same thing that put me off development for a decade.

A quick thread. 🧵 https://twitter.com/laurieontech/status/1300422871328518146
In my first software development internship at the sweet young age of 19, I was dropped into a *massive* (or what I thought was...) Java codebase. I'd only taken CS1, so basic Java stuff.

But here I was in JavaBean land, having no idea what was going on.
I had nobody to help me, nobody to mentor me. I was just dropped into this massive code base and told to fix something.

I had zero clue what was going on and zero clue where to start. I was so confused that I swore off programming.
Fast-forward 10 years and I was selected to do a source code audit for the final pentest of Windows Vista. Why? It's not because I was a great coder, but because I was great at *untangling* the code.

I could dive in, trace bugs, and hunt down logic errors.
In fact, I applied to a software development job at Microsoft after that engagement and I was walked out early because I was so woefully under-qualified.

(That also destroyed me for several years, who knew I had to remember binary search trees from college 🤷‍♂️)
It wasn't until after _that_ when I began my career as a "professional" coder.

These days, it's not unusual for me to be peeling back different codebases and different languages every week.

"Oh, database issue? Let's see how that's implemented."
"Apache Spark issue? LET'S GO!"
The funny thing is, our code doesn't usually help those new to coding understand it at all.

Different languages/frameworks have different patterns and it's only after you've been in those for a few years that you understand where to look for things.
But if you can hop into an unknown codebase and deconstruct it readily...that will be a super power to you and your career.
You can follow @dacort.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: