After serving more than 3,000 students at Dev Bootcamp, we’ve noticed some common themes in the traits of people who excel in our program. People aren’t born great programmers. Nor do great programmers all come from math or science backgrounds (a common misconception). In fact, we find that programming aptitude has much more to do with behaviors and tendencies than any given professional or educational background. We talked with a handful of Dev Bootcamp instructors and assembled a list of the top five indicators of coding proficiency:
So, what traits indicate someone might become a great programmer?
1. An obsession with organizing or efficiency: Good programmers have a knack — maybe even a borderline obsession — with sequencing. Do you savor the task of reorganizing your kitchen cabinets? Do you appreciate the power of spreadsheets like Microsoft Excel?
“A lot of programmers were the type of kids who liked sorting their Halloween candy or organizing their button collections,” says Steven Harms, our Senior Director of Curriculum. “It’s an early sign that you’d appreciate the power of a database.” Another good predictor of aptitude for coding is an affinity for efficiency: “I always ask people if they’re the type that walks into a restaurant or coffee shop, and immediately starts identifying how the space could be better organized to optimize for efficiency,” says Steven.
2. The ability to visualize problems and their solutions: Can you easily imagine how one small part functions as part of a larger whole? Can you anticipate an end result, even before you get there?
Dev Bootcamp instructor Sherif puts it this way: “If you like to color outside the lines (literally or metaphorically), you might like programming. Using your own imagination and evolving a concept on a canvas mimics the way programmers conceive of applications and bring them to life via code.”
3. A love of tinkering: Do you like to take things apart, figure out how they work, and put them back together? Do you enjoy puzzles? Are you the person people always ask to take a look at their appliances or devices that aren’t working properly?
Tinkerers are willing to put in lots of work to fix something, or to truly perfect something, and will find a natural home as a programmer — where there’s always another problem to fix or solution to test. “Programming is a very investigative trade,” says Ryan, our New York Campus Director. “You have to enjoy digging around to find a solution, and being a mini Sherlock Holmes.”
4. Persistence + Perseverance: Do you have the patience to complete larger projects, like big puzzles? Do you value the sense of accomplishment after completing a task?
As Ryan puts it, “programmers don’t have to naturally be patient, but they have to be okay with having to be patient.” Solving a problem with code can be grueling, but people who love the field enjoy earning the strong feeling of accomplishment.
5. Innate + insatiable curiosity: Are you naturally inquisitive? Do you enjoy doing research and educating yourself about the things that interest you? Have you started teaching yourself the basics of coding?
Technology changes rapidly and so does the realm of code. Boundless curiosity ensures that you’ll continuously learn, and that you’ll keep momentum, even in the face of difficult problems: “You have to be excited about diving into a problem without much context,” says Kelly, the Campus Director of Dev Bootcamp Chicago. “At the height of my dev career, I was only ever solving about half of the total problems.”
This list speaks to just a few of the predictors of programming aptitude, but ultimately, if you’re considering a career in programming, talk to people who do it and give it a try.
If you’re already convinced that programming is for you, then schedule a tour at a Dev Bootcamp campus near you.