Attention CS Majors

Jeff Benning
First Engineering Job
4 min readFeb 13, 2017

I get a lot of emails from Computer Science majors that say they are not confident in their programming ability. They can usually do the coursework and labs but still aren’t sure if they can make it as a programmer in the real world. CS majors probably have the most work intensive major of all of the engineering disciplines.

If all you are doing is the coursework, then I have some bad news for you.

That is not enough.

To make it as a programmer means you have to really know what you’re doing. College does a good job at teaching you these skills but there simply isn’t enough time to teach you everything. You’re going to have to go out on your own to learn how to learn the ins and outs of computer science.

The Class Projects Should Be Easy

You should be able to do your class projects with ease. If you can’t, then you need to spend more time out of the classroom learning how to code. I’m not going to lie, programmers have it tough. I only have a minor in computer science but I worked my butt off for it.

Lucky for me, I picked it up pretty quickly. I really enjoyed an introductory programming class I took as an M.E. and started learning to program games after that. They were nothing special and I spent hours upon hours just to get a ball to move on screen, but it taught me a ton. If nothing else, it taught me that hard work will lead to results.

This is exactly how great programmers are born. They put time into it. A lot of time. This really annoys me about programmers in TV shows. They are rarely shown actually programming and appear to be living these extravagant, overly social lives. Maybe when you’re older but when you’re a student, you’ve got a lot of learning to do. Just remember, if you don’t know it now, it’s not because you can’t. It’s just that you haven’t spent enough time yet.

So like I was saying, stay ahead of your assignments. Do the extra credit if it’s available. I had a couple of professors that offered the option of implementing extra features in our programs for extra points.

If that’s an option, do it.

You should also try to help others. There are students in every class that have a hard time learning programming. Maybe they saw Swordfish, or some other hacking movie, and decided they wanted to be the next great hacker so they signed up for computer science.

Help these kids. They don’t know anything. You don’t understand something well enough until you can teach it. And programming is such a teachable thing once you really understand it so make it happen. As Einstein said, “If you can’t explain it to a six-year-old, you don’t understand it yourself.”

Find an Extra Project

Ever looked into the world of open source code? I’m sure you have but if not, let me tell you a little bit about it.

In general, open source software refers to any software whose code is made available for anyone to see, use, and adapt as they see fit. This allows security in software as anybody can see if a piece of code is malicious or not. It offers adaptability for anyone who wants to expand on a project and improve it or implement new features.

Linux, for example, is an open source operating system. Have you ever wondered how an operating system works? You can see the source code for Ubuntu here.

GitHub is an online repository of code often used to host open source projects. There are over 35 million code repositories on GitHub so if you can’t find something there that interests you, you must not really like programming.

Freelance

The best way to learn coding is to simply sit down and do it. It’s great to build your own projects but if you can do it for someone else, you’ll learn what programming is like in the real world. You’ll learn about usability and the sometimes (often) unrealistic expectations of customers. You might even be able to make a few bucks doing it.

When you’re starting out, don’t expect to make money doing it. It’s great if you can but nobody is going to pay someone who’s never developed an app before. Find friends or family that have ideas and try to create something for them. It doesn’t matter if it’s been done before and it certainly doesn’t have to be the next big thing. The point is that you’re doing something outside of the classroom to advance your knowledge of programming. At the start of your career, that is invaluable.

Just get your stuff out there! Don’t start the second project until you finish the first.

Get it done.

--

--

Jeff Benning
First Engineering Job

I am a mechanical engineer, designer, and fabricator. I write stories on how to build things. See my work at JeffBenning.com