"Desarrollo de software, perfilamiento y tendencia" - con Diego García Pineda
El día de hoy tenemos una conferencia sobre el desarrollo de software y demás datos que pueden darte idea de una de las ramas de nuestra carrera.
"tenemos que ser resilentes, siempre seamos proactivos, preguntar mucho, tengamos personas de mayor experiencia, compartamos nuestra experiencia, ser humildes"
El ingeniero Diego García Pineda es un desarrollador de software con diplomados en docencia universitaria y actualmente es docente de planta y catedra de la UCO desde el 2015, especialista en gestion de software, 11 años de experiencia, desarrollador feelance móvil y web, experiencia en varias casas de desarrollador de software, es java senior.
Nos introduce con una idea sobre la importancia de nuestra carrera "una excelente carrera, en un mundo globalizado, piensa que es una excelente opción, podemos incluso inventar nuestro trabajo"
Nos explica que los ingenieros de sistemas somos los encargados de construir sistemas computacionales por medio de lenguajes de programación, que es exigente, nos describe como "artistas de la lógica" porque utilizamos la lógica para generar sistemas. toma mas relevancia en el mundo, y para ello necesitamos creatividad, para idear los sistemas y manejar varios lenguajes de programación, no es necesario conocer todos (los lenguajes de programación se encargan de traducir a la máquina los algoritmos computacionales)
Ser un desarrollador de software es importante por varias razones, como:
-Es útil y toma relevancia en la vida cotidiana, porque estamos llenos de dispositivos móviles y estos están en nuestra vida cotidiana, "incluso desplazan a las laptop" dice el ingeniero
-Hace parte de la cuarta revolución industrial, basada en el desarrollo de software y la tecnología es la principal protagonista, el machine learning, la IA, la programación es transversal a todas las carreras, "ya es una obligación aprender a programar"
-Hacemos grandes cosas sin invertir mucho dinero, solo creatividad y una computadora, nos cuenta la anécdota de Google que empezó en un garage, en medellin tenemos a rappi una empresa de distribución, dejándonos una lección, el pensamiento que desarrollando una idea podemos tener gran impacto.
-Siempre aprendemos cosas nuevas, evoluciona constantemente, siempre va a ser necesario
En nuestra carrera tenemos competencias que un buen desarrollador de software debe tener:
-Dominio del inglés (ideal) es para el mercado laboral
-Planeación y priorización, tener en cuenta que es lo urgente y lo importante, aprender a diferencias esto permite sacar proyectos de éxito, para economizar recursos, hacer entregas eficientes,
.Análisis y razonamiento
-Tomar decisiones, de tipo financiero, de tecnologías, en mercado hay muchas, pero tenemos que saber elegir porque no todas son buenas.
-Trabajar en equipo,
lenguajes populares en 2019 según github
1. javascript,
2. python, creció en 2014 y 2015, y subio en 2018, se utiliza en el bigdata, utilizado en el machinelearning para procesar grandes volúmenes de datas, (existe también R)
3. Java bajó en 2018, con respecto a python, pero sigue vigente por ser general,
Salarios en EEUU
El planeta necesita programadores, "en 2020 se necesitarán cubrir 900.000 puestos de trabajo en el ámbito digital, pero los expertos apuntan que la escasez de talento se debe al obsoleto modelo formativo"
Nos habló sobre la categorización de los desarrolladores (la cual no tenía idea que existiese)
Junior: recién sale de la universidad y no tiene experiencia o poca, menos de 2 años, seguimiento diario
Semi senior: entre 2 y 6 años de experiencia y requiere seguimiento semanal
Senior: independiente, mas de 6 años de exp desarrollando, tiene mas criterio al elegir una tecnología, muestran mejores avances en las tareas asignadas.
Perfiles y sus funciones en proyectos de software
Gerente de proyecto: responsable de atender las necesidades y asignar recursos (Recursos financieros, humanos)
-Líder de proyecto: mantiene al equipo alineado, maneja las casuísticas.
-Analista de sistemas: no desarrolla, pero es importante porque redacta y diseña el sistema de forma conceptual
-Diseñador: diseña interfaces gráficas,
-Ingeniero de software: se encarga de desarrollar el sistema
-Tester: prueban la calidad del producto
El mercado de desarrollo móvil suele tener tendencias las cuales nos explicó y resumí a grosso modo:
DESARROLLO NATIVO:
Se construye para una plataforma específica IOS(objective C o Swift) Android (JAVA O Kotlin)
DESARROLLO HÍBRIDO:
Se construye una aplicación para múltiples plataformas, se usan frameworks como ionic o flutter
DESARROLLO CROSSPLATFORM:
Se usa la tecnología Xamarin (Microsoft) sirve para desarrollo de múltiples plataformas.
DESARROLLO BACKEND:
Sistemas distribuidos y utilizan lengUajes como PHP, jAVA, c#, SCALA, Python
-desarrollo de microservicios y API
DESARROLLO FRONTEND:
orientado a interfaces gráficas de usuario, como HTML5, CSS, JavaScript, TypeScript.
-desarrollo de sitios web(es un mercado competido, no es recomendable, porque los precios son irrisorios)
-desarrollo de interfaces gráficas de usuario
DESARROLLO FULLSTACK:
es una combinación de los dos mencionados anteriormente, requiere mucha más experiencia.
DevOps
-CI= integración continua : usar herramientas para integrar las pruebas unitarias en un desarrollo
-CD =despliegue continuo: puede automatizar el lanzamiento de los ejecutables mediante el uso de contenedores (ideal que tenga conocimiento en la nube)
Preguntas:
¿Es viable crear una tecnología ?-Podemos ser disruptivos, las tecnologías están sujetas a cambios, es viable, debemos pensar en analizar que hay actualmente y mirar las falencias para mejorarla o si es posible crearla, no reinventemos la rueda, podemos actuar ahí
¿Existen algunas restricciones para los desarrolladores a la hora de usar alguna herramienta al crear un nuevo software?
- algunas herramientas son licenciadas, como el caso de java a partir de la version 8 hay herramientas licenciadas, las de microsoft es mas abierta, siempre es importante fijarse en el licenciamiento.
¿Por qué crear software cuesta?
-Dependiendo, como emprendimiento propio, el consumo de energía, pero es despreciable, un factor enemigo es el tiempo, a medida que es complejo mas tiempo requiere, la promoción del producto en cuanto a videojuegos es el factor mas importante economicamente., si hay patrocinador, invierte recursos importantes, otro costo es el grado de experiencia mientras mas máster menos gasto."tengan confianza en sí mismos, como desarrolladores somos vendedores de confianza y la mejor confianza es la actitud y eso se logra con estudio, esfuerzo, interés."
www.k4soft.com (su blog) por si quieren saber los datos mas técnicos y entendibles que los de este humilde servidor

Comentarios
Publicar un comentario