Con los programadores cada vez más abundantes, ¿cuál es la mejor manera de mantenerme en demanda, valioso para una empresa y con un salario alto?

Esta es una gran pregunta. Estoy seguro de que muchos programadores han preguntado lo mismo con las industrias tecnológicas en crecimiento. La tecnología está cambiando todo el tiempo. Los lenguajes de programación están cambiando a medida que pasan los años. Ciertamente no creo que algún día la programación se llene de posiciones de tipo ‘hamburguesa’. Las personas innovarán y con esa innovación vendrán cambios en la industria que las personas necesitarán aprender y adaptarse. La ingeniería y la programación de software son líneas de trabajo que requieren un compromiso de por vida con el aprendizaje.

Piénselo de esta manera: un abogado que debe estudiar constantemente los cambios en la ley y la jurisprudencia para comprender cómo defender al próximo cliente. O piense en un médico que debe estar constantemente investigando nuevos tratamientos, medicamentos y métodos para atender mejor a sus pacientes. Los programadores deben mantenerse actualizados sobre las tecnologías actuales y cómo pueden desarrollarse de manera más eficiente dentro de ese entorno, ya sea que eso signifique repasar el idioma actual que conocen o aprender uno nuevo.

Actualmente, los salarios de programación tienden bastante bien y algunos están subiendo. Por ejemplo, esto es lo que algunos están de moda en este momento:

PHP – $ 92k / año

Java – $ 96k / año

Javascript – $ 101k / año

Swift – $ 106k / año

Creo que si te mantienes en la cima de tu juego y continúas avanzando con la industria en su conjunto, te encontrarás avanzando a medida que pasen los años.

La información salarial anterior proviene de YouWorth. YouWorth es una aplicación móvil gratuita para iOS y Android que rastrea los datos salariales del programador. No solo soy un campeón del producto, sino que lo uso yo mismo. La aplicación permite a cualquier persona importar habilidades de LinkedIn y rastrear su valor en el mercado laboral a lo largo del tiempo. También me notifican si hay un cambio en las habilidades que se están viendo. Es una gran herramienta para usar con las habilidades de tendencias a lo largo del tiempo al examinar situaciones de mercado como esta.

Como alguien que ha trabajado en software desde 1972, puedo darle los siguientes consejos:
1. Saber, realmente saber informática. Eso significa algoritmos, por ejemplo, junto con los principios fundamentales de cómo funciona una computadora. Si escribe código en un lenguaje compilado o interpretado, tenga una idea de lo que realmente está sucediendo.
2. Conozca las modas más populares en informática. En los años 70 era un equipo de tiempo compartido y DEC, en los años 80 era Unix, C y el prometedor Microsoft. En los años 80 fue Internet. y así. Las modas cambian a medida que pasa el tiempo, pero si no las conoce en el momento en que son populares, nadie lo amará.
3. Sepa cómo desarrollar software de computadora, tanto usted mismo como en grupo. Aprende si eres un espíritu libre individual o un jugador de equipo, y date cuenta de que ambos enfoques tienen sus ventajas y desventajas.
4. Aprenda el ciclo de vida del desarrollo de software. Esta es una gran sociología y psicología personal, ya que es pura teoría, pero los conocimientos que hemos adquirido al describir el ciclo de vida del software son importantes y difíciles de obtener. Téngalos en cuenta y lo ayudarán a evitar desastres.
5. Si usted es una persona interna o de sistemas informáticos, aprenda cómo funcionan las computadoras hoy en día (cambia). Aprenda cómo las computadoras se comunican y expresan sus datos (cambia). Muchos estándares son arbitrarios. Eso no es excusa para no aprenderlos.
6. Si usted es un programador de aplicaciones, aprenda sobre la aplicación. He aprendido algo sobre energía nuclear, máquinas de coser, HVAC, teléfonos públicos. coagulación de la sangre, planificación financiera, auditoría, reconocimiento de voz, motores eléctricos, cámaras infrarrojas, diagnóstico y tratamiento médico, educación escolar, etc. Un programador de aplicaciones usa la computadora como un lienzo y el software como pinceladas para pintar una imagen de una aplicación. Pero no puedes pintar la imagen si no puedes ver la escena. Aprende lo que estás programando.

Como se puede ver, soy principalmente un programador de aplicaciones (los componentes internos de la computadora y las comunicaciones entre procesos me aburrieron). Quiero que los usuarios finales utilicen lo que he hecho, no solo otros programadores. Eso no quiere decir que no valoro mucho su trabajo. Lo uso a diario, pero no soy yo.

Finalmente, nunca dejes de aprender y siempre participa. No caigas en la rutina. Como dijo Calvin, de Calvin y Hobbes: “Es un mundo mágico, viejo amigo de Hobbes. Vamos a explorar”.
El último cómic de Calvin y Hobbes de Bill Waterson. ¡Vamos a explorar!
Si pasas el resto de tu vida en tu carrera con esta actitud, no puedes equivocarte.

Todo lo anterior, y me gustaría agregar aprendizaje para anticipar lo que sus usuarios realmente quieren. En parte, eso significa conocer su negocio, pero también significa saber cómo las personas trabajan y usan el sistema.

Aproveche ese conocimiento para proporcionar una mejor arquitectura, diseño y experiencia de usuario. Estas son habilidades multiplataforma que siempre estarán en demanda.

Hay dos formas de tratar la programación, así como hay dos formas de tratar la conducción: puede ser un conductor privado o un piloto de carreras.

Para un conductor privado, utiliza su habilidad para conducir para llegar a su destino. No tiene que ser el mejor conductor, sino uno efectivo y competente. Si quieres ser este tipo de programador, lo importante es que debes tener tu propio destino digno. Es decir, su competencia central o habilidad central está en algo fuera de la programación, y esta última es solo una herramienta para su objetivo. Por ejemplo, podría estar estudiando algoritmos para hacer una prueba en particular, o podría estar modelando algún tipo de sistema. Pasa la mayor parte de su tiempo de trabajo escribiendo y ejecutando programas. Sin embargo, su salida final no es un programa sino algo más.

Para un piloto de autos de carrera, debes ser el mejor piloto en el campo. Entonces, en el caso de la programación, debe desarrollar sus habilidades y experiencias para poder escribir mejores programas más rápido, elegir nuevas arquitecturas o lenguajes de programación y lograr compromisos óptimos entre eficiencia, facilidad de mantenimiento, etc. Desde lenguajes y herramientas de programación, o incluso todas las plataformas evolucionan muy rápido, debes tener la costumbre de aprender y mejorar continuamente.

Lo último que quiere hacer es ser taxista: no tiene las mejores habilidades y no tiene su propio destino. Si estuvieras en un lugar como programador, serías prescindible y reemplazable.

  1. Mejora tus otras habilidades (hablar y habilidades interpersonales)
  2. Piense de manera poco convencional y sea bueno para encontrar ideas originales.
  3. Desarrolla tus habilidades de liderazgo
  4. Tenga una cuenta git hub y contribuya a algunos proyectos de código abierto.
  5. Crea un buen currículum de información gráfica.

Sé más que un programador. Por ejemplo, sé un gran jugador de equipo. Se un arquitecto. Sé un lider.

¿En demanda?
Verifique regularmente qué habilidades / experiencia / tecnologías se demandan. Explorar listados de trabajo y estadísticas sobre listados de trabajo. Elija qué le conviene y use su tiempo de “aprendizaje” para ser lo suficientemente competente como para poder demostrarle a un empleador que tiene lo que se necesita.

¿Valioso para una empresa?
Me gustan las tareas difíciles. Asumo las tareas que nadie más quiere, especialmente si no lo quieren debido a la complejidad. Me volví muy valioso muy rápidamente en mis trabajos al mantener y mejorar los sistemas que nadie más conocía.

A la mayoría de los programadores les gusta trabajar en nuevos proyectos y nuevas aplicaciones, incluido yo mismo. Sin embargo, trabajar en un nuevo proyecto no lo hace valioso para la empresa si deciden abandonar el proyecto.

Conocimiento del dominio (conozca la industria, comprenda los requisitos)
Competencia tecnológica
Calidad de trabajo
Comunicación
Terminar las cosas

Estas son todas las formas de hacerte valioso para una empresa. Obtén una puntuación más alta que el promedio en esa lista y las empresas odiarían verte ir.

¿Salario alto?
La mayoría de las compañías pagarán tasas de mercado según su experiencia, junior, intermedia o senior. Una vez que se vuelve valioso para la empresa, se abre la puerta a la negociación salarial.

Las empresas de alto crecimiento, dinámicas y exitosas pagarán más para atraer la crema de la cosecha. Espere trabajar muy duro para conseguir uno de estos trabajos y apostaría a que estas personas no lo hacen por el dinero.

  • Haz algo increíble y hazte un nombre. Probablemente sea la única manera, si puedes encontrar algo que hacer para llamar la atención.
  • Contribuya regularmente a los principales esfuerzos de software de código abierto para que su nombre aparezca públicamente.

Probablemente una de las cosas que enfrentará es que estos pensamientos son un “acertar o fallar”. Las empresas generalmente desean la mejor calidad que pueden obtener por el precio más bajo. Algunas empresas están preocupadas por la interactividad. Algunas (o, muchas / la mayoría) de las compañías solo quieren que les mientas a la cara acerca de ser superman y poder hacer todo.

Para (la mayoría) de las empresas que tienen que ver con el precio por calidad y experiencia, a menudo están mucho más preocupadas por las impresiones, a veces (o menos) capacidad. Incluso si se hace un nombre por sí mismo … sus esfuerzos pueden no estar orientados a que una industria se vuelva cada vez más quisquillosa y cambie rápidamente y con frecuencia, y, por lo tanto, no sea relevante a pesar del esfuerzo que ha puesto en las cosas. Todos tienen sus ideas. Podría obtener un trabajo bien remunerado, y algún mono directivo podría aparecer y cambiar o cambiar las prioridades al día siguiente, de modo que sus habilidades que valgan la pena pagar se vuelvan irrelevantes.

Es realmente una especie de juego de mierda con cada niño corriendo escribiendo algunas líneas de código y afirmando que son codificadores expertos. Ese niño motivado, aunque basura, puede estar más motivado hacia el aprendizaje y, por lo tanto, un empleado más deseable que alguien puramente preocupado por los altos salarios y el estado / estatura. (Porque, al final del día, a nadie le importa esto excepto a ti).

Aprende más, practica más

Aprender rubí