There are 10 types of good programmers
Those who understand binary and those who don’t.
Hah. No, but seriously, in my limited experience working at a tech company, trying to make one, and going to a variety of hackathons, I’ve always found that there are two types of coders that consistently impress me.
The first category is the one that I’d like to think I fall under. They’re what I call the “5th grade coders”. These programmers were given a computer at a young age and have been playing around with it ever since. I can connect with them easily around getting our first computer, doing FIRST robotics, or working part-time during high school making websites. These are the types of people who breeze through their undergraduate CS education and have been working at tech companies since they were ~18. They don’t have to put a ton of effort into learning new languages, picking up different theories, because it is second-nature. In some ways, this group of people just got really lucky early on in their life in that they were given a computer and enjoyed building things.
The second category is what I like to call the new-found learner. This is someone who had no clue what computer science is when they were younger, but stumbled upon startups and the tech scene later in life. They figured out it’s a lot easier to survive in the tech world if you know how to code, so they sat down and just did it. My good friend, John Capecelatro found a mentor and learned how to code. 6 months later he had a paid internship at One King’s Lane as a developer. The latest popular story is Jennifer Dewalt with her 180 website in 180 days, which is on roughly the same timeframe. These types of people impress me because they realize that coding can be difficult since it is a legitimate engineering skill. No one is going around saying that everyone should learn the basics of chemical engineering. They realize it is difficult and dedicate a significant amount of time to become just proficient enough to be useful.
Sometimes I’m even jealous of people in the second category. Being able to build whatever I can think up has been a default in my life for the last 7 or 8 years. Listening to Zain’s story as he went from nothing to YC in under a year is awesome
Interestingly enough, Zain’s cofounder, Ishaan comes from the first category. Ishaan probably knew about YC before he could walk. These two categories work well together because the second respects the first’s depth of experience, while the first respects the second’s pure excitement and dedication to CS.
So there are these two extremes, people who have been coding since a young age, and those that are newly excited but very passionate and dedicated. I’ve found in my limited experience, that programmers who fall in between these two extremes tend to not be as proficient, because they lack the experience or the excitement/dedication. The person who half-assedley has been trying to learn how to code for the last 3 years never really excites me.
I guess my point is, if I need to hire or work with a developer, I will almost exclusively look for people that fit into these two categories.