I don't have one either, but I leveraged my curiosity and set aside my nagging doubts - being self-taught is a super power! You're naturally curious and you've gotten yourself this far, why stop now? It's so much easier for you to learn core CS concepts then it is for a CS grad to figure out how to ship something.
Your self doubt is your kryptonite. Let's fix that.
Take a look around your office, online, or wherever you work with other programmers. Did you know that 20% of these people are planning to leave their job this year and get a higher paying one because they have skills that are ridiculously in demand? The other 80% get to stay behind in a crappy job earning far less than they should be.
What's the difference between the 20% and the 80%? The 20% speak up and demand to be paid what they think they're worth.
What do you think you're worth? It's probably a lot more than you think.
Here's the thing: great programmers are a rare find - mostly because they stay hidden in crappy jobs, burying their talent under a belief that everyone is better than them, not recognizing just how valuable they are. Burnout sets in, self-esteem drops and they give up entirely.
The demand for talent in our industry is off the charts! Filling that demand is the problem. There's simply too much mediocrity.
You've probably heard of this phenomenon: people with low ability at a task or a job overestimate their skills at said task or job. Put another way: the worst programmers are the most confident and believe they're amazing.
The opposite is also true: the best performers underestimate their skill because they're good people and don’t like to shine the light on themselves. That means they don’t speak up for themselves, lose their voice, and don’t get the recognition they deserve.
This is the problem: you stay silent while your loud, toxic coworker gets the promotion and you end up working for them.
In 2014 I published a book directly aimed at self-taught programmers (of which I am one). The goal: walk them through the concepts and skills they need to regain their professional confidence. That’s it!
It’s called The Imposter’s Handbook - named because I felt like a massive programming imposter - and is roughly 800 pages full of theory, practical skills, programming principles and more.
I taught myself how to create solid, compelling software applications over the years as well as open source libraries that people loved. Why couldn't I apply the same rigor to teaching myself the stuff that goes into a CS degree?
I spent years teaching myself the subjects that go into a Computer Science degree. I looked at the curriculum for Stanford and MIT (and a few others) and dove in. Computation, Complexity Theory, Encryption, Blockchain, Algorithms and Data Structures, Lambda Calculus and more. I wrote it down and decided to share it all.
Instead of a wall of theoretical text, I did my best to make them as human as possible, with hand-drawn sketches of complex topics that took me days (and sometimes months) to figure out. I wanted to write a technical book for humans that would convey the magic of our industry.
I have continually updated The Imposter's Handbook seasons over the years, and recently I decided to combine both seasons into a single, coherent resource. That's the Second Edition - over 900 pages of glorious CompSci goodness - and it's all yours.
You know what’s badass? When someone continues improving a product well after they’ve collected your money, and makes the updates available to you super easily. Hats off to @robconery and The Imposter’s Handbook. Awesome demonstration of character.
The Imposter's Handbook has sold extremely well over the years and has . It makes me so very, very happy to help others!
I love the process of learning and the only thing I like more is writing. I'm good at it! My goal with this book is to make it as human and fun as possible - not dry and boring like most tech tutorials. I did my own doodles and tried to make the experience seem like you and I were in a pub, talking shop.
I really recommend Rob Conery's The Imposter's Handbook as a great way to reinforce those fundamentals and core concepts. Rob has been programming for years but without a CS degree. This book is about all the things he learned and all the gaps that got filled in while he was overwhelmed.
The Imposter's Handbook is a great resource for any programmer, self-taught or otherwise.
Just finished reading, The Imposter's Handbook, it was so good I couldn't put it down"
I wrote this book for humans, doing my best to bring these complex subjects down to earth.
You'll learn binary basics so that you can have a foundational understanding of CS theory and language design which means you won’t be stumped by some of the most common interview questions
You'll learn core database theory, including relational modeling and CAP theorem. Understanding these things means you can build a proper database that protects your data, which means your company can make better decisions and make more money... making you a hero.
You'll understand data structures and algorithms so that you will know how to optimize a given routine and when and why you should. Understanding this means passing interviews, improving your codebase and being able to solve complex performance problems.
Who decides how text is transformed into binary and then back again? Why is one file bigger than another and what does "LOSSLESS" even mean? In this section you'll writ your own encoder and then your own compression algorithm. You'll even know why you're doing it and the fundamental theories behind it!
We've all heard of the Gang of Four and other names that get thrown around when we're accused of violating some Grand Principle of Whatever - who cares? You do so that you have options when trying to figure out how to write complex systems which means you will be the one leading the team
Understanding the essential bits of encryption and hashing is critical so that you can have a solid grasp on data security, which means you’re less likely to get fired for overlooking the very basic of data needs.
We write code to solve problems, but how does that work? You might be surprised to know that every problem you solve with code has a category in terms of how complex it is. Understanding this means you won't try to code something you shouldn't which could get you fired, which is exactly what happened to me back in 2010 when I agreed to create a matching algorithm that would never work.
I used to make fun of my colleagues that used shell scripts for everything until I understood how to program my work environment and orchestrate builds properly, which means I don't spend hours trying doing the same jobs manually.
I’m Rob Conery and I’ve been building software for over 25 years without a CS degree. I’ve created applications for huge corporations including Ameritech and Southwest Bell. I’ve contracted to Visa, Google, Starbucks and PayPal - creating their very first developer portal back in 2005. I wrote an open source e-commerce site for Microsoft that was demoed on stage by Steve Ballmer at Tech Ed, Microsoft’s biggest developer conference (now //Build).
In 2009 I cofounded Tekpub, specializing in high-quality video productions focused on technology. We were acquired by Pluralsight in 2013.
In 2014 I decided to write The Imposter’s Handbook, finally taking the time to backfill the computer science concepts that I had always wanted to learn - and it’s been the absolute highlight of my career! I’ve sold almost 25,000 copies to date, helping developers just like you all over the world.
I’m a relentless learner and sometimes annoyingly curious!
I am a transitioning Marine trying to pivot back to software development after a 21 year career. I am working on refreshing my coding skills and found your book, The Imposter's Handbook. I am loving it, and wanted to thank you for taking the time to update it too... you’re an inspiration and I’m just loving your book.
I’m reading The Imposter's Handbook by @robconery with a flushed face and I’m not sure whether I could be even more excited. It’s like visiting Hogwarts to me (but with real magic). via Twitter
I learned what would get me paid (C# .NET) and that’s what got me a job. I realized that I needed to fill in my CS knowledge gaps and that’s where Rob Conery’s The Imposter’s Handbook was a huge help for me (via Twitter)
OK, before you get recommended all the knuths, cracking the coding interviews or algoexpert/leetcode, let me just have a chance at saving you.
Love this book, because it starts from scratch and builds knowledge floor by floor. (via Twitter)
Come spend a few hours with me and let's explore the fun, fascinating world of Computer Science! I won't waste your time, promise - and I back that with a full, no-questions-asked guarantee.