Share Tweet Share





There’s an interesting discussion revolving around a post by Jay Fields. The moral of story from his post being that in today’s IT Industry developers are needed while hackers need not apply. He illustrated this by, what I assume is a real life example on what software companies look for today. Given the option between a person who has proved to be great at programming and a person who proved to be great at soft skills (communication, interpersonal), a company hired the second guy for the post of Software Developer to create internal and external websites based on an interview. Programmers and developers who later commented on the post seem to be irked by the way the 1st guy who seems to be great at programming was dismissed against the 2nd guy who was great at communicating but didn’t prove his programming skills:

When the interview ends the candidates are given a simple assignment: the business needs to convert a csv file from one format to another. The candidates are given 24 hours to complete the task. The first developer goes home and designs an amazing yet simple site where multiple files can be uploaded simultaneously and users can choose to be notified via SMS or email when the task is completed. It’s great software. The second developer receives the assignment and spends the next 30 minutes talking to the business to see how the software will be used and what value it provides. After he’s gotten the information he needs he says thanks, but instead of letting him leave, the CTO offers him the job on the spot. The first developer gets the “thanks, but no thanks” call the following day.

A whole discussion by developers and other guys in IT with various opinions and perspectives follows. The problem revolves around hiring programmers and figuring out what is the right balance between hard skills (technical) and soft skills(interpersonal, communication) required in your company so that business is satisfied from start to finish.

Developers love to talk about how software is about people. I know it’s about people, you know it’s about people, yet when I look around I rarely see developers interacting with people. It doesn’t seem to make sense, and yet it happens the majority of the time. We’re stuck in the ways of software development past. Hackers put out code, often good code. That’s great. Without hackers I wouldn’t have messaging systems, proxies, web servers, etc. At least I wouldn’t have such a good selection. But, being a good hacker doesn’t make you valuable to a business.

Okay, now I wouldn’t call a guy who can make a nice site that uploades multiple files and has a feature for sms and email alerts a “hacker” as we understand it today but yet, he sounds like a person who you can call a programmer. The 2nd guy sounds like a great team player, excellent at communication, coordination and other management tasks but we don’t know if he’s a programmer. The company ditched the 1st guy because he didn’t have a reflex reaction to go and ask business exactly what they wanted and instead went straight ahead deliverying exactly what he was asked to do. Personally I feel this interview is totally flawed. I can’t believe that there are “software development” firms today that might hire people like this. I don’t think the CTO who dismissed the 1st guy (good programmer) and hired the 2nd guy (good business analyst) knows anything about the other important half of software development skills that are needed – mainly programming. Maybe it might have been good for the 1st guy not to have worked in such a company with such an attitude towards his skills. I’m kind’a biased towards the 1st guy. Okay, so maybe he did a little developer gold plating (Classic Mistakes #30) and would be back after a few iterations. But being a programmer myself and someone who also calls myself a “software developer” (we need to differentiate between the two in this day and age), I empathize with the 1st guy because I’ve worked with some great programmers in my career who had little if no communicating skills needed to interact with business and were therefore never left in those roles. Yet, these guys were the technical pillars of our team. That’s where roles like Business Analysts come in with Project Managers and Team leads contributing, documentations and other ways to let the requirements be known to the development team. It’s not uncommon to find a Business Analyst in most if not all matured software development companies who are dedicated to the role of interacting with business. But even as a greater part of my role is engrossed in programming related tasks, some of my recent roles have required me to interact heavily with the client’s side, their different departments and users, getting documentations right under both process oriented frameworks and less rigid and agile environments. So such expectations are definately realistic and needed. That’s why I’ve got my own 13 point user manual discussing the traits of a great programming over here and here. In today’s software industry, a developer needs to possess an array of skills apart from just programming to be useful for business. In my line of work, even as a software developer, one of my key goals in the short and long term is to try and pick up domain knowledge in areas of banking and BPM. At the end of the day, we need to submit to the fact that IT needs to meet business goals and not the other way round. Doing it the other way round leads to delayed projects, failed projects, losses and people being laid off. But if you need a software developer where soft skills may not be paramount for complicated projects and then find a great programmer who lives and breathes programming which is really hard these days, I would never recommend anyone letting go of this asset… at least based on my experience working with such guys. There are other people who can and should deal with business if domain knowledge is required and when other aspects of requirements gathering need to be addressed. Some companies sometimes invest their training for, apart from other things, soft skills too. I still think the 1st guy is a worthy contender for today’s IT industry. Maybe a little pruning would have been required. Nevertheless, he’s still good. As for the 2nd guy, right now that company has hired a great Business Analyst. If he knows programming, they’re just plain lucky! Happy programming!