Qué necesitas saber para ser un desarrollador de éxito

Recientemente, algunos estudiantes me han pedido consejo sobre su futuro, especialmente para convertirse en buenos programadores. Aquí puedes encontrar algunas respuestas basadas en mi propia experiencia. Puedes crear tu camino en vez de seguir la estela de otros, pero, espero que este artículo te de más conocimiento de cuál es el más adecuado para ti.

 

¿Qué deberían aprender los estudiantes?

El conocimiento es necesario. Estudies lo que estudies, siempre te será útil en algún momento de tu profesión. Por ejemplo, cuando estaba en la carrera, pensé que esos conocimientos no los podría usar nunca en gestión, ventas o presentaciones, y sin embargo ahora creo productos utilizando, e incluso expandiendo, ese conocimiento.

\Pero también es importante recordar que a veces puede que estudiemos demasiado; si te especializas profundamente en una disciplina, puedes perder el enfoque general de un proyecto y su contexto. Es difícil conseguir el equilibrio perfecto entre demasiada especialización y poco conocimiento; depende de cada persona y situación.

Cuatro temas que recomiendo aprender para ser un buen programador o desarrollador son, en orden de prioridad, inglés; lenguajes de programación orientados a objetos; estructuras de datos y algoritmos y bases de datos.

 

Inglés

El inglés es lo más importante. Para avanzar y trabajar en la industria tecnológica, y, especialmente como programador, tendrás que aprender y leer sobre las nuevas herramientas, tecnologías e información en Internet y generalmente en Inglés. Además, a la hora de trabajar, muchas veces tendrás la oportunidad de hablar con clientes o equipos que son de fuera. Por tanto, un bajo nivel de inglés limitará tu habilidad para desarrollar tu carrera en ese campo.

Si sabes hablar bien el idioma, podrás conseguir trabajo en una empresa extranjera o tener algún cliente de fuera. Generalmente, esto aumenta en un 20% tu salario.

 

Lenguaje de programación orientado a objetos: ¿Java o C++?

Como programador, es evidente que debes saber programar, ¿no?. Pero la pregunta es, ¿Por qué tengo que elegir entre estos dos lenguajes de programación?

A lo largo de tu carrera como programador, si trabajas en front-end, no necesitarás usar Java o C++, es suficiente con saber PHP. Por tanto, saber qué tipo de lenguaje elegir, impactará directamente en tu futuro.

Generalmente, recomiendo el uso de C++ o Java a los estudiantes, porque son lenguajes de programación que expresan de manera muy completa la naturaleza del código. El dominio de ambos es relativamente sencillo, y a partir de ahí, puedes ir aprendiendo otros. Además, estos dos lenguajes también se encuentran en la lista de los más populares y utilizados.

 

Estructura de datos y algoritmos

La mayoría de los programadores ignoran este tema y no lo toman en serio. Incluso, en algunos centros de formación profesional, esta asignatura no se imparte ya que es compleja.

Tengo otra publicación sobre la importancia de los algoritmos, por lo que no diré mucho, excepto que si los aprendes bien y tienes un sentido del pensamiento algorítmico, crearás un software mejor y más preciso que otros.

Es cierto que cuando mis amigos tuvieron entrevistas en grandes empresas como Google, AWA o Grab, tuvieron que presentar y resolver ejercicios muy algorítmicos. Puede que no necesites recordar cómo se instala un algoritmo en tu trabajo, pero debes conocerlo y ser capaz de utilizarlo con flexibilidad cuando tu software lo necesite.

 

Bases de datos

Cuando fui a la escuela, admito que menospreciaba este tema y no lo estudié tan seriamente como debería, y eso fue un error.
Hoy en día, todos los productos de software utilizan bases de datos. Tanto si se trata de un juego para móvil o de una tienda online, es necesario almacenar la información de los usuarios. Especialmente en los sistemas grandes, la base de datos es una parte inevitable y extremadamente importante. Debe ser sencilla cuando tu software tenga sólo 10 o 100 usuarios. El número de operaciones es mínimo, y es tan sencillo como el tipo de expediente de un alumno o el tiempo de trabajo de un empleado. Pero si tienes que crear un gran sistema con millones de usuarios, el número de registros generados por segundo se eleva rápidamente a decenas de millones. ¿Cómo conseguir que funcione?

Muchos compañeros de profesión, incluido yo mismo, sabemos cómo escribir una consulta para obtener la información necesaria. Pero no siempre podemos resolver el problema cuando hay muchos datos, ya que una consulta puede llevar decenas de segundos. Si aprendes y comprendes la naturaleza de las bases de datos y las declaraciones de consulta, puedes convertirte en un buen programador y construir un producto con muchos usuarios.
————————
Hay muchas asignaturas que merece la pena estudiar, cómo Computer Networking, Arquitectura de computadoras o Principios de los sistemas operativos. No te recomiendo que te saltes estas asignaturas, sino que te centres en ellas dentro del marco y el tiempo de que dispongas. Personalmente, creo que son las más esenciales para convertirse en un buen programador.

 

¿Y mi último consejo?

El último consejo que quiero dar es sobre la iniciativa. Al aprender a codificar, como programador, tienes que maximizar tu iniciativa, tus ideas. Aprende proactivamente. Ve a la Internet para buscar y comprar libros de texto.

Haz preguntas siempre. Ve a foros, participa en debates y seminarios. Experimenta activamente. Piensa en proyectos para hacer y llévalos a cabo. Prueba por tu cuenta para ver qué ocurre.

Y si es posible, solicita prácticas en una empresa de software cuando te acerques a la graduación. No importa si la empresa subcontrata o tiene un producto, si es grande o pequeña. Independientemente, aprenderás muchas cosas que la escuela no te enseña. Hay lugares en los que aprenderás sobre tecnología o procesos; hay lugares que inspirarán tu pasión y tu creatividad. Nada es en vano.

Y si realmente quieres convertirte en un buen programador, y quieres practicar cuanto antes, puedes ponerte en contacto conmigo en cualquier momento. Si cumples los requisitos, puedo ayudarte a conseguir unas prácticas en la empresa de software que desees.
¡Suerte y éxito!

Comments are closed.