Studying or learning a craft is meaningless if you haven’t found your way or passion. Within each craft there could be several areas of expertise to choose from. Information Technology is no exception. From Software Engineering to Data Mining, Web Development to Systems Administration there’s a whole lot of choices. You will get exposed to a lot of them in any good University. So how do you find your sweet spot? Here’s how I did it.
Hold on, wait… before you roll your eyes, hear me out. In my last post I mentioned finding your strong points - meaning what you enjoyed doing. Sounds cliché? It shouldn’t.
How many times have you changed your mind about what you wanted to do? Actually, how many times have you changed your mind about something as trivial as where to go out for lunch with a group of friends? Doesn’t matter how bad you want that sushi: you will follow the crowd.
What I mean by this is that we tend to let a lot of factors and standards influence some of our decisions about what we want. That is completely fine and expected of a social-heavy species like ours. But what is NOT fine is when this behavioural pattern ends up affecting more than our restaurant choice. Say for example… your career choice.
You should always trust your feelings when it comes to what you want to do. No matter how convincing anyone can be otherwise. Do you feel the call of a Cisco Router rather than an IDE? Does SysAdmin excite you more than the recent buzz of Big Data? Go for it.
Remember you will spend about half your life subordinated to your decision. You’re already in IT. Fortunately and so far, whatever you choose can’t be bad.
Now, with this I don’t mean that you can’t switch later on. What I am saying though is that there isn’t a more fertile, agile and overall better time to experiment with that decision than University. Jumping areas of expertise later on can be done - but it will take extra effort.
The main issue is having the wrong standards. Unless you discount your own happiness for money, salary reports are the big one. But the worst of them all, especially in University, is grades. I am so glad I got over that one. Allow me to elaborate.
…that much. Let me tell you a story.
One of the courses I took during my degree was “Systems Integration”. In theory it was about how different systems could communicate agnostically. So we learned about XML, XSD, SOAP ( I know…) and Web Services (I SAID I KNOW). So I guess the modern equivalent would be about JSON, parsing and REST. Nevertheless, it ended up being one of my most favourite, if not The Most favourite, courses I took. The project was what really got my attention.
We were meant to write an application in C# that could read ePub files. It should save user statistics which along with the application settings should be stored in XML, validated with a schema (XSD) and sent to a Cloud for storage (a Web Service also written in C#).
Since we shared a passion for clean code and good architecture we spent hours agonizing over generic methods, interface segregation, good OOP practices, all that jazz. At least to the extend that any 3rd year student could, which obviously isn’t saying much. We had so much fun with it that we had the time to snap this photo on the delivery date:
What we didn’t spend hours agonizing over was making sure the requirements were met. We ended up delivering a very well architectured application… that didn’t have any connection with a Cloud service at all.
The grades came in: 10 points out of 20.
I can’t imagine how unhappy I would be today if I had based my decision on that score. That score ended up being meaningless. Why?
First, it taught me how features are the most important thing for any client (he definitely doesn’t care how optimized your cache routine is, he just wants that damn share to Facebook button implemented).
Secondly, it sparked my passion for clean organized code and proper object oriented programming, which drives me to this day.
And finally: we had 100% score in Software Architecture. That’s some ego boost coming from one of the best teachers I ever had when it came to good software practices and memory optimization.
Here I am three years later, happily employed and using a framework which actually has clean, beautiful, maintainable code as its core philosophy, daily.
In reality what matters is going for what you like doing, regardless of difficulty or opinion. In the end, it’s way easier to learn and grow in something you’re passionate about than something you were made to do, or made yourself do.
CHOOSE WHAT YOU ENJOY.
When you start staying up late watching talks and tutorials about a certain technology, you got yourself a keeper.
I myself had Android as my first choice (thank you for the bump Joaquim Ley ❤), and Laravel as my backup. I ended up with the latter. But I did come very close to accepting a BPM gig just for the pay.
I’d probably have a rope around my neck by now.