Stack Overflow Exec Shares Lessons from a Self-Taught Coder
Stack Overflow, the popular question-and-answer site for programmers, gets a whopping 100 million visitors each month. At least one of its users, Jon Chan, went from being a reader to being an employee, taking a software developer role in 2013.
Over the next nine years, he became a team lead, a principal software developer and, since January, the platform’s director of engineering. (He’s the first person of color and the youngest person to hold the title of principal developer at the company,” according to Chan’s online profile.)
But when asked how he ended up at the site, and what his new title means to him, Chan said, “the first important thing to say is that I’m a self-taught developer.
“I didn’t go to school for computer science and didn’t go to a boot camp. So coding has always sort of just been something that was a hobby of mine.”
Chan made those remarks earlier this month as a guest on the Stack Overflow podcast.
The interview gave him a chance to take a long look back at a wildly successful coding career that had ultimately led him to a position managing other developers — and the life lessons that he’s acquired along the way.
In the podcast, Chan tried to distill his own inspiring story into practical advice for the next generation of self-taught developers.
Dreaming in Swift
In college, Chan had majored in philosophy. “I think I maybe took one computer science course the entire time that I was in school,” he recalled on the podcast. “I think it was for iOS development — way back before Swift, when it was still Objective-C.”
He added, “I could not figure out how to make heads or tails of Objective-C at the time. So I was like, ‘I think I need a little bit of help to go into this,’ but that was it.”
This was back in 2011 — but even as a self-taught developer, Chan had big dreams. As part of his class, Chan created an app that helped friends synchronize their free time — and it earned him a profile in the New York Post. He reminded the newspaper that he’d been interested in computers since the age of 11, adding proudly that “I’m self-taught. I learned computer languages over the Internet, in library books and through YouTube.”
This didn’t lead to a programming career right away. After college, he did odd jobs (including management consulting). But on the podcast, Chan recalled how he’d also had a set of side projects “that I’d been working on since my MySpace days, when I was like trying to build a glitter cursor for my blog and all of that stuff.”
And soon Chan launched Bento, a learning site for self-taught developers that now has 300,000 users, according to Chan. He’d been sending out an email with links to online programming tutorials, and decided to collect those links into a website.
The site attracted big attention in the programming community, making the front page of both Hacker News and Reddit on the same day. “And that’s when Stack Overflow decided to reach out to me and see if I would be interested in actually working there,” he said.
As a self-taught developer, Chan describes that life as an entry-level software engineer as “a really big surprise and shock.” Especially given his past experiences in the world of programmer job interviews.
He was baffled by his previous experiences interviewing with large companies, finding himself “failing miserably,” he told the podcast audience. Tech interviews, he said, were “where it’s like, ‘I don’t even know what a red-black tree is, so please don’t ask me more interview questions about that kind of thing!'”
By contrast, he’d known of Stack Overflow for years, and considered it the home of “some of the best engineers that I could possibly think of.”
First Day on the Job
So what were the biggest shocks after joining the team? Working with a programming team was alien to Chan. And besides being more experienced, they all also had more experience with the company’s specific technology stack.
It could be a self-taught developer’s biggest nightmare. But, Chan said, “One of the things I found out really quickly … was just how supportive everybody was when it came to actually helping me learn how to code and really get up to speed.”
Perhaps it was appropriate, Chan noted, since Stack Overflow “is all about trying to help people expand their skills and their knowledge and all of that — and that was reflected inside the company just as much as it was in our product.”
“This is not about code so much anymore. It’s really about the people and how to make them put their best foot forward.”
— Jon Chan, engineering manager, Stack Overflow
Now when people ask for a favorite project he’s worked on, Chan thinks back to one particular April Fool’s prank back in 2019. Soon a user had posted a question about the site’s new look, asking “Am I the only one seeing the ’90s retro theme, with the unicorns and sparkles?”
“Basically we turned the Stack Overflow question page into like a GeoCities website, where there was like a glitter cursor that you were having to go across, and also we had ASCII art in there,” Chan said.
But it wasn’t just the smiles that made him proud. “It sort of felt like a full-circle moment for me,” he said, noting. “I started off learning how to code by working on GeoCities sites and Myspace and Xanga sites and all of that.”
Knowing that most coders would immediately recognize what they’d done “was something that was really, really gratifying for me — and to pay homage, I think, to the history that I had as a self-taught dev.”
Seeking to Make an Impact
Eventually, Chan became one of the site’s engineering managers (for its public Q&A). He described his thought process as asking himself, “What’s the way I can make more impact here?”
He ultimately concluded that impact would come from helping others, just like he’d done when he’d started his own educational site. And not just with public-facing websites, but by helping his own co-workers, “mentoring other developers and helping them grow in their careers here” — through coaching, mentoring, and giving feedback.
Chan recalled learning what all new managers learn: while you may have been good at your old position, “once you become a manager, the skillset is completely different.” Or, in his case, “You’re no longer working with computers and with code anymore. You’re working with people, right?”
There were more conversations, and listening to people — but also a shift in thought. “This is not about code so much anymore,” he said. “It’s really about the people and how to make them put their best foot forward.”
So what advice would Chan give to the next generation’s self-taught developers, as they compete for their first job against candidates with a degree? What if they’re self-conscious about a lack of formal training about algorithms or data structures?
“A lot of the people that are in boot camps, or that are in a computer science degree [program], also feel like they might be missing some of those areas too,” Chan pointed out.
Are colleges really teaching web development? How much guidance-free building happens at boot camps? No matter who you’re competing with, he said, “you also have a lot of things that are unique that you bring to the table.”
And, Chan noted, “in the end, the way that I did this was by building projects.”
Chan advised the next generation to “keep building the stuff that really interests you … That’s how you’re going to be able to showcase your skills and ability.”
This drew a pithy response from Chan’s interviewer, Benjamin Popper, Stack Overflow’s director of content: “The best resume is being on the front page of Hacker News.”
But then, flipping things around, Popper asked how Chan — now a manager — would evaluate resumes from self-taught developers. Chan stressed what’s more important is just demonstrable technical proficiency — from personal projects, schoolwork, hackathons.
Those technical skills, however, may be easier to add with coaching than the more elusive soft “professional” skills like proactive communication or leadership and personal accountability, Chan added.
“Have you been able to be a leader inside of an extracurricular, for example?” he asked. ” Were you president of your hackathon’s team, or something else like that?”
And the final thing he looks for, he said, is a genuine interest in the place where you’re applying: “We want to see that you’re enthusiastic about the mission. And that goes for any company, not just for Stack Overflow.”
You can check out the whole interview here: