[:en]A better title for this post would have been “The most in-demand development professionals 2018”, but I found this one more entertaining. Any manager or recruiter who has been looking for a bilingual Java developer recently will understand the irony. This position is pretty hard to fill, especially if you add that you are looking for an enterprise-level Java developer.
Back 20 years ago, hiring programmers was cheap, but you had to pay dearly for languages and application servers. Today you can use Java and Apache “for free”, but developers are expensive and hard to find.
Why are they so hard to find? There are several reasons, but the main one is that Java is the language for which most positions are open. The complete listing for 2018 is as follows:
- Java
- Python
- JavaScript
- C++
- C#
- PHP
- Perl
Now, Java is not only the language for which more jobs are available, that is to say, for which there is more demand from companies. When we put in the “enterprise” variable, things become more difficult because it is one thing to program a stand-alone application in Java and another the current complex enterprise architectures with multiple layers, frameworks, APIs, etc. You don’t learn this in college or at home (as might be the case with PHP or JavaScript); you do this in a large enterprise, which reduces the pool of developers who meet the requirement more and more.
To make things more challenging, let’s add English to the mix. Large companies tend to be transnational with global projects, and many companies place their development centers in Latin America to reduce costs.
So, as in set theory, the intersection of the sets “Knows Java”, “Knows English” and “Knows how to program business applications” is small, and there is a high demand for companies fighting for this select group.
Because of this, my recommendation to any software development manager building a team is not to try to fill all positions with senior Java profiles. Experience (not only mine) has shown that it is good to incorporate more junior profiles into the team. This way, you can incorporate professionals who can learn Java or how to program enterprise applications. This way, you leverage more effectively the knowledge of your senior profiles, inject energy and motivation into the team, decongest a bit the demand for senior Java profiles, and on top of that, you save a few dollars.
Now the search for Java profiles, although still leading the searches, has been dropping a bit, losing ground to Python. Python has succeeded in certain areas, such as big data, machine learning, and QA automation. So it is expected that this trend will continue (although Java developers should not worry, as they still have many years of the favorable market).
Así que si tu empresa tiene pensado en algún momento incursionar en análisis de datos o automatización de QA (en realidad, no van a tener otra opción) entonces no estaría mal empezar a reclutar o formar este talento antes que el mercado se ponga difícil.
Another interesting technique that I have seen in some companies, and that is worth imitating, is that they have independent study centers where they teach Java or other languages or technologies. Usually at low costs and no cost for people with scarce resources or high potential. The gain is twofold; they show themselves to the market as companies that give opportunities to the community (which is true), but also, guess where the best graduates will end up working? I guess I do not have to write the answer.
Finally, when evaluating any programmer profile, programming tests such as those offered by Evalart can help you find the right professional for the job.[:es]Un mejor título para este post habría sido “Los profesionales de desarrollo más demandados el 2018”, pero este me pareció más entretenido. Cualquier gerente o recruiter que haya buscado un desarrollador Java bilingüe recientemente entenderá la ironía. Esta posición es bastante difícil de llenar, especialmente si le sumas que buscas un desarrollador Java nivel empresarial.
Hace 20 años, contratar programadores era barato, pero tenías que pagar caro por los lenguajes y los servidores de aplicaciones. Hoy puedes usar Java y Apache “gratis”, pero los desarrolladores son caros y difíciles de encontrar.
¿Por qué son tan difíciles de encontrar? Son varias razones, en primer lugar, Java es el lenguaje para el que se abren más posiciones. El listado completo para el 2018 es el siguiente:
- Java
- Python
- JavaScript
- C++
- C#
- PHP
- Perl
Ahora Java no solo es el lenguaje para el que se ofrecen más puestos de trabajo, es decir, para el que hay más demanda por parte de las empresas. Cuando metemos la variable “empresarial”, la cosa se hace más difícil, porque una cosa es programar una aplicación stand alone en Java y otra las complejas arquitecturas empresariales actuales, con múltiples capas, frameworks, APIs, etc, etc. Esto no lo aprendes en la universidad o en tu casa (como podría ser el caso de PHP o JavaScript), esto lo aprendes en una empresa grande, lo que reduce aún más el pool de desarrolladores que cumplan con el requisito.
Para hacer la cosa más difícil, sumémosle ahora el inglés. Las empresas grandes suelen ser transnacionales con proyectos globales y también hay muchas empresas que ponen sus centros de desarrollo en Latinoamérica para reducir costos.
Entonces, como en la teoría de conjuntos, la intersección de los conjuntos “Sabe Java”, “Sabe inglés” y “Sabe programar aplicaciones empresariales” es pequeña y hay una gran demanda de empresas peleando por este selecto grupo.
Debido a esto, mi recomendación personal a cualquier gerente de desarrollo de software armando un equipo es que no intente llenar todas sus posiciones con perfiles Java Senior. La experiencia (no solo mía) ha demostrado que es bueno incorporar perfiles más junior al equipo. De esta manera, puedes incorporar profesionales que puedan aprender ya sea Java o como programar aplicaciones empresariales. De esta manera aprovechas de una manera más efectiva los conocimientos de tus perfiles más senior, inyectas energía y motivación al equipo, descongestionas un poco la demanda por perfiles Java Senior y encima te ahorras unos dólares.
Ahora, la búsqueda de perfiles Java, aunque sigue liderando las búsquedas, ha ido bajando un poco, perdiendo terreno frente a Python. Python a pegado mucho en ciertas áreas como big data, machine learning o automatización de QA, por lo que es de esperar que esta tendencia continúe (aunque no se preocupen los que son Java developers, aún les quedan muchos años de mercado favorable).
Así que si tu empresa tiene pensado en algún momento incursionar en análisis de datos o automatización de QA (en realidad, no van a tener otra opción) entonces no estaría mal empezar a reclutar o formar este talento antes que el mercado se ponga difícil.
Otra técnica interesante que he visto en algunas empresas que vale la pena imitar, es que cuentan con centros de estudios independientes donde enseñan Java u otros lenguajes o tecnologías. Usualmente a bajos costos, gratis para personas con escasos recursos o para personas con alto potencial. La ganancia es doble, se muestran al mercado como empresas que otorgan oportunidades a la comunidad (lo que es cierto), pero, además, adivinen ¿dónde van a terminar trabajando los mejores graduados? Supongo que no tengo que escribir la respuesta.
Por último, cuando toque evaluar cualquier perfil de programador, utilizar pruebas de programación como las ofrecidas por Evalart pueden ayudar a incorporar al profesional idóneo para el puesto.[:pb]Um título melhor para este post teria sido “Os profissionais do Desenvolvimento mais procurados em 2018”, mas achei este mais divertido. Qualquer gestor ou recrutador que esteve recentemente à procura de um programador Java bilíngue, entenderá a ironia. Esta posição é bastante difícil de preencher, especialmente se acrescentarmos o fato de se estar à procura de um desenvolvedor Java de nível empresarial.
A 20 anos atrás, contratar programadores era barato, mas era preciso pagar caro pelas linguagens e servidores de aplicações. Hoje em dia é possível usar Java e Apache “gratuitamente”, mas os desenvolvedores são caros e difíceis de encontrar.
Por que eles são tão difíceis de encontrar? Há várias razões, primeiramente, Java é a linguagem para a qual a maioria dos cargos estão abertos. A lista completa para 2018 foi a seguinte:
- Java
- Python
- JavaScript
- C++
- C#
- PHP
- Perl
Agora Java não é apenas a linguagem para a qual a maioria dos empregos são oferecidos, ou seja, para a qual há mais procura por parte das empresas. Quando adicionamos a variável “empresa”, as coisas tornam-se mais difíceis, pois uma coisa é programar uma aplicação autônoma em Java e outra, nas estruturas empresariais complexas de hoje, com múltiplas camadas, frameworks, APIs, etc. Isso não se aprende na universidade ou em casa (como pode ser o caso do PHP ou JavaScript), aprende-se isto numa grande organização, reduzindo consequentemente ainda mais o número de desenvolvedores que satisfazem esse requisito.
Para tornar as coisas mais difíceis, vamos agora acrescentar o inglês. As grandes companhias tendem a ser multinacionais com projetos globais e há também muitas empresas que colocam os seus centros de desenvolvimento na América Latina para reduzir os custos.
Assim, como na Teoria dos Conjuntos, a interseção dos conjuntos “Conhece Java”, “Sabe Inglês” e “Sabe programar aplicações empresariais” é pequena e há uma grande procura de empresas que lutam por este grupo seleto.
Devido a isso, a minha recomendação pessoal a qualquer gerente de desenvolvimento de software construindo uma equipe, é não tentar preencher todas as posições com perfis Java Sênior. A experiência (não só minha) mostrou que é bom incorporar mais perfis Júniores ao time. Desta maneira, é possível incorporar profissionais que podem aprender Java ou a como programar aplicações organizacionais. E assim, fazer uso mais eficaz do conhecimento dos seus perfis mais Sênior, injetar energia/motivação na equipe, reduzir a procura de perfis Java Sêniors e poupar alguns dólares além disso.
Agora, a busca de perfis Java, embora esteja ainda liderando nas pesquisas, vem descendo um pouco, perdendo terreno para o Python. Python teve um grande impacto em certas áreas como nos Big Datas, Machine Learning ou automatização da Gestão da Qualidade, pelo que é de se esperar, a tendência é que continue (embora os programadores Java não devam se preocupar, eles ainda possuem muitos anos de mercado favorável).
Por isso, se a sua empresa está planejando, a certa altura, fazer análises de dados ou automatização da Gestão da Qualidade (na realidade, não vão ter outras opções), então não faria mal em começar a recrutar e treinar estes talentos antes que o mercado se torne mais difícil.
Outra técnica interessante que tenho visto em algumas organizações que vale a pena imitar é que, existem centros de estudos independentes onde ensinam Java e outras linguagens ou tecnologias. Normalmente por um baixo custo, gratuito para pessoas com recursos limitados ou para pessoas com elevado potencial. O ganho é duplo, visto que elas mostram-se ao mercado como empresas que dão oportunidades à comunidade (o que é verdade), mas também, adivinhem onde os melhores licenciados acabarão trabalhando? Penso que não tenho que escrever a resposta.
Finalmente, quando se trata de avaliar qualquer perfil de desenvolvedor, a utilização de testes de programação como os oferecidos por Evalart podem ajudar a trazer o profissional certo para o trabalho.[:]