Programadores vs. Empresa, el debate de siempre

¿Faltan buenos programadores en éste país?

Bajo esta premisa, de nuevo se ha reabierto este debate (que nunca se ha cerrado o se ha querido cerrar) a raíz del artículo de Enrique Dans en su columna de expansión después de una conversación con Bernardo Hernández (Google, Tuenti).

Realmente no había leído el artículo de Dans, he llegado a través de la replica de David Bonilla en su Bonilista. Y personalmente, estoy más cerca del punto de vista de Bonilla.

Artículo de Enrique Dans: http://www.enriquedans.com/2012/06/el-programador-perdido-en-mi-columna-de-expansion.html

Respuesta de David Bonilla: http://t.co/DA1fnhjK

Ahora “my two cents” acerca del tema…

La de tecnología no es precisamente el área más considerada en las empresas precisamente tecnológicas españolas. Y lo digo por experiencia personal. Algo sorprendente. Y los BUENOS programadores, con experiencia, en general sí considero que están mal pagados.

También es cierto que debido a la fuerte demanda y seguramente por la terrible capacidad de mentir y transformar CVs que tienen las consultoras tecnológicas (las llamadas cárnicas), muchas empresas acaban pagando por un desarrollador un precio mucho mayor del que deberían. No exentas de culpa están también aquellas empresas que tienen la increíble visión para externalizar departamentos considerados core de su negocio, algo inexplicable en e-commerce, que favorecen la aparición de estos supuestos desarrolladores de alto coste y baja experiencia.

No olvidemos que no sólo en éste país faltan buenos programadores, el Software Engineer o Web Developer son los empleos más demandados este año.

The 5 Hardest Jobs to Fill in 2012: http://www.inc.com/keith-cline/talent-shortages-in-2012.html

The 10 Best Jobs of 2012: http://www.careercast.com/jobs-rated/10-best-jobs-2012

Si revisamos las políticas de visado de trabajo de la mayoría de países, nos daremos cuenta de que este problema es global. Los enlaces anteriores hacen referencia sobretodo a EEUU, pero por poner otro ejemplo cualquiera, Australia pone todas las facilidades si eres un desarrollador y quieres moverte a vivir y trabajar allí.

Por cierto, volviendo al tema económico, hay un punto en común entre todos los países desarrollados que buscan buenos programadores de forma presencial, y es que pagan mejor.

Pero no todo es un tema de dinero. En éste país no hay carrera de desarrollador/programador como tal. Existe una opinión generalizada por la que todo desarrollador debe evolucionar hacia un puesto de gestión para avanzar en su plan de carrera. Como si existieran tantos puestos de programador como de jefe de proyecto o team leader. No lo comparto en absoluto. El buen desarrollador es bueno precisamente desarrollando, y su evolución natural es dentro de ese concepto (desarrollar, analizar, diseñar). Para gestionar equipos y saltar al management son necesarios otro tipo de skills completamente diferentes. Como siempre, sólo tenemos que fijarnos en otros países para encontrarnos con gente con muchisimos años de experiencia en este campo y lejos de puestos de management. Es mezclar churras con merinas.

La postura que nunca defenderé es aquella de que el desarrollador se ve expuesto en España a mucho trabajo basura porque, aunque no deja de ser probablemente cierto, no es un problema exclusivo de los desarrolladores. Actualmente hay mucha más gente jodida fuera de tecnología. Sólo teneis que consultar a la mayoría de la población joven española y os hablarán de las bondades de las empresas Españolas y su cantidad de puestos como becarios. En general, los que trabajamos en tecnología, nos podemos considerar unos afortunados.

Estaré pendiente del próximo asalto de Dans, y de sus más que probables replicas. Dudo que de una vez por todas se termina con esta dicotomía, sólo espero que a partir de ahora se empiece a hablar con sensatez y seriedad sobre este tema.

Y por supuesto, te animo a que participes en este post con tus comentarios ;)

¿Que opinas sobre el tema?

Being a Software Development Manager

Looking for its best definition, the one that most caught my attention was that the Software Development Manager is “everything else“.

The main concern when considering a Software Development Manager is: Should have more technical skills? Must have a Project Manager profile? The answer may vary depending on the IT organization, size or type of business, but if it’s really technical or manager is rather irrelevant.

Ideally, should combine technical expertise, with planning and resource management, to bring projects to success.

The main difference compared to the Project Manager would be that the Development Manager shouldn’t only ensure to reach the end of the project in a given or estimated time, but also how you get to that endpoint.

There are some practices and tools to use or maybe consider:

Communication: Good communication is essential when carrying teams, when playing with the uncertainty of projects, and also when handling with customer expectation. Must communicate continuously, be transparent, and must be bidirectional: Must know how to receive feedback from both the people from whom it is responsible, and the people that it depends on.

Methodologies: The Development Manager defines what methodologies will allow carrying out the work, and will be who reviews the metrics and analyzes the performance. A common methodology in software development is Scrum. I recommend the implementation of certain practices such as Scrum Meetings.

Planning: Must have some control of the project, and plan together with the Project Manager (if any). But above all should have a clear idea of the project status, and keep the full view of the project. Not control obsessed, better to know how to develop and improve team performance in order to reach the proposed deadlines.

Professional Development: Is responsible for the people to be formed and letting them grow within the company, though that means also letting them leave the company sooner. Should identify potential, interests, and help meet the needs of each individual, as far as possible. And it isn’t always a matter of budget, there are serveral ways to develop talent and creativity of the people without any cost.

Best Practices: Define and implement the set of best practices is also one of its responsibilities. You need to know what works and what doesn’t work, identify gaps and develop strategies to avoid as its impact.

Leader: A development manager holds a leadership position, and the first important thing should be to lead by example. Must be professional and know how to react, with serenity and analytical capacity, in the most adverse situations.

Decisions: Through thick and thin, has the will to decide. Don’t be afraid of making decisions! This is probably the hardest part. It’s very important to have necessary calm to analyze the situation and make the right decisions in times of “crisis”.

At the end, the Software Development Manager is responsible when things go well and bad, is responsible for its people, and also for the achievement of objectives. The proper application of the above points could help on its success.

Will be happy to add or modify any point through your feedback ;-)