I’m currently trying to teach myself coding and feeling a bit discouraged at the moment. Trying to hear of other’s success stories to see if it’s worth it to see it through to the end. (zeexik asks on Reddit)
Who hasn’t felt like this about something? We’re out of school, but there’s things we want to still learn to get where we want to go. But it’s daunting. We get discouraged.
17 years ago I spent my summer in Paducah, KY. It was friggin hot. It was even worse because on a lot of days I was wearing an acid proof suit — those things are made of an unbreathable plastic something that doesn’t react with acid; see Breaking Bad and why you don’t use acid in your bathtub 🙂
Why was I in this suit? Because I was doing experiments at a uranium processing plant where we used a lot of hydrofluoric acid. If that sounds dangerous, it was. We’d have to carry gas masks around all day; go through radiation detectors; some guy had recently burned a hole through his shoulder from some tiny, accidental leak somewhere.
It was my first real gig doing chemical engineering, and I hated it. I mean, aspects of using my education were incredibly enlightening, but I didn’t want to work in plants like this after college.
Fortunately for me that summer, I broke my ankle.
They wouldn’t let me in the plant anymore for fear my cast would get contaminated with uranium. You know, typical summer intern problems. 🙂
It was fortunate because they stuffed me in a trailer outside the plant where I couldn’t get into too much trouble. And the only thing I could then do all day was use a computer. They’d give me Excel spreadsheets and ask if I could help them with some macros to speed up their calculations. It opened my eyes to what I really wanted to be doing.
I loved that work. Programming macros turned into me creating visual basic UI’s to make all these things that made the lives better of people around me at that plant. The feedback was instantaneous. Unlike the experiments I was doing that were dealing with all these messy chemical and physical problems people still couldn’t understand from decades of academic research, the computer obeyed my will, and allowed me to make so many people happy when it made their lives easier. I was hooked. I just dove in. Found everything I could about programming. Started making websites.
But then college was almost over, and I was still a chemical engineer, and instead, I wanted a job programming computers. So I took the closest thing I could get near the software business which was as a consultant for Accenture. And that sucked.
I was stuck gathering requirements all day. Typing up meeting notes. I didn’t have the skills for them to let me do any software engineering tasks. So I just kept at it. I’d bug all the engineers around me on what they were doing and learning. I’d go home and make more software. More websites. Try more things. Eventually I bugged enough people at work about the stuff I was making, they saw I had a hunger and new set of skills and they started letting me do some tasks on the side. I still had my requirements gathering and grunt work to do, but I’d stay after work for hours programming things for them, and learning some new reporting tools they had that they didn’t have time to learn yet, which included the ability to program UI’s to pull up the reports.
Eventually, I moved on from that role and they started putting me in software engineering roles. I still wasn’t any good. But I just sponged all the knowledge I could from the senior people around me. I did my work off hours too to see if I could make it better than they expected of me.
Eventually, I moved on from that company and was a pretty damn good engineer finally, and got a job at a software company.
Eventually, I moved on from that job and started creating my own software companies. First Inkling, where I was the CTO, then I was an engineer for the Obama campaign, then I made Draft (http://draftin.com) and then all of this led to Jason Fried and Basecamp picking me to take Highrise (http://highrisehq.com) and turn it into a separate company where I still get to write software every day.
So heck yeah, I’ve taught myself software development and make money at this. It wasn’t fast. It took at least a year of really hard work on the side to get people to give me some tasks that were programming related at work. And years after that before I’d say I was any good.
But it’s like anything. It takes practice. We suck at so much stuff when we start out.
I have a 19 month old daughter. She’s awful at everything.
Right? 🙂 Crashes into walls. Falls down constantly. Can’t figure this out or that. But we know she’s going to be awesome at this stuff she struggles with today. Look at how far she’s already come! It’s ridiculous how much she learns and learns and learns. And that doesn’t have to stop.
Don’t pick up software development if you’re just doing it for a paycheck or what you think the paycheck is going to be in the future. Pick it up because you like figuring out things like that. And I guarantee you, with enough practice and work, you’ll get better. And then better. And then better after that.
And as for the coding schools, I haven’t done any myself, but sometimes those are the best ways to learn for some folks. Some people get by with a book and a keyboard. Some really need the mentors and fellow students around them to bounce things off of. I would definitely experiment and check them out. I know people who’ve taken those courses and gone on to make their own things or gotten really great jobs. Claire Lew is a great example. She took a course at Starter League, and now Basecamp put her in charge of Know Your Company. That’s not everyone’s story of course. But let me share one more anecdote:
An acting teacher told his class of total beginners (which included me): “New York and LA are inundated with actors. It’s tough to make a career there. But… you can absolutely achieve it in Chicago. You won’t get everything you want all the time, but if you do the work you can get enough acting jobs, including commercials or industrial films, to make the money work. If you want to have a career as an actor, it’s yours.”
He absolutely believed that it wasn’t about what we looked like or innate talent we had at acting. If we wanted a career in acting, we just had to do the work.
And as I started watching the people around me succeed at acting, that’s exactly what they were doing. They were making a living at it. It wasn’t A-list Hollywood stuff all the time. Sometimes it was appearing in training videos about workplace sexual harassment, or chemical safety, or whatever. But those paid the bills so they could get up on stage every weekend to perform a play for a hundred people. The people with the rigid goal of Hollywood now or nothing? Those folks were bitter and gave up.
If you want a career in software, it’s yours. There is nothing stopping you from learning this. Just put in the work to learn it like anything else. It might take a bunch of only fair jobs before you’re good enough, but take what you can get and learn.