I don’t have a computer science degree from a university, but I did study computer science for a bit before attending one. Most of my time at Penn State was spent studying how systems are designed and implemented in the practical context of modern enterprise business. I am fortunate to have worked in various roles in different organizations to gain the experience needed to develop software professionally. I don’t think a computer science degree is necessary for someone to excel in the field, and for a lot of people that want to make a living writing software a computer science degree isn’t a requirement. 🎉
I do think that programmers who have exposure to computer science disciplines often produce better results than their less-exposed counterparts. Computer science can be a scary word for those of you programmers just starting out. It doesn’t have to be. Seek out information and learn about the 3 themes of CS on your own.
- Learn how to develop good algorithms to solve problems in pseudo code and diagrams.
- Learn a compiled language and an interepreted one, learn a functional style and object-oriented style.
- Learn how computers are put together.
It will feel overwhelming, but you don’t need to master it all. Learn some of the top level concepts and drill down into the details where it interests you. Remember that it’s not an overnight revelation; it’s a continuous learning adventure. You may just find yourself writing RESTful CRUD APIs in Python and never need to master any of the topics in any of the themes mentioned.
Image credit to “A Computer Science Tapestry, Exploring Programming and Computer Science with C++”, Owen L. Astrachan, McGraw-Hill Companies, Inc.