¿Estás por graduarte? Consejos que te ayudarán a ser un profesional útil (y III)

Nuestras 3 entradas:

  1. Autoevaluación y consejos, esto va dirigido a todos los profesionales sin importar su formación. Espero que lean estos consejos al inicio o mitad de sus estudios.
  2. Habilidades no técnicas, dirigido a todos los profesionales, sin importar su formación.
  3. Habilidades técnicas, dirigido a los profesionales del área de desarrollo de software corporativo en Panamá (esta entrada).

Antes de iniciar: Esta entrada está dirigida a los jóvenes profesionales del área de desarrollo de software. Las habilidades aquí descritas son solicitadas por corporaciones y empresas locales (en Panamá). Nosotros las presentamos debido a nuestra experiencia trabajando con ellos, debes entender su preferencia por tecnologías establecidas.

Toma esta entrada como una guía, no como una verdad absoluta. Si crees que estoy dejando algo de lado, te agradezco me lo hagas saber.

Lenguajes de programación y modelado
  1. C# y Java, elige uno para empezar.
    • Aplicaciones web (MVC)
    • Servicios Web (SOAP y Rest)
    • Aplicaciones móviles con Xamarin o Android Studio.
  2. PHP, si tienen tiempo. Al momento no hemos tenido necesidad de invertir tiempo en este lenguaje. Si te encuentras en el gobierno o PYME, posiblemente lo necesites.
  3. SQL, es obligatorio su conocimiento. Mínimo debes saber:
    • Sentencias DML.
    • Normalización.
    • Procedimientos almacenados.
    • Optimización de consultas.
    • Actualmente, no hay excusa para no conocer sobre algún RDBMS, existen versiones gratuitas o lite de los más populares: Microsoft SQL Server Express, Oracle XE, MySQL y MariaDB.
    • Después de que seas competente en los puntos anteriores, aprende de NoSQL.
  4. HTML, Javascript y CSS. Frameworks como jQuery, node.js, Bootstrap o Material Design Lite. Debes tener conocimiento de estos lenguajes si o si.
Metodologías y paradigmas
  1. Programación orientada a objetos, si o si.
  2. Estándares de desarrollo. Cada vez que llegues a una empresa, pide los estándares. Te verás muy profesional.
  3. Desarrollo de software en cascada (waterfall): Beneficios, roles, etapas y cuándo usarlo. Si, hay proyectos que requieren este tipo de desarrollo. Te lo dice un Scrum Master ;-)
  4. Desarrollo de software ágil (Scrum y otros): Beneficios, roles, eventos y cuándo usarlo. ¡La Guía de Scrum tiene 16 páginas!, luego de eso aprende sobre escalamiento (Nexus, SAFe y otros).
  5. Administración de proyectos. Esto es opcional, si deseas ir por la parte administrativa.
  6. DevOps. Esto es opcional, si deseas ir por la parte técnica.
Herramientas
  1. Administradores de código fuente: Git, TFVC, SVN.
  2. DevOps: Visual Studio Team Services / Team Foundation Server, Atlassian (JIRA Software, Confluence, Bitbucket), GitHub, GitLab, Tuleap, etc.
  3. Visual Studio (.NET), NetBeans (Java), Eclipse (Java y PHP) o cualquier otro editor de tu preferencia. Busca ser productivo (busca opciones, aprende a automatizar, los shortcuts, etc.), nadie te debe ganar.
  4. Microsoft Office u otro editor de documentos y hojas de cálculo.
  5. Herramientas de comunicación: Slack y Microsoft Teams.
  6. Visualización de datos: PowerBI y Metabase.
  7. Servidores web: IIS, Tomcat, WildFly, httpd.
  8. ¡No le tengas miedo a la línea de comandos! Es tu amiga.
  9. Herramientas de virtualización: VirtualBox.
  10. Usa otros sistemas operativos.
El futuro cercano

Estas son tecnologías que poco a poco van haciéndose populares localmente.
1. NoSQL: MongoDB y otros.
2. Computación en la nube: Microsoft Azure, Amazon Web Services, etc.
3. Chatbots usando node.js, Bot framework y otros.
4. Machine learning.
5. Frameworks de IA: Microsoft Cognitive Services o Wit.ai
6. Investiga sobre nuevos frameworks para desarrollo web y móvil.

Hemos llegado al final de nuestra serie de consejos. Deseo de todo corazón que sean de ayuda para tí.

¡Mucha suerte! Aunque si te preparas, no la necesitarás.

Psssss: Si has llegado hasta aquí, te gusta el desarrollo de software y quieres aprender sobre las tecnologías y metodologías que presentamos, quiero decirte que estamos contratando ;-). Puedes escribir con toda confianza a david@people-inmotion.com.

Queremos saber de tí.