Understanding the “software developer” in the other guy

Time and again, the newspapers in India run stories about the talent gap in the new recruits saying that most of them are unemployable. In my experience of being in position where I have to recruit along with leading and mentoring people, I must say, that’s unfortunately… true.

I have had a lot of young guys come to me for a job as software developers after having passed out of their college. It seems that they believe the IT industry to be a sun shine industry where the pay is good, the perks are high and you seem to get a sense of achievement when you work. Well, that’s true to some extent. However, what most job seekers don’t stop to look at is… themselves.

The first question I ask a person who comes to be for a job is why they want to become a software programmer. If the answer circulates around invention / innovation then I am happy to take them to the next step. If they answer anything else, I am not too keen anymore. Why? Because programming is all about invention and innovation. If you don’t like solving logical riddles, chances are you are not going to end up being a good programmer. In fact, you are more likely to quit or stagnate pretty soon in your career as a programmer.

You see, programming is an art of visualising what’s abstract and/or can’t be seen. It has to be perceived and understood logically. You are going to see cause and effect and it will be your job (as a developer) to figure out the process in between. Not only that, you will also need to cross-verify your hypothesis at every stage. If learning doesn’t excite you, its probably best to stay away from this field. You need to have a keen sense of observation.

People like to believe that they have it in themselves… and a lot of people probably do. However, there are easier ways of figuring that out than getting a job and spending a a few months / years.

So you may well ask, “I like programming but find it difficult to do so… what do I do?” Valid question. What can you do. There are number of complementing fields to programming that use a lot of capabilities that an adept programmer may have. For example: requirement analysis, testing and quality assurance, database designing, etc. You could try your hands at any of these in case programming isn’t cutting it for you.

A good programmer is always non-assuming. In the back of his mind, he always knows that there could be something he may have missed and therefore always alert and ready to understand.

Advertisements

MIS to SFS….. Huh?! SFS?? What’s that?!

Management Information System is a overrated. Here’s a new perspective… I call it Staff Feedback System.

Yeah, I know… not every creative with the term ( S-F-S )… but I coined this one myself! 😉

Any hoo… while I manage a works in the company I have often thought about achieving goals and what’s the best way to get there. This recent thought came to me when I was thinking about the most scientific way measuring success… in this case it was… umm.. ahem.. cough… loosing weight. Yeah… for those of you who have met me know that I could do without a few kilos (roughly 20). So, I got on to my computer and made an excel sheet that had days on the x axis and month of the y axis. I put my current weight in today’s cell…target weight at the end of the month. Divided it by the no. of days in that month… which gave me exactly how much weight I should loose everyday to meet my target. And there’s an actual weight column where I put my actual weight. The spreadsheet shows … on daily basis… if I am on target or off target. Of course, I could also add in the details of what I eat everyday… how much I exercised (new parameters) and set a limit to that too… but that wouldn’t be quite as measurable, would it? While this is the 7th day of the chart’s existence, I have come to realise that like our body, our work also has fitness parameters.

As the CEO / Owner / Manager … whatever of the company, it becomes imperative to measure the fitness levels of each employee’s productivity… AND give that feedback to them on a daily basis so that they can re-align themselves to their daily target. When you have such agile data available, most people will bounce back to align themselves. Those who dont… well.. you know what to do. Sales, revenues, profits are dead data. Why? Because they always come in the END of the quarter and there’s nothing you can do about that quarter anyway… it’s history. So, instead of working on dead data, why not work on living data… that DIRECTLY influence the performance that we measure at the end?

Here’s an example… I started measuring daily in out times of my guys. I am sure most people do that. But instead of giving the details at the end of the month, I started giving them details of their average in time, out time and the average working hours per day EVERY TIME they punch in / out. The result? The late comers came in sooner… the early goers left on time and everyone started clocking the right hours per day. All this without anyone having to tell them anything!

Lessons:

As it is important for the management to have reports, I believe that productivity of the organisation can also be increased by giving employees some sort of a score card. It might be worthwhile investing a bit into that too.

Hope this post was helpful. As always, open to your feedback. 🙂