¿Qué hace el programador de aplicaciones?

Esto es quisquilloso (pero acostúmbrate a que otras personas hagan tu trabajo si quieres trabajar como programador).

La forma correcta de formular su pregunta es ¿Qué es un programador de aplicaciones?

Un programador de aplicaciones produce aplicaciones informáticas (en el mundo moderno del desarrollo, funcionan como parte de uno o varios equipos encargados de un proceso muy ordenado y exhaustivo):

  1. Determinar los requisitos (¿qué harán los programas?)
  2. Planifique la arquitectura del programa y quién construye qué (por lo general, el programa final se denomina Proyecto hasta que esté terminado) satisfará a la (s) persona (s) que lo paguen, y cuando se apruebe en forma final [o antes, dependiendo de la tienda] , normalmente se denomina [nombre genérico, de marketing o significativo específico] ( Programa ).
  3. El código a menudo, pero no siempre, se burla primero en una versión teórica llamada pseudocódigo para discutir detalles y marcar planes en etapas posteriores de cómo se construirá y usará .
  4. Se aplica cierto esfuerzo a las tareas básicas importantes que los programas o aplicaciones realizarán, con especial atención a cómo los usuarios de diferentes niveles de habilidad y tareas deseadas para el procesamiento por la aplicación son propuestos, discutidos y designados como críticos. importante, potencialmente plegado en un conjunto más pequeño de requisitos al reimaginar la aplicación en función de los requisitos comerciales, que pueden o no ser negociables con el cliente que los paga, o potencialmente eliminados si es demasiado costoso de construir. Consideraciones de menor importancia (a menudo llamadas más características del programa ) se discuten y tal vez se agregan o eliminan para ajustar el cronograma de desarrollo esperado .
  5. El pseudocódigo anterior está alineado con los requisitos para garantizar que el código propuesto aborde completa y exitosamente todos los requisitos acordados. La lista completa más detallada de estas instancias interactivas individuales se denomina conjunto de casos de uso .
  6. Los arquitectos y / o codificadores del proyecto organizan las tareas de codificación detalladas necesarias para construir los casos de uso más generales a los más específicos.
  7. La programación moderna se ajusta a las mejores prácticas acumuladas y normalmente se basa en un modelo de diseño centrado en el usuario .
  8. La codificación se construye en etapas y en el conjunto de módulos requerido por equipos de programadores. Estos tipos de desarrollo se discuten en gran profundidad en cientos de miles de sitios que lo dividen en roles muy específicos (tipos de desarrolladores que realizan algunos tipos específicos de trabajo individualmente, y luego se ayudan mutuamente probando el trabajo del otro , volver a crear estrategias para el trabajo si es necesario, volver a codificar , reconstruir ) y, por supuesto, repetir estos ciclos hasta que las pruebas resulten 100% exitosas .
  9. Los módulos probados se ensamblan a continuación en el proyecto . A medida que se encuentran errores , se registran [documentan] y se corrigen . El término técnico es que se manejan en código . Si es necesario, se repiten los pasos anteriores para refinar y perfeccionar la arquitectura y el código, para garantizar que prácticamente o exactamente cada tipo e instancia de tales errores se tengan en cuenta.
  10. Ahora todo el proyecto y / o la (s) aplicación (es) comienzan a tomar forma . Las pruebas unitarias se realizan para iterar a través de los casos de uso de manera integral. A veces, parte o la totalidad de las pruebas se realizan simultáneamente con el desarrollo detallado del código / módulo.
  11. Más pruebas pueden conducir a mejoras de diseño y órdenes de cambio (al igual que en la construcción de instalaciones físicas) . Luego más reconstrucciones . El ciclo se repite hasta que las personas a cargo firmen el código, lo que significa que afirman que funciona exactamente bien (de acuerdo con los planes acordados anteriormente). Al igual que en la construcción de edificios comerciales, las órdenes de cambio pueden ser grandes o pequeñas y baratas o demasiado costosas.
  12. Si todo va bien, el proyecto se envuelve y se implementa en los servidores o se entrega a los clientes para esos pasos finales.

Los programadores de aplicaciones realizan la codificación real que se necesita más arriba y compilan las compilaciones .

A menudo trabajan junto con el arquitecto del proyecto y los requisitos u otros especialistas .

Debido a que su trabajo es muy técnico y a menudo depende del tiempo, con altas expectativas de precisión , consistencia y la capacidad de soportar largas jornadas laborales y condiciones de trabajo desafiantes (como los jefes y compañeros de trabajo de smarty-pants que pueden ser rápidos para discutir), a menudo obtienen bien compensado

Los salarios iniciales para los profesionales con licenciatura en los EE. UU. Podrían ser de $ 75k , y muchos de los mejores programadores probados a menudo ganan más de $ 100–200k anualmente. Muchas empresas prefieren contratar a estos trabajadores expertos en salarios por hora o períodos de corta duración (como ciclos de desarrollo de 3 a 6 meses ).

Sin embargo, a menudo hay una rotación en tales puestos, lo que significa poca seguridad laboral , especialmente en compañías más pequeñas. Estos factores de empleo están vinculados a los contratos , la demanda del consumidor (o el financiador) y las necesidades específicas de las mejores áreas de especialización de ciertos programadores.

Las áreas específicas de experiencia pueden incluir cualquier cosa en el mundo de la programación, como sistemas informáticos , redes o comunicaciones , audio / video digital / analógico , web , base de datos u otra especialidad.

A menudo, los programadores tienen múltiples especialidades en función de su historial de trabajo u objetivos. Ningún programador podría hacer nada con la misma aptitud en comparación con un especialista que tenga una experiencia mucho más relevante .

No existe una fórmula mágica para aprender los idiomas o habilidades más demandados. Por lo tanto, las especializaciones tienden a evolucionar orgánicamente en función de la suerte, la demanda y la experiencia aplicable. Los empleadores buscan ciertos tipos de personalidad y otros rasgos para limitar el tamaño del grupo de candidatos para dicho trabajo. Tenga en cuenta que si está comenzando, puede estar sujeto a explotación a menos que lo vea venir y lo enfrente directamente.

Si está considerando una carrera de este tipo, mi consejo es considerar realizar una pasantía antes de ingresar en un puesto a largo plazo . Puede o no le conviene. De esa manera, irse no tiene por qué ser traumático, o tal vez encuentre un nicho más adecuado en el campo del desarrollo al cambiar a otro rol o especialidad.