¿Cómo es ser un programador profesional?

2 a : participar para obtener ganancias o ganarse la vida en una actividad o campo de trabajo a menudo realizado por aficionados < un golfista profesional > b : tener una profesión particular como carrera permanente < un soldado profesional > c : participar por personas que reciben beneficios financieros < fútbol profesional >

Tomado de Definición de PROFESIONAL, diccionario Merriam-Webster.

Parece confundir el significado de “profesional” con “experto” o “calificado”. Este no es el caso. Si la programación es su principal fuente de sustento, usted es un programador profesional. Eso es todo al respecto.

Ahora que he terminado de picotear, responderé la pregunta que pretendías hacer.

Es muy interesante y muy desafiante al mismo tiempo. Si quieres mantenerte al día, aprender las últimas tecnologías y, en general, mantenerte en la cima del juego, como te has señalado correctamente, tienes que gastar un esfuerzo constante y estar interesado en tu oficio en general. Hay momentos en los que puedes instalarte por un corto tiempo, pero si te vuelves complaciente, otros se separarán frente a ti.

Por otro lado, nunca te volverás completamente incompetente . Si bien muchos detalles en la programación cambian, los enormes cambios de paradigma no son tan repentinos, y en realidad toman mucho, mucho tiempo. Si comprende las ideas básicas de lo que está haciendo, los detalles son irrelevantes. La base seguirá siendo la misma y aplicable durante décadas. Por ejemplo, personalmente no he escrito una sola línea de código JavaScript en mi vida. Puedo asegurarle que podría convertirme en un desarrollador JS competente en aproximadamente un mes o dos como máximo debido a mi comprensión de los fundamentos. En comparación, aprender un nuevo marco sofisticado para Java 8 (que es mi lenguaje actual) es trivial.

TLDR:

  • ser profesional no es lo que piensas que es;
  • Si bien los detalles y los marcos cambian rápidamente, los cambios fundamentales en el desarrollo de software son mucho más lentos de lo que piensas.

Supongo que la respuesta simple es que difiere según el entorno.

Para tomar la pregunta al pie de la letra, creo que lo que está buscando es una determinación de lo que significa ser un “profesional”. Esto difiere (en mi mente) de ser un “maestro” de algo. Profesional (de nuevo, desde mi punto de vista, que puede ser incorrecto) simplemente significa que está haciendo algo por dinero. En este caso, si está escribiendo código para ganarse la vida, y este es el enfoque principal de su trabajo, diría que es un “programador profesional”.

La idea central es que has llegado a una etapa en tu carrera en la que otros están dispuestos a pagarte por escribir código. Esto difiere de un aficionado o aficionado en que no se le paga al aficionado por el programa. Esto no significa necesariamente que el aficionado sea peor que el profesional, solo que hay una diferencia entre hacer algo por amor (y que nadie te pague por ello) y alguien que lo haga como un trabajo.

Dado que la pregunta es: ser un programador profesional (para mí) es que estás allí para tomar algo que un ser humano quiere que haga una computadora y hacer que la computadora lo haga. Me doy cuenta de que esto está destilando la idea (quizás más allá de donde tiene sentido), pero en esencia esto es lo que hace un programador (tenga en cuenta: hay un millón de otros títulos para esto, y algunos de ellos incluso incluyen la palabra ” ninja “o” artesano “para obtener puntos extra). En última instancia, a los usuarios y jefes realmente no les importa cómo lo hace la computadora, solo que hagas que haga lo que quieren que haga (es decir, la computadora).

Hay una gran diferencia entre la programación profesional en una empresa de software y en una empresa que no es de software. En una empresa de software, existen preocupaciones adicionales sobre la capacidad de mantenimiento y la usabilidad entre una variedad de plataformas, mientras que en una empresa que no es de software, el enfoque se centra en automatizar la tarea y seguir adelante. En mi experiencia, la capacidad de mantenimiento es bastante secundaria a la realización de una tarea, y, por supuesto, la mayoría de los lugares que no son empresas de software tienen la intención de usar el código internamente y, por lo tanto, tienen una única plataforma en la que tienen la intención de ejecutarlo.

Un profesional en programación ha tomado la decisión de aprenderlo. Esto sigue mediante el estudio de lenguajes de programación, bibliotecas, productos de software, algoritmos, estructuras de datos o temas especiales en informática. La amplitud y el énfasis de la aplicación guían el estudio. Esta persona que ya tiene experiencia en programación puede hacerlo como un trabajo. Cualquier persona capaz de programar y ganarse la vida con ella, se considera un profesional.

Desafiante.

La codificación es fácil, comprender los requisitos es la parte más importante de cualquier esfuerzo. Puede escribir un programa maravilloso pero es inútil si no cumple con los requisitos del cliente.

La recopilación de requisitos puede ser frustrante, los clientes a menudo piensan que saben lo que quieren, pero a menudo su lógica es simplista o simplemente errónea. Al final del día, necesitamos escribir lo que se nos pide que escribamos.

Creo que una de las principales diferencias entre un programador aficionado y un programador profesional debería ser la calidad del producto. Si alguien le está pagando para escribir algo, debe funcionar, debe ser confiable. Muchos programadores junior pasan un tiempo mínimo probando su código, porque puede ser aburrido y todos pensamos que somos perfectos. Con la experiencia, aprende que no es perfecto, escribe errores y es mejor que realice las pruebas correctamente o parecerá tonto.

Creo que los programadores profesionales codifican como propios de su profesión y codifican de la manera más profesional posible. Son entregar solución a los clientes lo que quieren. Para mí, los programadores profesionales convierten la abstracción en solución de aplicaciones mediante habilidades de programación técnica. En segundo lugar, mantienen y actualizan su código. Y reciba comentarios del cliente para la perfección de la solución de aplicaciones y por el bien del cliente.

Siempre estamos aprendiendo …

Pero no me importa ser un profesional. Simplemente sucede que mi empleador me está pagando, especialmente por hacer software … En realidad, mi título oficial es ingeniero de investigación

(en respuesta a la pregunta en la descripción de la pregunta) Ser un programador profesional significa obtener ingresos confiables de la actividad de programación.

Hago esto y lo disfruto.