Categories

Tag Cloud

Chat With Me

Sponsors

Powered by Coretechnique Systems Proudly Pinoy!
Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5.00 out of 5)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

On the High Turnover Rate of Software Developers or How to Retain your Best Software Developers and Programmers


_resign It is not exactly news that programmers love to quit their job. It is an industry-wide obsession. The annual turnover rate for the High-Tech industry in 2008 is a little bit above 20% (2 out of 10 employees quit every year). A typical programmer on a typical software company stays for about 23 months on average. For an employer, these figures are scary – especially if you employ skilled workers such as programmers and software developers. High turnover rates of skilled professionals can pose as a risk to the business or organization, due to the human capital (such as skills, training, and knowledge) lost.

Having been a newbie software developer (and I’m still fairly “new”), I did not understood why software developers in our company are quitting. Having been a fresh graduate, I was, then, still amazed by the fact that there are people out there in the real world that will pay me real world money just to write code – a hobby that I will do for free. I was puzzled. We are working in an environment that fosters creativity and innovation, a company that strictly subscribes to the “programmers’ bill of rights”, and a company that scores high in the Joel Test (11/12).  Those, plus the fact that we can surf Facebook anytime and drink all the brewed coffee in the pantry, made me believe that this is the best company to work for locally; it made me believe that anyone leaving our company is insane.

_1783-Hackers_and_Painters_Big_Ideas_from_the_Computer_Age Just a few months after starting my job (I had my internship there for 6 months), one of the bestest programmer I know (he’s actually a “software architect”, but hates being called one), my mentor when I was still an intern, filed his letter of resignation. This guy is one of the most passionate programmer I know. He gets it. Paul Graham classifies him as a hacker and he actually worked for Microsoft (in Redmond, not the local whatever-they-are-doing-there branch).

For some, asking people why they quit their job is taboo; I actually enjoy having those type of conversation. Gives me insight. So I asked the fallen hacker, “Why did you quit?”. He pointed to the picture of his new born baby (his desktop wallpaper) and said with an enthusiastic smile “He is my new priority”. He then explained to me, in a fashion that I would understand, why working overseas means “better opportunity” for his family. Being a bit unconvinced with his explanation, I asked him “Is that all? Better opportunity?” and he replied back with a playful smile, “In my new job, I will be able to code again. I will no longer be a ‘Word Programmer’”. He has always joked about being a Word Programmer – programming in Microsoft Word using narrative texts (use cases, scenarios, etc) and UML diagrams; programming by story telling. He was indeed a hacker.

Having spent a year and a half on this job, I can say that I now have a vague idea on why programmers (or I.T people, in general) quit. Even though I’m only a year-and-half year old in corporate servitude, I had been handled by four managers and had been transferred to four teams and that gave me great insights on the crucial dynamics that affects employee turnovers. In my year-and-half stay, I have seen three managers, a project manager, two architects, four senior developers and a handful of intermediate developers go. Just a few months ago, four of my teammates left. The statistics above is a little off; it is more than 20%.

Continue reading “On the High Turnover Rate of Software Developers or How to Retain your Best Software Developers and Programmers” »

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

The Importance of a Dedicated Build Machine

Build Server

When I was an Intern at a large Global 500 company, my major responsibility is to deliver a Software Delivery process that uses the software engineering practice called Continuous Integration. In simple terms, I am responsible for a project to create and setup a Continuous Integration Build Server that will be used to “build” the company’s products.

During those days, when I hear the word “build” or “compile”, the first thing that comes into mind is to press the F5 button. Ever since I started programming, when someone asks me for a copy of my program or if I need to distribute the “binaries” of my program, all I do is press the F5 button to create an EXE (sometimes with a DLL), then browse to the output folder(Bin) and copy the binaries. Suffice to say, that is my “Software Delivery” process however crude it is.

In College, I got a little bit more sophisticated. My major projects are all carefully packaged in a very neat MSI installer — but that is just for the major projects. Most of my standalone tools are still made using the “Press F5 button to build” method. :lol:

Continue reading “The Importance of a Dedicated Build Machine” »

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

Migration: Why Developers Hate Microsoft or Why Developers Hate Vista or My First Encounter how Microsoft can Break your Software

Do you know how much Programmer's Blood it cost to put this tiny sticker in a Software Box?

Do you know how much Programmer's Blood it cost to put this tiny sticker in a Software Box?

In my previous blog post, I’ve mentioned that I’m working on a project to migrate an entire product line to Vista. What I meant by that is that I am responsible for making sure that our current product will run properly on Windows Vista. To guarantee that it is indeed Running Properly it should behave *exactly* like it behaves in Windows XP.  In simple terms, my entire job security is riding on making our products compatible with Microsoft’s failed attempt at a MAC-ish Operating System and with Microsoft’s successful attempt (a first in their history) to make their operating system NOT backward compatible with older applications. So much for Raymond Chen’s camp undying obsession with backward compatibility.

This products that I’m talking about are a set of Web Applications written in ASP.NET version 1.1. This web applications are as old as Windows XP. :lol: I checked its File Modification History in our TFS repository and the last time that anyone have touched its code base is in 2005 — and that’s just for a minor code modification to fix a bug. I believe this apps were written way way back in 2004 — when I was in Third Year High School! :)

To make this products compatible with Vista, there are a couple of steps that had to be done. I’ll enumerate each steps and what it takes to accomplish them.

Continue reading “Migration: Why Developers Hate Microsoft or Why Developers Hate Vista or My First Encounter how Microsoft can Break your Software” »

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 2.20 out of 5)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

Coding Horror 01: Readability vs Efficiency

My First Official "Coding Horror" Encouter

My First Official "Coding Horror" Encounter

Back in College, I have a friend who’s programming prowess is so godly that it can surpass or match mine :D . He is a C++ Junkie and belongs to the Java Cult. His mental agility is so great that he can beat me in writing complex algorithms anytime of the day. In fact, I chose him to be the “Architect” for our project in Compiler Theory Class (Kompayler Studio 2008: The First Tagalog Kompayler, Programming Language and IDE). He is THAT great of a programmer… BUT

Being a Great Programmer is not the same as being a Great Software Developer

“Aren’t programming and software development the same?” Uhhmm, NO. Programming is just a single part of Software Development. Software Development, on the other hand, is an entirely different song and dance.

In one of our converstations, I told him that instead of reading books about programming he should try to read books about software development. I gave him that advice not because I want him to suck in programming (I’m not that envious). I gave him that advice because I want him to realize that programming alone won’t make a great software product and that programming prowess alone won’t give him the best programming job around… at least here in the Philippines.

One of our main differences is reflected on how we write code (which eventually shows in our software). For example, say that we have a project that requires us to deliver a Simple Number Sorting Application that will ask the user to input 50 numbers and sort it. This project is resource constrained in such a way that we need to deliver it in 2 days.

Continue reading “Coding Horror 01: Readability vs Efficiency” »

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4.00 out of 5)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

Deadlines: I used to love them

Just a day after graduation, I received a congratulatory note from the Director of Software Development at work. The email is addressed to the whole software development department and it goes something like:

“Congratulations in accomplishing another milestone in your life. Now, there’s a new milestone that you need to accomplish…”

DEADLINES!



Continue reading “Deadlines: I used to love them” »

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

Leadership: Why I Love Going to Work

On April 17, 2009, I will be attending a leadership seminar sponsored by Accenture Philippines. Accenture Student Leadership Conference is a 3-day seminar that will be held somewhere in Tagaytay.

According to Accenture’s website, participants will “learn about key Accenture leadership contribution areas by being value creators, business operators, and people developers through seminars and fun activitiesThey will also hear first-hand testimonials from some of the top Accenture Senior Executives, Managers, and Leads from various workforces and projects”.

If you have attended at least one leadership seminar in your life, you know that it will be full of ego-massaging and morale-boosting talks from some senior-management guy from some Fortune/Global 500 company. And some funny “group dynamics” that the event coordinators will link to a certain “leadership” quality but in reality, it will just make you tired and sweaty. I have yet to attend a leadership seminar that will really teach me on how to be a really good leader. Accenture SLC… here’s hoping!

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

Localization: A Programmer’s Dirty Job

When I was in College, I was amazed that the suits (”Business People”) are so willing to pay me good money just to spew out pieces of code that would eventually end up in a crappy system somewhere. Well, that was the time when I thought that working as programmer is just about programming. Or, that was the time when I believe that majority of a programmer’s time would be spent writing code… building stuffs.

Nowadays, when people ask me about my typical day at work, I always tell them that I’m working on a Localization Project. Most often than not, the common reply is “What’s that? Does it involve programming?” Yes, it involves “programming”, if you consider replacing a bunch of strings to their localized equivalent as “programming”.

As Mike Rowe will put it…

Localization… It’s a dirty job!

Why is it a dirty job, you ask? Consider the English phrase “Preview and Spell Check”. Now let’s see how it will translate to different languages:

French: Prévision et contrôle de charme
German: Vorbetrachtung und Rechtschreibüberprüfung
Russian: ??????????????? ???????? ? ???????? ????????????

Continue reading “Localization: A Programmer’s Dirty Job” »

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

What makes a great programmer?

Lo and Behold, I will now commit geeky heresy by confessing that…

“Programming is NOT a talent”
Dummines can learn programming too.

Dummies can learn programming, too.

We, the nerds and the geeks, would like to believe that programming is a talent. That programming is… Something special. Something that cannot be learned fully. Something inherent — a gift from the gods. We would like to believe that programmers are born – not made.

Continue reading “What makes a great programmer?” »

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ... |
  • E-mail this story to a friend!
  • Digg
  • Reddit
  • del.icio.us
  • Twitter
  • Slashdot
  • Facebook
  • MySpace
  • Google Bookmarks
  • DotNetKicks

1 Software Developer == 2 Jeepney Drivers

Jeepney Drivers in the Philippines

Jeepney Drivers in the Philippines

I was wrong.

For a very very long time, I’ve always thought that the reason why Software Developers leave our country and work abroad is because of pure greed.

The realization came on the day of my job offer. Don’t get me wrong, their offer was good enough. In fact, it made me think of those developers who are receiving “average” or “below average” salary.

A lot of realization came to me that day… I realized why the people of this country is so angry with the government and corrupt government officials (READ: Taxes). I also realized that even if I graduated Cum Laude in a prestigious school and even if I am working for a Global 500 company earning above average salary, I will not be able to live on my own comfortably.

On that very moment, I am living in reality… the real world — Not in the fantasy world presented on those success stories in Time Magazine about how a geek changed the world and earned a few billion dollars in the process.

Continue reading “1 Software Developer == 2 Jeepney Drivers” »