Do I have what it takes to be a computer programmer? I get this question completely too often when mentoring college students studying computer science or related majors for programmers. This question usually comes from these students after leaving their first advanced algorithms class dazed and confused. It’s easy to become disheartened when attempting the rigor of a computer science degree that will likely over-teach the advanced concepts only a computer scientist can appreciate, but these topics barely scratch the surface of what a computer programmer will need to “have what it takes”.
What I try to communicate to those I’m mentoring is that memorizing all of the terms related to object-oriented programming is not what anyone considering a career in computer programming should use as the base their career decisions. Sure, you will absolutely need to have a well-rounded understanding of these concepts, but as I tell anyone with doubts on their programming abilities, what you can learn is not the same as your ability to learn.
The one rule I have found with programming that rings true no matter which business sector you are coding for is that the only constant is CHANGE. I can hear every developer yelling “constants don’t change”. I can not count how many times I have had a team lead or development manager ask me if I could research and implement a new technology or process that no one at the company has utilized. Most of the time it requires some cutting-edge technology that has very little (if any) documentation for reference.
Since change is constant, then what does that mean to those contemplating a career as a programmer? My experience and personal opinion is that understanding the semantics of whichever programming language you are using is important as a programmer, but the most valuable attribute is the ability to thrive and drive to immerse yourself in change. What I have found that undoubtedly separated those programmers who remain complacent in their programming and those who ‘have what it takes to succeed’ is volunteering for the change that is imminently coming.
If you would like to learn other skills and traits of being the type of computer programmer that created awesome software like Google, Facebook or Dropbox, I recommend reading The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact by Edmond Lau.
For anyone who would like to donate to provide books, software, etc. to computer science students I mentor from Georgia Institute of Tech and Kennesaw State University, then feel free to donate with the button below. If you have you have any sore feelings towards either establishment, please do not feel obligated.
charitable donations toward computer science college students
This charitable amount will be used towards books, software, tuition, etc. to help the future of computer science students to drive innovation for this country.