You're not alone friend. This industry is full of self-taught programmers, just like you and me and we all question whether the lack of a CS degree is holding us back.
I grew tired of feeling this way so I studied for two straight years, digging into all of the subjects that go into a CS degree at MIT and Stanford. It changed my life and my career, so I decided to share what I learned but in the simplest, most human way possible. The result is a 1000 page book, a "CS Primer for Self-taught programmers."
I'm šÆ self-pubished and I've sold over 25,000 copies since 2017. Join your peers and get up to speed!
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"
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.
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.
Dan Kahler
I wrote this book for humans, doing my best to bring these complex subjects down to earth.
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.
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!
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.
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.
Before we had Python, JavaScript, C# and Rust we had math - that's it. In the 1930s two mathematicians took it upon themselves to figure out how a machine could "think", which they called "computation". Thus was born the theoretical approach to the programming language.
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
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.
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.
Dan Sullivan
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)
If you're studying up for an interview you need all the help you can get! With this package you get the second edition plus 5.5 hours of interview preparation from our Coding Interview Bootcamp production featuring Jon SKeet. From solving practice problems by hand to strategies for what to do when you lockup. In addition you get over 6 hours (34 videos) from our Imposter Video Bundle. You'll be set!
With this package you get the second edition of The Imposter's Handbook in ePub (open standard for iOS and other digital readers), mobi (for Kindle) and PDF, covering topics from Computational Theory to Lambda Calculus to Encoding and Hashing and Cryptography. In addition you get 34 video walkthroughs that enhance and extend the books.
Over 6 hours of videos spread across 72 individual lessons. You'll learn about Data Structures and Algorithms, Cryptography, Binary, Software Design and Essential Unix Skills. If you're a visual person and want to learn Core CS Concepts, this production is for you. This isnāt your typical 'hey guys whatās up' YouTube crap either. I pride myself in concise delivery and tight editing.
I spent years teaching myself the subjects that go into a Computer Science degree: Computation, Complexity Theory, Encryption, Blockchain, Algorithms and Data Structures, Lambda Calculus and more. I wrote down what I learned and decided to share.
You don't need to feel left out any more - you belong here!
If you're a print person and love the feel of a fine book, this might be the choice for you. The print version is currently available for the first edition only and is sold through Blurb.com (thus the weird pricing). First edition topics include: