My talk was delivered mostly in Tagalog, not only to allow me to convey my ideas clearer, but also to have a deeper effect on the student audience. For this “transcript”, however, I will be paraphrasing my talk to English for the sake of possible foreign visitors.
“Transcript” below the cut.
Good afternoon everyone. I’m Bryan Bibat, and I am a freelance software engineer. Unlike the other speakers, I don’t represent a company or a technology (even though I’m wearing a PhRUG t-shirt). I’m here as a freelance developer; some of you here are already like me, while some of you will be like me in the future.
Let me first explain the title of my talk. I’m sure most of you here have heard comments like “Most of what you learn in college is useless in the real world” from friends or relatives in the IT industry. Personally, I prefer this phrase “from doghouses to skyscrapers” to show the difference between the academe and the real world.
If we put software development in the perspective of building construction, in college, you’re taught to build doghouses. You learn the fundamentals…
…for example, you learn the basic tools like the hammer, screwdriver, and measuring and leveling devices. In IT, this refers to basic programming techniques. When you go to the real world, though, you’re not asked to build doghouses…
…you’re asked to build buildings like two-story houses. Sure, you’re still going to use your hammers and tape measures there, but you’ll also need to learn other important stuff like plumbing and electrical wiring and all that. And if you’re hired to work in a multinational company…
you’ll be working on skyscrapers instead.
It’s clear that you really have a long way to go before you could start an IT career. So for this talk, I’ll be giving some advice to help you transition between college and the real world.
I don’t have a lot of time so I’ll just give you two pieces of advice. First advice:
[points at slide] Weird question huh? You might think it’s a stupid question — of course everyone knows the answer to that:
People go to IT for the money. It pays a lot higher that most jobs around.
If that’s your reason for being in IT, well, I have some bad news for you.
It’s not about the money. There are a bunch of reasons why this is the case, but again, since I don’t have a lot of time, I’ll just give 2 reasons.
First is the “hold-up” dilemma. If an armed robber approaches you and asks “your money/cellphone/bag or your life?” what would you do?
Obviously, you’d give the guy your stuff. Dying isn’t just worth it.
In IT, it’s easy to get a lot of money. Take a high paying job that requires you to work overtime for days on end, one that makes you work on Saturdays, Sundays and holidays. Or you can take a job abroad, away from your friends and family.
Before you know it, you’ve already sacrificed your physical health and social life for the money. By the time you notice it, it may already be too late: you chose to give up your life instead of your money.
That’s one of the reasons why I’m freelancing now; I may be earning a lot less than what I used to, but I only need to work 2-3 days a week.
The other reason why you shouldn’t do it for the money: when you’re genuinely interested in IT, you’re bound to earn more in the long run.
Here’s an example:
Developer A is in it for the money. He goes to work, codes, and goes home. At home, he watches TV, browses Facebook and Twitter; basically what most IT people do when they go home.
Developer B is like Developer A, however, instead of just watching TV and browsing Facebook, she also spends some time reading on the latest trends in IT. She also uses some of her free time to try out new technologies.
After ten years, who would you rather be: Mr. Visual Basic 6 Developer A, or Mrs. “I-earn-thousands-of-dollars-per-month-on-iPhone-apps” Developer B.
Knowledge and experience goes a long way especially in this industry where technologies come and go every the year. You can’t take advantage of that if your main priority is simply the money.
That’s it for my first advice, let’s move on the to the second:
A sure-fire way to get a job in IT is to build yourself a portfolio. Everything just falls into place when you build one.
First, when you’re doing your portfolio, you’re going to learn a lot of new technologies that you don’t learn in class, or if you do learn them in class, they’re nothing but a simple blip on the final exam. These techniques and technologies might appear to be trivial in college, but in the real world, these can form the cornerstones of the biggest websites and the most complicated systems in the world. The only way you could learn their importance is to go out and study them on your own.
Second, when you build a portfolio, you gain experience. Real experience.
I’ve been a technical interviewer before, and I tell you, nothing is more annoying that seeing a college graduate who has passed his OOP courses not be able to write a getter/setter method on a piece of paper.
Now, had that interviewee tell me that he is familiar with the architecture on this slide, and could even proudly claim that “I’ve done that in a project once, here’s the link to the source code if you want to see it”, I’d immediately recommend that guy for hiring because I know he could hit the ground running and not waste extra time for training.
Of course, when you build a portfolio, you will have questions whose answers you can’t find via Google. And so you enter one of the local users groups to ask your questions to the people there.
By doing so, you slowly establish your presence in these communities. Later, when you have improved your skills to the point that you are on par with the members of the community, you’re a lot likely to get job offers and referrals from the other members of the group, making your job hunting a lot easier. This is what’s happening right now in some of the groups like the Ruby and Python groups.
And finally, there are free ways of getting your portfolio on the net for free like Multiply, WordPress, github, etc., but it doesn’t hurt to buy yourself a .com site.
For one, it’s not that expensive. Learning how to manage a website is also a good experience. And there’s also the perk of having your personal website on top of Google searches of your name instead of your Facebook account.
So in closing, here’s my two pieces of advice again: Know your purpose, and build a portfolio.
Thank you for listening. This picture of fiesta ham doesn’t have anything to do with my talk, and so the floor is now open for questions.
Questions from the Audience
I’m taking a journalism course. How do I get a career in IT?
Simply put, you don’t need to have an IT degree to get an IT-related job. I have friends with Fine Arts degrees working in IT right now.
This is what my second advice is all about: you need to get your hands dirty in practical IT work to gain the skills, knowledge and experience needed to work in IT. An IT degree might help, but in the end what matters is that you have the ability to build stuff. Once you have that, it’s only a matter of time before recruiters come knocking on your door.
Do certifications help in getting a job?
It depends on what type of job you’re applying for. For example, I’m (points at logo on t-shirt) mainly a Rails developer nowadays and there’s no certification for Rails developers.
But overall, no, I don’t believe that certifications get you ahead. That certifications don’t mean much compared to, say an easily viewable portfolio of work or a contribution history to open source projects.
I personally am certified for SCJP 5 and PhilNITS, but I never got to use those certifications ever.
(The funny part here is that, apparently, some guy was advocating certifications earlier that day. The consensus among us speakers is that certification is useless, or at most, not enough to push a person to the level the industry needs.)
Do you advocate the use of open source software?
If you haven’t noticed yet, I’m currently using open source software [turns presentation off]. I’m using OpenOffice running on Ubuntu.
Open source is the best option if you’re building a portfolio. You can practice a lot of technologies with the use of open source, from web development using PHP, Rails, Django etc. to mobile development with Android, all for free.
But if you want to build a portfolio using proprietary software, sure, why not. To build iPhone apps, you’ll just need to shell out $100 for a developer license and around 50k for a decent machine…
Follow-up question Is open source software used in the industry?
Yes. A lot of institutions and governments have already switched to open source.
The main problem facing open source is the marketing departments of the proprietary vendors. For instance, MySQL vs Oracle… oh wait… [looks at the banner of sponsors at the back of the stage] they’re both owned by the same company now… ok, Oracle vs PostgreSQL.
For almost all cases, there’s no difference between using Oracle and PostgreSQL as databases. The former gets business from branding and aggressive marketing, as well as promises of better support.
If the head of the IT department is aware of these facts, they’re a lot more likely to choose open source software. So in the end, it’s all a matter of whether the higher ups are vulnerable to sales talk and not a matter of technical superiority.
I’m lost and I don’t know where to start in IT. What can you suggest?
Since the Internet is ubiquitous, I’d suggest you start with web development first. Study PHP or the like, download and deploy WordPress or Joomla and learn from there.