This post is for my first week homework assignment as part of the Programming for Non-Programmers, from the folks over at OneMonth.com.

Last week I enrolled in a one-month course entitled ‘Programming for Non-Programmers’. As someone who has tried to learn how to code at various times (without being able to make it stick), the course appealed to me for it’s format (1 month? I can stick with that!) and approach (let’s take a look at the web development process so that you can better collaborate with developers and decide whether you might like to become one yourself or find another area of the web development process that you might enjoy). Perfect for me as someone working at a tech company in a distinctly non-technical role, but would like to better understand what their colleagues do.

In our first week, we were asked to interview a few developers, so I decided to take a poll of my co-workers (5 full-time developers and 2 interns) on the following questions:

  • How did you learn to code?
  • What advice would you have for someone learning to code for the first time?
  • Would you work with me on a project? Why or why not?
  • What are a few key skills and personality traits that make for a successful developer?

As someone very new to coding, I was heartened by the responses I received and encouraged to keep moving forward on my coding journey.

How did you learn to code?

Learning to code took on many different forms. While the majority of my co-workers learned to code in a formal setting (school courses at the high school or collegiate level), less formal / self-study modes of learning have been just as important:

  • learning Python to make games and do math
  • learning from my dad
  • learning Perl during an internship with my high school’s sysadmin operation
  • Putzing around at home on the computer, reading books, watching conference talks and building stuff to scratch my own itches

My favorite answer of the bunch? ‘In College. I hated it at first.’

What advice would you have for someone learning to code for the first time?

The main pieces of advice, boiled down to two really important ideas:

  • Keep at it and don’t give up: Making mistakes is a natural part of the process and you’re not going to be perfect the first time around. Be patient and practice, practice, practice.
  • Find a project or problem that is interesting to you: You’ll learn more and continue to be motivated to learn when you can find a project or problem that is specifically interesting to you. Don’t learn to code simply for the sake of knowing how to code.

Would you work with me on a project? Why or why not?

I wasn’t sure what to expect with this question, but the overwhelming answer was yes and I think it mainly has to do with a trait of great developers (and the awesome developers that I get to work with) — pairing and sharing knowledge with other developers makes everyone (from the newbie to the senior engineer) better at what they do.

What are a few key skills and personality traits that make for a successful developer?

Patience, persistence, and the desire to keep learning (and Googling the things you don’t know!) were mentioned by nearly everyone. My favorite response to this question? ‘A certain playful recklessness (exploration, not too worried about failures) interest in making things.’

So what were the biggest takeaways from my poll?

There’s no ‘right’ way to learn how to code.

Find an idea/project/problem that is interesting to you and figure out how to apply code to it.

Be patient and persistent. You won’t be perfect the first time around, so keep at it.

Make it fun!

A good developer never stops learning and is always asking what’s next?