The software development skills I use in my career today are things I learned after college. So then my degree program was just wasted money, right? Let’s dig into that a bit.
I’ve been coding professionally since 2004 but started writing code in 1996. I had a couple of exposures to programming prior to that, but nothing serious. 1996 is when I started learning to code in the stretch that is still going on today.
In my degree program — Bachelor’s degree in computer science — we used C++ almost exclusively. Do I use any C++ in my work today? No. In fact, I haven’t used that language in so long, I would have to look everything up along the way to a simple console application.
In college, I learned all the basics of computer science. Classes on data structures, algorithms, file and operating systems, and object-oriented programming filled my schedule. I feel like it was a fairly complete CS program overall. Do I use any of that stuff in my day to day work today?
I’m a full-stack software engineer (though I lean slightly toward backend), and I don’t really use any of that stuff I learned in college. Linked lists, binary search trees, or custom data compression algorithms? No…why would I bother with that?
Do I really not use any of my degree program for my work? At first glance, I thought that all my degree was good for was having an impressive student loan balance to show off to friends and family over the holidays. We’d all have a good laugh, and then I’d go home and cry.
When I really started to think about it, I realized that while the specific syntax I code with every day is newer than my degree, I still use my formal training every day. My education gave me a solid foundation to learn anything else I would ever need for my career.
Even when using completely new languages, tools, and development environments, I’m still leveraging what I learned in college. It’s the foundation for what I do. When I work with dotnet core, node.js, and fool around with MongoDB, I’m doing it from solid ground. New technologies and languages drive my career today, but it wouldn’t do me any good if I never learned to drive in the first place.
Do you have to get a 4 year degree to learn this stuff? No.
Do you have to have a solid foundation of computer science principles to have a successful career? Yes.
In this field, learning how to do something will only get you so far. If your entire career is copying and pasting code from Stack Overflow, that’s just not going to cut it. You have to know why the code works. You have to know how to evaluate problems, formulate a solution, and then refactor your solution until it’s production-ready.
As a developer, you’ll have to explain to management why something can’t be done, but you can’t stop there. You have to propose another way to engineer whatever the business needs to reach its goals. To do that successfully and consistently, you need deep knowledge.
Whether you are 100% self-taught using YouTube tutorials, went to a coding boot camp, or currently attend a traditional university, make sure you have rock-solid computer science foundational skills. Then, from a position of strength, you can drive a successful career.
Once you learn how to code any why it all works the way it does, the rest is just details.
Feel free to subscribe to my YouTube channel for more content like this and also not like this.