This has done more for my career than almost anything else.
But it& #39;s this same thing that put me off development for a decade.
A quick thread.
https://abs.twimg.com/emoji/v2/... draggable="false" alt="đź§µ" title="Thread" aria-label="Emoji: Thread"> https://twitter.com/laurieontech/status/1300422871328518146">https://twitter.com/laurieont...
But it& #39;s this same thing that put me off development for a decade.
A quick thread.
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& #39;d only taken CS1, so basic Java stuff.
But here I was in JavaBean land, having no idea what was going on.
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.
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& #39;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.
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
https://abs.twimg.com/emoji/v2/... draggable="false" alt="🤷‍♂️" title="Achselzuckender Mann" aria-label="Emoji: Achselzuckender Mann">)
(That also destroyed me for several years, who knew I had to remember binary search trees from college
It wasn& #39;t until after _that_ when I began my career as a "professional" coder.
These days, it& #39;s not unusual for me to be peeling back different codebases and different languages every week.
"Oh, database issue? Let& #39;s see how that& #39;s implemented."
"Apache Spark issue? LET& #39;S GO!"
These days, it& #39;s not unusual for me to be peeling back different codebases and different languages every week.
"Oh, database issue? Let& #39;s see how that& #39;s implemented."
"Apache Spark issue? LET& #39;S GO!"
The funny thing is, our code doesn& #39;t usually help those new to coding understand it at all.
Different languages/frameworks have different patterns and it& #39;s only after you& #39;ve been in those for a few years that you understand where to look for things.
Different languages/frameworks have different patterns and it& #39;s only after you& #39;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.