3 Lessons About Software Engineering I Learned from My Criminal Career
15 years ago I made money by trading various substances for cash.
I was hooked on drugs, alcohol and living like a loser. It took 3 near death experiences, 2 children, 1 intervention and too many sleepless nights to count before I changed my ways.
Fast forward to now and I’m somehow a software engineering manager, with 10 years of sobriety under my belt. My old life seems like a distant memory.
It’s hard to believe any of it ever happened.
I woke up this morning, put on a collared shirt and led a meeting of software developers to discuss the architecture for an upcoming project.
I’m about as far as way from my old life as you can imagine.
The transition from criminal addict to nerdy software engineer was tough and there are lesson from my former life which have helped me navigate a career in tech.
Having a gun pointed at your head really puts things in perspective.
Doing criminal things is not only dumb — it’s dangerous.
I had a total of 3 guns pointed squarely at my head between 2009 and 2013. I talked my way out of situations that have turned deadly for others and got a crash course in human behavior during my “career” in the streets.
I needed to make split second decisions and read people as if my life depended on it. In many ways, it did.
Here are 3 lessons I picked up from hanging around killers and dope dealers that I apply to my software career.
1. Losers Lose and Winners Win
You probably think working the black market is a get-rich-quick scheme.
Movies show us the jewelry and the luxury cars but never expose the guy who lives at home with his mom, grandma and uncles who’s been hustling for 10 years.
I’ve never met a rich criminal in real life. I’ve met a lot of guys who are just getting by and even more good liars with flashy cars they can’t afford.
I remember fronting an associate a significant amount of product that he could pay me back for later.
2 months went by and I checked in on him.
“I haven’t really moved anything yet”
I was shocked.
So you have no job, hang out all day in a high traffic area and you STILL can’t move this stuff?
Sellers sell, buyers buy, losers lose and winners win.
There is no such thing as a get-rich-quick-scheme. Doesn’t matter if you’re moving illegal drugs or writing code.
There are many developers who never break 6 figures and a minority who make multiple 6 figures. The difference is part luck, part strategy and a whole lot of grit.
Whether in software or in my former life, I saw people greatly underestimate how much effort it takes to get a taste of success.
As a developer, I didn’t shy away from working weekends, late nights and investing into classes, courses and books when I started out. I wasn’t there to get by — I wanted to be on the better side of average.
The Pareto principle states “that for many outcomes, roughly 80% of consequences come from 20% of causes.”
Whether in software or criminal endeavors this means the top 20% will take 80% of the opportunities.
You want to be in that top 20%.
Turns out breaking the law still requires hard work.
2. Fake It ‘til You ARE It
I was a good kid for most of my life. I did well in school and even went to college.
I got bullied as a kid. I wasn’t tough.
I liked classical music and reading fantasy books.
So how did I fit in with the criminal element and do large transactions with some of the most dangerous people I’d ever met?
I faked it.
Until I wasn’t faking it any more.
I remember meeting a man named “Murder” and taking a car ride with him into some notorious housing projects in Richmond, CA. Another man, “Bird”, vouched for me and allowed me into their circle to do business. They’d both done around 10 years in the pen and were known for… well, you can probably guess.
After a few years of soaking up the mannerisms, slang and style of the people I interacted with, I started to resemble them. At first it was an act. Then it just became who I was.
I’ll never forget my first interview for a real job after trying to get my life together…
My friend recommended me for an administrative assistant job and when they turned me down he told me it was because I sounded “too street”.
I was embarrassed and angry. They were right though.
It took a lot of self reflection, getting sober and hanging around the right people to get back to who I really was.
- I read books, improved my vocabulary and talked like an actual adult
- I calmed my temper when I felt disrespected
- I spoke slower and more deliberately
I used the “fake it til you are it” method as a developer too.
I studied what the smarter developers did and how they talked. What did they wear? What did they do outside work?
I read the books they recommended and wrote down the phrases they over-used. Someone mentioned Djikstra.
Who the hell is that?
I would find out.
Look at me now, a cringe influencer on LinkedIn making jokes about bits, JavaScript and why TypeScript sucks.
I’m not faking it anymore… for better or for worse.
3. Chances Make Champions
I heard a pimp say “chances make champions”. He ain’t wrong.
Playing it safe is the most dangerous thing you can do.
As a software developer, playing it safe might mean taking on tasks you’re sure you can complete, staying silent during meetings and being loyal to a big “stable” company.
When the market shifts and you find yourself back on the job hunt, you will realize that your years of experience don’t mean much to an interviewer. You’re a junior developer with 7 years of experience.
I saw this phenomenon in my former life as well:
Some guys never wanted to meet new customers or take a chance on a new supplier. They made enough to support their habits or pay their rent and that was it.
They assumed their old friend wouldn’t snitch or that their supplier wouldn’t get killed or busted.
I remember meeting a gang member in a bar one night and we hit it off after 1 or 10 beers. He made me an offer that was too good to pass on and we met the next morning to do an exchange.
He wanted the cash up front for some product and my friend told me that if I gave him the money, there was no way I’d ever see it again.
I had a good feeling though. It turned out to be right.
He came back and we worked with each other for years.
I even went to his wedding party.
Hope he’s doing well.
Taking risks is, well, risky. Switching companies or giving large sums of money to a person you just met can have negative consequences. Taking strategic risks where the potential reward outweighs the potential risks is the strategy that I personally use.
Conclusion and a Warning
Let me make this clear:
My old life was a waste of time, depressing and nearly destroyed me and my family.
Did it teach me some valuable lessons? Sure.
Could I just as easily have learned these without risking my freedom and sanity? Absolutely.
Exploring legal endeavors like sales, entrepreneurship or working for a startup could’ve taught me so much more than having a gun pressed against my head in a dark hallway.
I would be a lot less paranoid too.
The reason my story is sensational is because it’s unlikely. I beat the odds and I’m 10 years behind many of my peers.
Take the straight path if you can. If you’re not on the straight path, try to get there.
Hope that’s helpful.
BTW — I run a coding school for career changers who want to learn to build complex software. Parsity.io