On “Career”

It’s graduation season again and kids fresh out of college are out there looking for or choosing jobs. One of them posted a question over at the PhRUG Facebook Group last week and I replied a lengthy series of comments.

I just thought it would be timely to repost them here and make a blog post out of them.

Original question:

Good morning mga sir/ma’am! Tell me if this topic isn’t welcome in this group. :)

I’m a computer engineering student, graduating this april 24.

I need to choose between Accenture and X-Company (private name :) ). This X-Company uses Ruby on Rails. Later at 8PM I’ll be having my Final Assessment in Accenture for Associate Software Engineer position. At 3PM, I have an appointment (probably Job Offer too) in X-company. I need to submit my very very very first web app (is this the right term?) made in Ruby on Rails to them. The bosses there instructed me to do a basic web app made in RoR for me to get hired.

My question is: Are there lots of companies in the Philippines which use RoR? Naiinspired (let’s just say, medyo naiinggit na naiinspired) ako sa ibang tao na nakikita ko na 6-digits ang sahod nila as Senior Software Engineers. I can’t go into that position kapag sa web ako, diba? Although in that X-Company, the possibility na maging pioneer ako is very high. Kasi starting company palang ito dito sa Pilipinas. Ang orig branch niya ay nasa Canada.

I think the misconception here is that web developers are not software engineers.

Yes, some people who setup WordPress and pirate themes can be considered “web developers”. But there are also enterprise web developers that build web applications for large companies (e.g. government and financial institutions), and they are also called “software engineers”. Even this site you’re on right now is being built and maintained by highly paid web developer software engineers.

And here comes the reality check: hindi ka makakapili ng “magandang career”. It’s what you make of what life gives you that will determine if your career will be successful or not.

Maybe if you accept the Accenture gig, you’ll be on the fast track to being a senior dev in a few years. Or maybe you’ll be unlucky and get assigned to a horrible team and a death-march project then get burned out in a shorter span of time.

Maybe if you push on with learning Rails, it will finally click into your head and you’ll get a 6 digit salary by your second year from your day job and freelance work combined. Or maybe you just won’t get it and decide to move on to something different like mobile development.

Point here is that either way is good. No one can predict where life can take you, so please don’t think of this choice as a “do-or-die” one. As long as you invest a good portion your time to personal growth (e.g. studying technology/business/finance, expanding your personal and professional network, keeping yourself healthy, etc), and in turn, significantly increase the opportunities available to you, you do not need to worry about the outcome of this decision.

someone else’s response:

IMHO, don’t let the $alary be your driver for your career.. but, your passion.

Passion is great, and passionate people get far in this industry.

However, keep in mind that many people will try to abuse your passion. It’s no surprise that overtime (paid or unpaid) is very common in this industry.

As for salary, I’d say it’s also important – but you must quickly learn how to manage your finances. A person earning 40k (net) but spends all of it on stuff that fails to make him happy is obviously worse off than a person earning 20k who saves 8k (or more) after spending only on necessities and stuff that she really enjoys. Then there are other stuff like credit cards, investments, avoiding scams, etc BUT THIS IS A RUBY GROUP, DAMMIT! so I won’t talk about them.

One thing that’s definitely more important than salary is TRAINING. Being paid well as a junior developer doesn’t matter if you don’t have good mentors around to show you the ropes and teach you good practices early on.

a side comment to close things out:

Bryan Bibat ibang level talaga ang advice mo *bow*

*shrugs*

It’s not rocket science, people who have gotten out of the rat race will give you pretty much the same advice (most people don’t get out of the rat race, though). I just wish someone would’ve given me that type of advice in my first years of work rather than learning them the hard way. Would’ve spared me years of suicidal depression.

Baguhan Biyernes: Laman ng Portfolio

Sabi nga natin noong nakaraang buwan, mas mabuti na gumawa ka na lang ng sarili mong portfolio kaysa maghabol ka ng mga certification, mas lalo na’t libre lang gumawa ng Github account para ipakita mo ang code mo pati na rin sa paggawa ng pansariling website.

Pero kahit mukhang simple lang ang payo na ito, mayroon paring mga bagay madalas itanong ukol sa mga portfolio.

Continue reading “Baguhan Biyernes: Laman ng Portfolio”

Baguhan Biyernes: Pag Natanggap sa Trabaho

Congratulations, natanggap ka na sa una mong trabaho! Pwede ka nang mamahinga at makakuha ng limpak-limpak na salapi mula sa iyong pinagtatrabahuhan!

Sa kasawiangpalad, hindi nagtatapos ang kwento mo sa pagtapos ng kolehiyo at pagkakuha ng trabaho. Marami ka pang kailangang gawin (at bigas na kakainin) bago ka maging isang ganap na software developer.

Continue reading “Baguhan Biyernes: Pag Natanggap sa Trabaho”

What programming language should I learn?

I got to talk for DevCon again last Saturday at STI Makati. Instead of preparing a new talk, I just rehashed an old talk to save time. The new talk is also over at Slideshare.

Anyway, the point of this post is to answer a question posed to me by a student in the Q&A portion of the talk:

Anong programming language ang dapat naming pag-aralan?
(What programming language should we learn?)

Here’s a question I wouldn’t want to hear answered by someone else (i.e. someone who’s also invited to talk to students). The question itself may seem simple, but unless you’ve seen how the industry works as a whole, you’ll probably give a wrong answer.

The traditional answer I don’t want to hear is to give a suggested list of languages based on market demand.

Simply put, this is bullshit. This is the same sort of bullshit that pressures our youth to take nursing courses even though they’re just in it for the money, money that they probably won’t get due to the eventual over-supply of nurses.

So for the student’s question, I gave two answers:

Programming language and platform choice doesn’t matter, because for the most part it’s a business decision.

Yes, I’m talking about steaks and strippers. In a large company, you may be initially hired to work on a single language, but eventually there will be a time where the company will make a business decision to shift technologies, whether due to market pressure or due to a new client. If you focus too much on a language, you will not be prepared for the change and you may end up getting fired or demoted.

In smaller companies or in a freelance setting, language still doesn’t matter, though for another reason: the client will not care about the language as long as you deliver the product.

This leads to the other answer:

Focus on the fundamentals, not on the language/platform.

A common mistake among fresh grads is that they’re confident they know language A or platform B because they were able to make their school projects or theses while at the same time not having their fundamentals down pat. Not only does this make them inflexible in terms of learning new languages, it also makes their work brittle and sloppy.

In other words, a student who has 4 years of school “experience” in Java is nothing compared to a developer who just had learned Java a month ago but has solid fundamentals in OOP.

You might say “Screw learning, I’m just in this for the money!”. But the fact is, there’s this thing called the Python Paradox: developers who are passionate enough to learn more than their peers often end up in higher-earning and less-stressful jobs.

Bottom line: There is no “best” language that you need to learn in order to earn a lot of money. However, if you have good fundamentals, learning the language and platform that the market needs will be much easier for you.

“Menial” Labor

sign

My parents don’t get along with me but once in a while some topics come up where I can join in the discussion.

The topic in question was about an aunt worrying about one of my cousins, namely, the lack of direction in his life. He graduated college, but unfortunately failed the board exam. Which is kind of expected: from what I’ve heard, he spends his time just lazing around the house or hanging around with friends (most likely playing DotA). He’s also somewhat spoiled; he only got his OJT work because his mom pulled some strings in her company, and he couldn’t get a job on his own now that he’s graduated (not to mention that his mom even had to accompany him to PRC to see his board exam results ಠ_ಠ).

In short, he’s exactly the opposite of me.

(Well, aside from the lazing around the house part which I did for over a year. But then again, I used my savings then and didn’t take a cent from my folks.)

Anyway, even though I’m usually quiet about these discussions, I couldn’t help but give my (snarky) 2 cents:

“Why don’t they let him apply in McDonald’s or something?”

It was only later that I realized that my suggestion actually made sense.

Continue reading ““Menial” Labor”