Self-Taught vs. Degreed Programmer: Which is Better?
By Bruce Harmon, Ph.D.
As a self-taught programmer, you already know how to write code and design applications. So why get a computer science degree on top of that?
There are two reasons. One, getting a degree can make you an even better programmer. Two, it can give you a competitive edge in the industry. Here are some important things you’ll gain in a quality degree program.
Knowledge of Industry Practices
Learning programming on your own can be an isolating experience. With no instructors or classmates to guide you, you don’t necessarily learn common or standardized methods for writing code. Instead, you learn how to do things your own way, which means you end up having an individual style or approach to programming.
Here’s the problem, once in the workforce, you need to be able to work according to standard industry procedures. When you work on large projects with other programmers, programming becomes a team effort, and everyone must be on the same page.
So much of what class work efforts teach is how to relate to and work with various teams. From those within your immediate programming team, to interdepartmentally among those with different responsibilities, team skills are a necessity for success.
Whether you’re self-taught or pursuing a computer science degree, your goal should be developing strong programming skills. Self-taught programmers focus almost exclusively on writing code, however computer science programs focus on teaching you concepts behind basic programming. Sure - you can easily see when a computer program’s not working, but a deeper understanding of why it’s not working is what you’ll learn in a degree program.
Once you understand the theory behind programming, you can understand the applications of software design. This tremendously improves your diagnostic and problem-solving skills as a programmer. In an algorithms class, for example, you’ll discover more efficient ways to solve problems that you’re already used to solving.
Access to Wider Opportunities
Problem-solving is a highly valuable skill you can use to negotiate your career advancement. Further, obtaining a degree in computer science opens up more opportunities in programming than you’d be offered without one. A degree shows employers your training in computer science theory as well as programming. It also shows your ability to succeed through a rigorous program.
Ultimately, having a degree demonstrates your ambition, motivation and perseverance.
Bruce Harmon, Ph.D., is Dean of Engineering at Colorado Technical University. After nine years in the Air Force, he worked in defense and later at top-tier commercial companies for 17 years both in research and executive leadership positions. He earned a Ph.D. in Electrical Engineering with a minor in Computer Science from the University of Colorado and his M.S. in Aeronautical Engineering from Purdue University. Learn why he’s IN or connect on Twitter @CTUTech.
Image credit: Flickr/ahhyeah