Let us begin.
So I just graduated a year ago with a bachelor degree in Computer Science along with more than a thousand students around the world. Looking back to my first year, I was wondering what subjects should I put my focus into. Well, why? Because not all of those were interesting. Some are junks and only possible to be understood by practice, not theory. So, in the end, I just focused on Calculus and Linear Algebra. Yes, you read it right. Only those two subjects. The rest are either memorizing shits or ideal lies. (As I knew already what is really happening already).
As things went smoothly for me, what I really did was clogging my brain a night before the exam and flushing those shits right after. That's all. I didn't care about anything but my scores. I didn't care about how those theories works especially entrepreneurship and character building.
I didn't care about those, why? Because those are impractical and the situation is so different than those books (or slides taught). OMG, I don't want to go near those subjects anymore. Now, as for the technical subjects; Programming and such. In my opinion, the real things were OOP (Object Oriented Programming) and Software Engineering. Why? Because no matter what program or project you want to do, planning is the most critical part. You have to be able to count the man-days and the cost of resources (including time, people, and sometimes commercial libraries or frameworks). You have to be able to understand the client's need from A to Z and discuss it to clarify that there will be no more changes during the production.
That being said, before I continue my rant;
Dear respected clients, please understand that giving surprises like changing a flow or adding a feature into the project scares our programmers the most and you neither want to prolong the deadline nor pay a little bit more for the mess you are making. Therefore, please restrain from doing so.
Rant continues;
Now I have given you the picture of what's happening. Do you think handling and analyzing those are taught in college? Not in my case. I only taught to draw diagrams and blahblahblah. Honestly, those are not so bad, but really, it was lacking. Things like Database Architecture and System Analysis and Design should be the core of the major. Not programming. A nine-year-old girl can learn to write a program within a week. We, as college students should be able to analyze and design manageable programs or projects.
And I think things like Character Building should not be in the syllabus. Those are practical and it is impossible to learn those just by reading the book. Geez. Just a waste of our parents money and time. In my country, however, things like Religion become a mandatory subject and if you failed those, you can't pass to the higher class. One thing I hate the most was I was told that if I can't write cursive letters properly, I couldn't pass the class. What kind of nonsense it is!
To conclude my rant, I will close this post with some advices which I hope helps you to learn what you actually need.
- For the moment, focus on things you can't learn anywhere else. (listening skills, managerial skills, communication skills, negotiating skills, any softskills you thing you are lacking or trending hardskills)
- If you are not in the college yet, just be good at mandatory subjects as it will decide your graduation, ain't it?
- Please free your mind from irrelevant things which are impractical or of no use in your near future (set your vision first).
- If you can't escape the system, play along nicely. But never ever give in.
- For things that you can learn anytime-anywhere (such as programming, drawing, etc.), please, I beg you dear younger generations, learn and polish those skills you love. You have much free time than I do.
- If you just learn to code, don't bother about the structure or how to code cleanly. Focus on the problem solving. Don't forget that the use is to solve real world problems. But remember you need to maintain your code, you'll get the idea of clean-code soon after.
- For you employers, stop looking for someone who are good at everything. You need someone to cooperate since you need someone to deal with thing you don't want to / cannot do. And don't be too stingy or micromanaging.
- Never pick a job for the money. Are you sacrificing your health for an extra zero in your account? Don't be such a fool. Your health is your best friend. Eat well, sleep well, be happy.
- 3 things that might be a sign for a good job. You love it, You can do it, The payment exceeds your basic needs.
- Never forget people helped you in the past, and forget all your good deeds to the others.