Sólo un par de años fuera de la universidad, yo era un programador de un
sistema de Gestión comercial hecho en (Cobol), entrevistado para un trabajo como programador
C. En un momento de la entrevista, le pregunté a mi supervisor (eventual)
en caso de que la compañía realmente contratar a alguien que no tenía ninguna
experiencia con C para este trabajo. Su respuesta tuvo un gran impacto en
mi carrera.
Él respondió: "No contratamos a la gente por lo que saben, sino por lo
que podemos aprender." Estas palabras siempre han encontrado eco en
mí. Desde ese momento, mi estrategia de carrera como programador siempre
ha sido la de mirar hacia adelante en lugar de centrarse simplemente en una
tecnología específica, actual. Como alguien me dijo recientemente,
"Como programador no tiene una única carrera de 30 años, tiene 30 carreras
de un año".
No sólo es la tecnología cambia constantemente, pero, en el mundo actual,
la programación se puede encontrar en todos los aspectos de nuestra cultura. Esto
es lo que hace ser un programador tan interesante y gratificante. ¿Cuántas
profesiones existen que pueden llevar por caminos tan diversos como la atención
de la salud, la justicia penal, la educación, el entretenimiento y casi todas
las áreas de negocio? La variedad de carreras de programación es bastante
impresionante, y las oportunidades de cambiar los caminos, e incluso combinarlos,
son prácticamente ilimitadas.
Quizás la discusión más interesante que tengo con la gente en la industria
de la programación, así como los que enseñan la programación, es la siguiente: ¿Cuáles
son los empleadores que buscan en realidad las personas que contratan como
programadores ? Con esta frase en mente, este artículo explora
algunas de las preguntas que los estudiantes a menudo me preguntan cuando están
buscando para entrar en la industria de la programación, en concreto, ¿qué tipo
de habilidades que deben concentrarse en el aprendizaje.
¿Qué habilidades dicen los
empleadores que están buscando?
Mi primera parada fue en anuncios clasificados de un periódico local, donde
se ve principalmente de programación ofertas de empleo como ésta (tomado de un
anuncio real): "Experiencia Java Web Developer. Experiencia
requerida, Struts 2 o MVC. Hibernate o ORM. JavaScript / jQuery,
Ajax, Patrones, HTML y SQL ".
Muchos de los anuncios requieren habilidades específicas, tales como. NET y
Oracle, así como muchas otras habilidades que he, honestamente, nunca oído
hablar. Por lo tanto, mucha gente cree que cuando se inicia un programa
educativo, que debe centrarse en las habilidades que son tecnologías calientes
de hoy.
Si bien reconozco que muchos puestos de trabajo están buscando habilidades
específicas, siguiendo esta estrategia puede ser problemático. Todos
sabemos que la tecnología está cambiando tan rápidamente que nadie sabe cuáles
son las tecnologías calientes estarán en un año, por no hablar de los dos o cuatro
años que se tardará en obtener un certificado o título.
Así que, si el aprendizaje de la última tecnología no es la mejor
estrategia, entonces, ¿qué es?
NOTA
Como con la mayoría de cosas en la vida, en lugar de la marca de una sola
estrategia como la mejor, la trayectoria educativa que elija como programador
depende del contexto en el que se encuentra. Si usted es un profesional con
experiencia de programación, entonces, obviamente, hay muchas situaciones donde
se necesita un cierto conjunto de habilidades. Por ejemplo, si una empresa
está buscando contratar a un contratista para un conjunto de habilidades muy
específicas, entonces ellos quieren encontrar a alguien que satisfaga la
necesidad inmediata. O bien, una persona puede desear agregar simplemente
una tecnología actual a su conjunto de herramientas de programación, tomando
una clase o incluso la búsqueda de un certificado.
¿Qué es lo que los empleadores realmente buscan?
Después de discutir estos temas con la gente en la industria y el mundo
académico durante muchos años, he llegado a suscribirse a la teoría de que la
programación es la programación . En mi experiencia, cuando usted
contrata a alguien para un puesto de programación, usted no sabe necesariamente
qué tecnologías y / o lenguajes de su organización va a utilizar en un año. De
hecho, es muy posible que desee este nuevo empleado que te guíe hacia el futuro
y explorar direcciones totalmente nuevas.
¿Qué es lo que realmente quieren los empleadores cuando se trata de talento
de programación? En última instancia, me decidí a preguntar directamente a las
empresas. En primer lugar, me clasifiqué las empresas en tres niveles de
tamaño: pequeño (10 o menos empleados), medianas (entre 10 y 100 empleados) y
grandes (más de 1000 empleados). Entonces les hice las siguientes
preguntas:
1. ¿Cuáles son las
habilidades más importantes (técnicas, habilidades blandas o de otro tipo) que
usted busca en la contratación de un programador?
2. ¿Se concentra en un
lenguaje de programación específico o la tecnología (es decir, ¿te pasa en un
buen programador que le falta una habilidad específica que su empresa utiliza o
usted les entrenar)?
3. ¿Qué importancia tienen
las habilidades blandas (escritura, presentación y otras habilidades de
comunicación)?
4. ¿Qué títulos o
certificaciones estás buscando (qué tan relevante son las certificaciones)?
5. ¿Sus programadores a
crear un código nuevo (producto) o están trabajando en el mantenimiento de
código existente implementación y aplicación de productos de terceros?
Preguntas y Respuestas
De todas las respuestas que he recibido, he elegido las respuestas de
cuatro de los profesionales de software que proporcionan buenas
representaciones de los tres tamaños de empresa. Hay respuestas de dos
grandes empresas, una empresa mediana y otra pequeña empresa.
En lugar de intentar interpretar las respuestas, simplemente me presento
las respuestas textualmente.
¿Cuáles son las
habilidades más importantes (técnicas, habilidades blandas o de otro tipo) que
usted busca en la contratación de un programador?
Grandes Empresas
"4 años Título Universitario, sólida formación técnica, experiencia
profesional, apasionado de la tecnología, profesionalmente conductor,
articulado y bien hablado."
"Es verdaderamente una combinación de habilidades técnicas y blandas.
Fundamentos de la lógica de programación y la capacidad de aplicar los
fundamentos de cualquier base de código que se encuentran."
Empresas Medianas
"La capacidad para resolver problemas. La capacidad de aprender nuevas
tecnologías rápidamente. La capacidad de encontrar soluciones a los problemas
de uso de Internet. Una mentalidad de la eficiencia y la creatividad."
Pequeñas Empresas
"Yo quiero centrarme en la idea de ser un jugador de equipo decente y
no ser una persona que es difícil llevarse bien con un empleado difícil puede
crear todo un montón de problemas más habilidades pueden ser aprendidas y
mejoradas -.. Lo que a menudo son tiempos difíciles de cambiar son la
naturaleza y el carácter de una persona ... Además de las habilidades descritas
en otras respuestas, en busca de habilidades interpersonales es importante -
especialmente si la organización está en el lado más pequeño. "
Conclusión : título universitario de 4 años ( grandes empresas ),
la pasión por la programación, las habilidades interpersonales, solucionador de
problemas, trabajar en equipo.
¿Se concentra en un
lenguaje de programación específico o la tecnología (es decir, ¿te pasa en un
buen programador que le falta una habilidad específica que su empresa utiliza o
usted les entrenar)?
Grandes Empresas
"En realidad no;. Esperamos que nuestros desarrolladores ser versátil
y ser capaz de aprender nuevas tecnologías, siempre y cuando son similares (.
Decir que esperamos un desarrollador de Java para poder sumergirse en
NET)"
"No. Fundamentos de lógica de programación y la capacidad de aplicar los
fundamentos de cualquier base de código que se encuentran."
Empresas Medianas
"Sería realmente dependerá de la necesidad. El programador que puede
saltar entre los idiomas es más valioso, salvo en proyectos especializados. Si
no tiene ninguna experiencia con un lenguaje que están solicitando, sin
embargo, que probablemente no son deseables. Aunque la experiencia es sólo
personal que es mucho mejor que no tener ninguna experiencia. Hay demasiados
matices del lenguaje y el medio ambiente y no el suficiente beneficio en la
formación de una persona a partir de cero ".
Pequeñas Empresas
"Siempre es bueno estar dispuesto a entrenar a alguien, si ves otra
competencia que valoramos mucho. Esperando un programador C + + para poder
recoger Java debe ser una apuesta segura, pero, podría tomar algún tiempo para
alcanzar la competencia. No es también el tema del medio ambiente, tales como
Linux frente de Windows. Yo creo que una persona que ha sido exclusivo de uno
puede recoger la otra, y es digno de él para entrenarlos si eso es un problema
".
Conclusión : la lógica de programación fuerte y, a veces requiere tecnologías
específicas que prefieren.los empleadores esperan que los programadores pueden
aprender a trabajar en la mayoría de entornos.
¿Qué importancia tienen
las habilidades blandas (escritura, presentación y otras habilidades de
comunicación)?
Grandes Empresas
"Las habilidades sociales son extremadamente importantes. Potencialmente,
la habilidad más importante que puede tener. Una vez que se establecen
como alguien que es técnicamente útil, habilidades blandas son las que
generalmente conduce promociones ".
"Las habilidades de comunicación son muy importantes, habilidades de
presentación no tanto."
Empresas Medianas
"Depende del nivel de programador. Para alguien menor, el 90% de
codificación y aptitudes generales, 10% habilidades blandas. Para alguien de
mayor jerarquía que aumenta de manera significativa."
Pequeñas Empresas
"Parece que las habilidades blandas no puede hacer daño y son a menudo
muy importante. Incluso si un programador no puede hacer documentos de Word o
en PowerPoint, que debe ser capaz de comprender y comunicar la visión
global acerca de lo que están haciendo, y cómo encaja en las piezas
generales de la organización ".
Conclusión : Las habilidades sociales pueden en última instancia ser la
habilidad más importante, sobre todo a medida que ascienda en la escala en una
organización.
Consejos para la adquisición de los
conocimientos de programación Derecha
Como profesor universitario asesorar a los estudiantes, aquí hay algunos
consejos para cualquier persona que quiere ser un programador:
1. No te dejes atrapar con
tecnologías específicas, sino que se centran en las habilidades profesionales
fundamentales que los empleadores en este artículo describen.
2. En lugar de centrarse en
los clasificados, salir y trabajar en red con profesionales de programación
local. Hace poco leí que son 4 -5 veces más probabilidades de conseguir un
trabajo a través de redes de aplicar a un anuncio de empleo.
3. Adquirir experiencia
práctica tanto la programación como sea posible a través de proyectos de la
escuela, pasantías y proyectos auto-impulsado (una de las preguntas que los
empleadores están sin duda te va a preguntar es "¿Qué tipo de aplicaciones
y sitios web se crea en su propio tiempo - apenas por diversión. ").
4. Participar en hackathons
y otros proyectos de bricolaje. Esto no sólo ayudará a mejorar sus
habilidades de programación, sino también demostrar que usted es un apasionado
de la programación.
Durante mis conversaciones con muchos profesionales relacionados con el
software a estas preguntas, me llamó la atención el hecho de que, a pesar de
los enormes cambios tecnológicos de los últimos 10 a 20 años, lo que los
empleadores buscan en los programadores realmente no ha cambiado mucho. Si
bien es obvio que los programadores de hoy en día están utilizando diferentes
lenguajes de programación, sistemas operativos y otras tecnologías modernas,
los empleadores están siendo básicamente buscando las mismas "tipos"
de los programadores que lo eran hace 10 años-para el caso, incluso hace 20
años.
Sólo un par de años fuera de la universidad, yo era un programador de un
sistema de Gestión comercial hecho en (Cobol), entrevistado para un trabajo como programador
C. En un momento de la entrevista, le pregunté a mi supervisor (eventual)
en caso de que la compañía realmente contratar a alguien que no tenía ninguna
experiencia con C para este trabajo. Su respuesta tuvo un gran impacto en
mi carrera.
Él respondió: "No contratamos a la gente por lo que saben, sino por lo
que podemos aprender." Estas palabras siempre han encontrado eco en
mí. Desde ese momento, mi estrategia de carrera como programador siempre
ha sido la de mirar hacia adelante en lugar de centrarse simplemente en una
tecnología específica, actual. Como alguien me dijo recientemente,
"Como programador no tiene una única carrera de 30 años, tiene 30 carreras
de un año".
No sólo es la tecnología cambia constantemente, pero, en el mundo actual,
la programación se puede encontrar en todos los aspectos de nuestra cultura. Esto
es lo que hace ser un programador tan interesante y gratificante. ¿Cuántas
profesiones existen que pueden llevar por caminos tan diversos como la atención
de la salud, la justicia penal, la educación, el entretenimiento y casi todas
las áreas de negocio? La variedad de carreras de programación es bastante
impresionante, y las oportunidades de cambiar los caminos, e incluso combinarlos,
son prácticamente ilimitadas.
Quizás la discusión más interesante que tengo con la gente en la industria
de la programación, así como los que enseñan la programación, es la siguiente: ¿Cuáles
son los empleadores que buscan en realidad las personas que contratan como
programadores ? Con esta frase en mente, este artículo explora
algunas de las preguntas que los estudiantes a menudo me preguntan cuando están
buscando para entrar en la industria de la programación, en concreto, ¿qué tipo
de habilidades que deben concentrarse en el aprendizaje.
¿Qué habilidades dicen los
empleadores que están buscando?
Mi primera parada fue en anuncios clasificados de un periódico local, donde
se ve principalmente de programación ofertas de empleo como ésta (tomado de un
anuncio real): "Experiencia Java Web Developer. Experiencia
requerida, Struts 2 o MVC. Hibernate o ORM. JavaScript / jQuery,
Ajax, Patrones, HTML y SQL ".
Muchos de los anuncios requieren habilidades específicas, tales como. NET y
Oracle, así como muchas otras habilidades que he, honestamente, nunca oído
hablar. Por lo tanto, mucha gente cree que cuando se inicia un programa
educativo, que debe centrarse en las habilidades que son tecnologías calientes
de hoy.
Si bien reconozco que muchos puestos de trabajo están buscando habilidades
específicas, siguiendo esta estrategia puede ser problemático. Todos
sabemos que la tecnología está cambiando tan rápidamente que nadie sabe cuáles
son las tecnologías calientes estarán en un año, por no hablar de los dos o cuatro
años que se tardará en obtener un certificado o título.
Así que, si el aprendizaje de la última tecnología no es la mejor
estrategia, entonces, ¿qué es?
NOTA
Como con la mayoría de cosas en la vida, en lugar de la marca de una sola estrategia como la mejor, la trayectoria educativa que elija como programador depende del contexto en el que se encuentra. Si usted es un profesional con experiencia de programación, entonces, obviamente, hay muchas situaciones donde se necesita un cierto conjunto de habilidades. Por ejemplo, si una empresa está buscando contratar a un contratista para un conjunto de habilidades muy específicas, entonces ellos quieren encontrar a alguien que satisfaga la necesidad inmediata. O bien, una persona puede desear agregar simplemente una tecnología actual a su conjunto de herramientas de programación, tomando una clase o incluso la búsqueda de un certificado.
Como con la mayoría de cosas en la vida, en lugar de la marca de una sola estrategia como la mejor, la trayectoria educativa que elija como programador depende del contexto en el que se encuentra. Si usted es un profesional con experiencia de programación, entonces, obviamente, hay muchas situaciones donde se necesita un cierto conjunto de habilidades. Por ejemplo, si una empresa está buscando contratar a un contratista para un conjunto de habilidades muy específicas, entonces ellos quieren encontrar a alguien que satisfaga la necesidad inmediata. O bien, una persona puede desear agregar simplemente una tecnología actual a su conjunto de herramientas de programación, tomando una clase o incluso la búsqueda de un certificado.
¿Qué es lo que los empleadores realmente buscan?
Después de discutir estos temas con la gente en la industria y el mundo
académico durante muchos años, he llegado a suscribirse a la teoría de que la
programación es la programación . En mi experiencia, cuando usted
contrata a alguien para un puesto de programación, usted no sabe necesariamente
qué tecnologías y / o lenguajes de su organización va a utilizar en un año. De
hecho, es muy posible que desee este nuevo empleado que te guíe hacia el futuro
y explorar direcciones totalmente nuevas.
¿Qué es lo que realmente quieren los empleadores cuando se trata de talento
de programación? En última instancia, me decidí a preguntar directamente a las
empresas. En primer lugar, me clasifiqué las empresas en tres niveles de
tamaño: pequeño (10 o menos empleados), medianas (entre 10 y 100 empleados) y
grandes (más de 1000 empleados). Entonces les hice las siguientes
preguntas:
1. ¿Cuáles son las
habilidades más importantes (técnicas, habilidades blandas o de otro tipo) que
usted busca en la contratación de un programador?
2. ¿Se concentra en un
lenguaje de programación específico o la tecnología (es decir, ¿te pasa en un
buen programador que le falta una habilidad específica que su empresa utiliza o
usted les entrenar)?
3. ¿Qué importancia tienen
las habilidades blandas (escritura, presentación y otras habilidades de
comunicación)?
4. ¿Qué títulos o
certificaciones estás buscando (qué tan relevante son las certificaciones)?
5. ¿Sus programadores a
crear un código nuevo (producto) o están trabajando en el mantenimiento de
código existente implementación y aplicación de productos de terceros?
Preguntas y Respuestas
De todas las respuestas que he recibido, he elegido las respuestas de
cuatro de los profesionales de software que proporcionan buenas
representaciones de los tres tamaños de empresa. Hay respuestas de dos
grandes empresas, una empresa mediana y otra pequeña empresa.
En lugar de intentar interpretar las respuestas, simplemente me presento
las respuestas textualmente.
¿Cuáles son las
habilidades más importantes (técnicas, habilidades blandas o de otro tipo) que
usted busca en la contratación de un programador?
Grandes Empresas
"4 años Título Universitario, sólida formación técnica, experiencia
profesional, apasionado de la tecnología, profesionalmente conductor,
articulado y bien hablado."
"Es verdaderamente una combinación de habilidades técnicas y blandas.
Fundamentos de la lógica de programación y la capacidad de aplicar los
fundamentos de cualquier base de código que se encuentran."
Empresas Medianas
"La capacidad para resolver problemas. La capacidad de aprender nuevas
tecnologías rápidamente. La capacidad de encontrar soluciones a los problemas
de uso de Internet. Una mentalidad de la eficiencia y la creatividad."
Pequeñas Empresas
"Yo quiero centrarme en la idea de ser un jugador de equipo decente y
no ser una persona que es difícil llevarse bien con un empleado difícil puede
crear todo un montón de problemas más habilidades pueden ser aprendidas y
mejoradas -.. Lo que a menudo son tiempos difíciles de cambiar son la
naturaleza y el carácter de una persona ... Además de las habilidades descritas
en otras respuestas, en busca de habilidades interpersonales es importante -
especialmente si la organización está en el lado más pequeño. "
Conclusión : título universitario de 4 años ( grandes empresas ),
la pasión por la programación, las habilidades interpersonales, solucionador de
problemas, trabajar en equipo.
¿Se concentra en un
lenguaje de programación específico o la tecnología (es decir, ¿te pasa en un
buen programador que le falta una habilidad específica que su empresa utiliza o
usted les entrenar)?
Grandes Empresas
"En realidad no;. Esperamos que nuestros desarrolladores ser versátil
y ser capaz de aprender nuevas tecnologías, siempre y cuando son similares (.
Decir que esperamos un desarrollador de Java para poder sumergirse en
NET)"
"No. Fundamentos de lógica de programación y la capacidad de aplicar los
fundamentos de cualquier base de código que se encuentran."
Empresas Medianas
"Sería realmente dependerá de la necesidad. El programador que puede
saltar entre los idiomas es más valioso, salvo en proyectos especializados. Si
no tiene ninguna experiencia con un lenguaje que están solicitando, sin
embargo, que probablemente no son deseables. Aunque la experiencia es sólo
personal que es mucho mejor que no tener ninguna experiencia. Hay demasiados
matices del lenguaje y el medio ambiente y no el suficiente beneficio en la
formación de una persona a partir de cero ".
Pequeñas Empresas
"Siempre es bueno estar dispuesto a entrenar a alguien, si ves otra
competencia que valoramos mucho. Esperando un programador C + + para poder
recoger Java debe ser una apuesta segura, pero, podría tomar algún tiempo para
alcanzar la competencia. No es también el tema del medio ambiente, tales como
Linux frente de Windows. Yo creo que una persona que ha sido exclusivo de uno
puede recoger la otra, y es digno de él para entrenarlos si eso es un problema
".
Conclusión : la lógica de programación fuerte y, a veces requiere tecnologías
específicas que prefieren.los empleadores esperan que los programadores pueden
aprender a trabajar en la mayoría de entornos.
¿Qué importancia tienen
las habilidades blandas (escritura, presentación y otras habilidades de
comunicación)?
Grandes Empresas
"Las habilidades sociales son extremadamente importantes. Potencialmente,
la habilidad más importante que puede tener. Una vez que se establecen
como alguien que es técnicamente útil, habilidades blandas son las que
generalmente conduce promociones ".
"Las habilidades de comunicación son muy importantes, habilidades de
presentación no tanto."
Empresas Medianas
"Depende del nivel de programador. Para alguien menor, el 90% de
codificación y aptitudes generales, 10% habilidades blandas. Para alguien de
mayor jerarquía que aumenta de manera significativa."
Pequeñas Empresas
"Parece que las habilidades blandas no puede hacer daño y son a menudo
muy importante. Incluso si un programador no puede hacer documentos de Word o
en PowerPoint, que debe ser capaz de comprender y comunicar la visión
global acerca de lo que están haciendo, y cómo encaja en las piezas
generales de la organización ".
Conclusión : Las habilidades sociales pueden en última instancia ser la
habilidad más importante, sobre todo a medida que ascienda en la escala en una
organización.
Consejos para la adquisición de los
conocimientos de programación Derecha
Como profesor universitario asesorar a los estudiantes, aquí hay algunos
consejos para cualquier persona que quiere ser un programador:
1. No te dejes atrapar con
tecnologías específicas, sino que se centran en las habilidades profesionales
fundamentales que los empleadores en este artículo describen.
2. En lugar de centrarse en
los clasificados, salir y trabajar en red con profesionales de programación
local. Hace poco leí que son 4 -5 veces más probabilidades de conseguir un
trabajo a través de redes de aplicar a un anuncio de empleo.
3. Adquirir experiencia
práctica tanto la programación como sea posible a través de proyectos de la
escuela, pasantías y proyectos auto-impulsado (una de las preguntas que los
empleadores están sin duda te va a preguntar es "¿Qué tipo de aplicaciones
y sitios web se crea en su propio tiempo - apenas por diversión. ").
4. Participar en hackathons
y otros proyectos de bricolaje. Esto no sólo ayudará a mejorar sus
habilidades de programación, sino también demostrar que usted es un apasionado
de la programación.
Durante mis conversaciones con muchos profesionales relacionados con el
software a estas preguntas, me llamó la atención el hecho de que, a pesar de
los enormes cambios tecnológicos de los últimos 10 a 20 años, lo que los
empleadores buscan en los programadores realmente no ha cambiado mucho. Si
bien es obvio que los programadores de hoy en día están utilizando diferentes
lenguajes de programación, sistemas operativos y otras tecnologías modernas,
los empleadores están siendo básicamente buscando las mismas "tipos"
de los programadores que lo eran hace 10 años-para el caso, incluso hace 20
años.