What I wish I knew when I started the Software Engineering degree in college
Tags: firstpost, college, programming, beginners
Published: 2021-09-02 19:44:57

When I was young(er), I was an artsy student that didn’t have a clue about maths, graphs, or coding, at all. I didn’t belong to that world. I started the degree because I wanted to end up working in the videogame industry, more precisely the graphic part, but, where I live, degrees related to arts are the most expensive of all and I didn’t have the means to do it. So, young me, determined to get into college, decided that getting into the Software Engineering degree, finding a job, and earning my way into the degree I originally wanted to do was my path to follow.

As you might suspect, it didn’t quite work that way for me.

What happened was that for me college became a rollercoaster of emotions, changes, and situations one does not expect to have to overcome.

In the last eight (to nine) years, I’ve had two nieces, a break-up, a new and flourishing relationship, people I love greatly being hospitalized for chronic diseases, the loss of a cherished person, and I have yet to even finish my degree. There were many ecstatic moments, while others were quite rough.

My point is, no matter how much you plan for something, there will always be situations that escape your control. Don’t fret. Currently on my 9th year of a 4-year-degree, I’m by no means an expert, but by now I’ve accumulated quite a bit of experience on college and what it entails.

Most of the people I’ve met in the degree have ended up there, like me, almost by chance, and had stayed, also like me, because they got *hooked* on programming.

To me, Programming is something akin to reading a good book or a watching a particularly interesting series on TV. You binge watch an entire season and, when finally, everything is going according to plan, all the plot lines had taken a turn for the worse. The main character is missing or possibly dead, and you don’t know how it’s all going to be solved, but you are already craving the next volume. You *need* to keep on with it. It puts you on a sort of trance for hours on end, where you sometimes even forget basic things like having lunch or the fact that you’ve been sitting in the same, weird position for so long and you suddenly realize both your legs have gone numb. Yep, ouchie.

Jokes aside, if, like me, you get hooked up on programming, don’t lose from sight the bigger picture. You are going to spend four years (at least in Europe) learning a multitude of skills and concepts, sometimes just tangentially related to programming at best. Do not neglect the other fields of study just because they might not be as engaging to you, try to pass them as soon as possible.

Don’t fear teachers but respect them like you would anyone. Don’t hesitate on contacting them by email or try to drop in some question during or after class. Experience has taught me that most of them appreciate the interest, so show some.

If you get stuck in any subject, ask for help. Really, ask questions, contact teachers, ask them for meetings. It’s hard, I know. If you are a bit on the shy, or stubborn, side, like me, possibly the hardest. Well, work up the courage or swallow a bit of your pride and raise your hand. Asking for help it’s not a weakness. To acknowledge you cannot do it alone, or that you need a bit of a push to keep going forwards, can make your path smoother and dramatically decrease the time, and *frustration*, spent in some tasks.

Trust me, in the end, you’ll be glad you did it.

I’ve found that it helps me to establish a time limit. Whenever I have a problem and find myself stuck, I set myself a deadline. If I get to that mark and I’m not yet going anywhere with my problem, I *must* ask another person for help. This way, you can avoid spending too much time on the same problem. If possible, one can give the problem a break and come later to try and tackle it again. You’ll be amazed at the wonders a clear head is capable of.

In the same line, one of the bests pieces of advice I’ve received has been “get up, go have a walk, wash your face and drink water.” Usually, after long hours working on tasks and studying, one can become overwhelmed, and it might sound typical, but it’s very important to give yourself breaks and stay hydrated. The most important key to time management is to establish a plan and following through with it, but you must also take into consideration your health. It won’t serve you well if you accomplish a task and by the end of it you are sleep deprived, in the brink of exhaustion and burn-out.

If you suffer from anxiety, depression, ADHD, or any other kind of disorder, it becomes even more important to give yourself breathers and to put in your eight hours of daily sleep. There are going to be times when sleeping seems just plain silly due to your deadlines but investing more consecutive hours on something does not necessarily mean quality work. Don’t force the machine.

(On a side note, if you have ADHD and really struggle focusing on exams, consult the regulations of your school on the matter, some universities give you extra time. At least in Catalonia, Spain.)

Regarding the path to follow on the mid to long run in the degree, it is important that you complete the degree at your own pace. The established route is good and well if you can tackle it but, if you find yourself biting more than you can chew, trying to keep up the pace with the established timeline is only going to put a stress and weight on you that won’t help you to keep going forward. It is more important that you make the most of each subject than getting the degree within the ‘standard’ timetable.

Above all, you do you, no matter what others tell you. In the end, it is going to be *you* attending lectures, pouring effort on assignments, and doing exams. In the future, you will have to learn to balance work and life. In that regard, college is similar, more so if you also work on a part-time job on the side. Be conservative and make sure you have the time to sort through the little bumps you will be going through.

When you don’t find a bump but a slope on your way, the first thing you must do is to take a deep breath. Of course, it all depends on the context, but problems are usually less of a monster than we think them to be at first glance. If you can’t find the solution to a problem, no matter what kind of problem is, talk it out with someone, anyone. It often helps to do so, not because of the advice they could give us, but because putting the problem in words and laying it down for another person to understand makes us break it into little, more attainable pieces. It kickstarts our brain into thinking about those little pieces.

In my field, there’s this thing called ‘Rubber-Duck Debugging’ which is… exactly what it sounds, explaining a rubber duck a problem (in the context of programming, a ‘bug’). Personally, I’ve found more efficient to explain it to a colleague rather than a ducky, but I still have mine on the desk.

In the years you spend at college there are going to be ups and downs, there are going to be times when you consider switching out of the degree, or maybe to drop everything and move out to the country, maybe with your duck and a couple of plants. Know that you are not alone. We all doubt sometimes, just ask around. What you need to ask yourself at those times is whether that doubt is due to a particular stressful situation that will end up disappearing or if it is really because you are not liking what they are preparing you to do.

One key concept someone told me was that you do not have to know what you are going to do the rest of your life. You don’t know if, twenty years from now, you finally do decide to move in with the sole company of your ducky and start a botany career (yes, I have a thing for that, sue me). You only have to figure out what do you want to do for now, what job you want to end up working on in the next 5 to 6 years.

All things said, breathe, smile, and work hard. Whatever **_you_** end up doing, give it your best.