¿Merecen la pena las certificaciones para ingenieros de software?

Las certificaciones pueden o no valer la pena, dependiendo de dónde se presente.

Las compañías de software de “élite” (Microsoft, Google, Amazon, etc.) generalmente no son neutrales con respecto a las certificaciones para ingenieros de software; En realidad son negativos. Si, eso es correcto. Si tiene una certificación y está aplicando a una de esas compañías, simplemente no la incluya en su currículum.

La razón es que, si bien las certificaciones demuestran cierto grado de conocimiento, eso no es lo que buscan esas empresas de élite. Realmente no les importa lo que sabes. Asumen que si eres inteligente y conoces los conceptos básicos de la informática, podrás aprender cualquier conocimiento que te falte. Sin embargo, una certificación sugiere que le importa el conocimiento en lugar de mejorar sus habilidades reales.

Sin embargo, lo más importante es que los tipos de personas que obtienen certificaciones tienden a no ser del calibre correcto de ingeniero. Yo, por ejemplo, nunca he considerado obtener una certificación, y ninguno de los codificadores que conozco en estas compañías. Si quiero aprender más, me enfocaré en tomar clases en Coursera o construir cosas por mi cuenta. Incluso podría explorar Top Coder y enumerar esa puntuación en mi currículum. No voy a memorizar hechos de Java solo para poder demostrar que he memorizado hechos de Java. No haría eso porque sé que ningún empleador para el que quisiera trabajar se preocuparía por eso. (Sí, todo esto es circular. Lo reconozco. Pero eso es parte de cómo este sistema se mantiene en su lugar).

El mismo argumento se puede hacer de la mayoría de las nuevas empresas de Silicon Valley. Desprecian las certificaciones.

¿Eso significa que ningún empleador se preocupa por ellos? No exactamente. Algunos lo hacen. Los empleadores de nivel inferior, en particular las empresas no tecnológicas, a veces se preocupan por las certificaciones. Estos son los tipos de empresas que atraen candidatos que se ven a sí mismos como un programador de Java 2. cualquiera que sea, en lugar de simplemente un gran ingeniero de software que ha estado trabajando con Java.

Los grandes ingenieros de software no están vinculados a idiomas o tecnologías, porque elegir uno nuevo es fácil.

YMMV, pero nunca he visto una situación en la que una certificación haya ayudado, y en la mayoría de las situaciones una certificación fue un indicador negativo. Resulta que la mayoría de las certificaciones son “memorizar y regurgitar” y que resultan inútiles.

Una razón por la cual las certificaciones son inútiles es que un programador debería ser capaz de determinar el nivel de habilidad de otro programador. La certificación solo se vuelve útil si el entrevistador no sabe nada sobre programación.

Pero eso tiene un resultado interesante en que las compañías que están extremadamente interesadas en las certificaciones se convierten en una señal negativa para los programadores.

En mi opinión, esos no valen la pena. Podrías usar tu tiempo de mejor manera. Si no encuentra nada que ver con su tiempo, simplemente aprenda / practique más algoritmos de estructuras de datos o resuelva problemas matemáticos o estadísticos. Si ha terminado con esos (o se aburre), busque problemas más inciertos que no se pueden resolver con certeza matemática (como los filtros de spam). Hay tantas cosas buenas que aprender que memorizar cosas parece una pérdida de tiempo.

Cuando vi las preguntas de muestra de esos cursos de certificación, decidí que me era imposible aprobarlas. Se sintió más como una prueba GRE (parte en inglés) que como pruebas de resolución de problemas. Decidí practicar los problemas de las finales mundiales de ACM, los desafíos de programación (aprendí sobre los del libro de algoritmos de Steven Skiena), el conjunto de problemas de USACO.

Pero he visto a pocas personas en Grandes Empresas que tienen esas certificaciones enumeradas en sus firmas de correo electrónico, no del lado del desarrollador, sino del lado de la ingeniería de servicio. Pero el OP preguntó específicamente sobre la posición de ingeniería de software.

Todo esto depende de lo que “valga la pena” significa para usted.

Si quiere decir, ¿una certificación le hará ganar más dinero? Eso es bastante difícil de decir. Realmente depende de muchos factores. Los salarios de ingeniería de software actualmente están en tendencia a $ 116k / año en You Worth. Esto se basa en datos de muchos ingenieros con una amplia variedad de experiencia. ¿Dónde caes en relación con esto? Si gana menos, entonces buscar obtener algunas certificaciones podría tener sentido para usted. Hágase algunas preguntas como:

Salario de Ingeniería de Software en Estados Unidos

-¿Tiene un título de CS o solo certificaciones? Si tienes un título de CS, entonces creo que los certificados pueden demostrar que eres un aprendiz continuo, pero cualquier ingeniero que valga la pena será un aprendiz continuo, así que todo lo que realmente hace es demostrarlo. ¿Ganará más dinero? Probablemente no mucho, pero podría ganar algo de buena voluntad.

¿Las certificaciones son directamente relevantes para su trabajo? En este caso, si el certificado es directamente relevante para la descripción de un trabajo, seguramente puede ser beneficioso. Creo que verá más valor en una empresa no tecnológica, pero creo que puede ayudar en cualquier caso.

-¿La certificación te ayudó a aprender un concepto? Aquí es donde el valor real es, creo. Si obtener una certificación lo motiva a aprender un concepto nuevo y valioso dentro de su campo, entonces su salario se reflejará si finalmente lo hace. Te convertirá en un mejor ingeniero y te mantendrá avanzando. No tiene que ser una línea en su currículum para que “valga la pena”. Las personas aprenden cosas de diferentes maneras y algunas están motivadas por un tipo de aprendizaje en el aula donde se prueba el conocimiento. En mi opinión, esta es una excelente manera de continuar su educación.

Mucha gente ha respondido aquí que las certificaciones son indicadores negativos, y tal vez en algunos casos ese sea el caso, pero creo que la educación continua en su campo nunca es algo negativo. ¿Verá beneficios salariales inmediatos cada vez? Quizás no, pero al final, serás un mejor ingeniero para tener el conocimiento.

La información salarial anterior es 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.

Puedo ser parcial porque soy un programador certificado de Java y un ingeniero de software que usa principalmente Java en este momento, pero mi experiencia es bastante diferente de la de la mayoría de las personas aquí.
Puede ser porque vivo y trabajo en Alemania, pero mi certificación de Java, así como la que hice / hice en curso, han sido vistas hasta ahora como una prueba de que no tengo miedo de aprender cosas nuevas y que me gusta mantenerse al día, con respecto a las evoluciones en mi área.
Personalmente, veo una certificación como un medio para comprender de manera adecuada cómo funciona un ecosistema con sus especificidades. Para Java, por ejemplo, sin las certificaciones, hay muchas cosas relacionadas con el funcionamiento de Java de las que no habría sido consciente. Lo mismo ocurre con cosas como la varianza y la contravarianza en Java, que es ligeramente diferente de la implementación C #. También hay muchas cosas relacionadas con la estructura de datos, los genéricos en Java que solo se pueden adquirir al estudiar para obtener certificaciones o al pasar mucho tiempo leyendo los comentarios de la API o probando cosas.
Tengo una licenciatura en informática y en este momento estoy haciendo una maestría en informática con especialización en Soft. ing. (educación a distancia) y aunque admito que lo más interesante para saber de un software ing. El trabajo es el conocimiento general que uno aprende durante un grado, no creo que duela saber las especificidades (limitaciones, ventajas) sobre una tecnología.

Si existe una correlación entre el mal desempeño de la entrevista y tener una certificación, ¿hay alguna causalidad?

Cualquiera que solicite certificaciones no sabe cómo evaluarlo.

Esta es una mala señal. Significa que vas a trabajar para esta persona solo por dinero, pero casi nunca obtendrás nada de él porque es probable que sepas más que él.

Si quieres un trabajo por el dinero, sigue el camino del certificado.

Si quieres tener un trabajo para disfrutar de una experiencia y aprender más, SÓLO SEA IMPRESIONANTE. Haga grandes cosas, lo suficientemente grandes como para atraer a un mentor que quiera trabajar con usted debido a su potencial y anhela enseñarle otras cosas.

Simplemente haga cosas, cree una buena cuenta de GitHub y Behance o un gran blog y cree una cartera.

Mis 2 centavos

Las certificaciones son muy importantes para las empresas basadas en servicios y no tecnológicas.

En las empresas basadas en servicios, ayuda a mostrar a los clientes que la empresa tiene empleados calificados. Una compañía no técnica dice que un fabricante textil confía en las certificaciones para contratar al talento, porque no tienen las habilidades suficientes para examinar a los candidatos.

Esto no ayuda mucho con las principales empresas de tecnología, ya que buscan más logros en currículums y tienen su propio mecanismo para filtrar candidatos en las entrevistas.

Las certificaciones esencialmente dicen “técnico” o “escuela de oficios” versus “ingeniero”. Citar una lista de certificaciones es esencialmente decir “No soy un ingeniero”, esencialmente degradar su imagen. (Si no tienes una licenciatura en informática o EE, es una historia diferente).

Una excepción: si está trabajando en software vital, de seguridad o de misión crítica, una licencia de ingenieros profesionales podría ser una credencial útil (aunque realmente no hay licencias de PE para ingenieros de software). A raíz de algunos desastres recientes causados ​​por errores de software, hay un llamamiento resurgente para licencias de PE para ingenieros de software, y he comenzado a ver algunas solicitudes de propuestas que requieren un PE con licencia para firmar los diseños de software relacionado con el tránsito.

Sorprendentemente, las certificaciones de ingeniería de software pueden * dañar * en lugar de * ayudar *.

Aprendí esto después de leer este artículo de un increíble analista de reclutamiento, Dave Fecak. ¿Las certificaciones de desarrollador ayudan o perjudican sus posibilidades de ser contratado?

La gran inversión de los 90 es la siguiente: ¿por qué necesitarías un certificado y no solo mostrar proyectos y experiencias pasadas? Los buenos programadores no tienen tiempo que perder en certificados, por lo que si tiene uno, es menos probable que pase tiempo haciendo otras cosas que podrían convertirlo en un buen programador. Más información en ese artículo.

Si el proceso de certificación realmente te enseña algo, seguro. Pero por lo que puedo decir, la mayoría de las certificaciones no se consideran diferenciadores en las decisiones de contratación o en la selección de currículums.

Son más importantes en la contratación de operaciones, donde tener certificaciones en cosas como los enrutadores Cisco es útil, pero no tanto en el desarrollo de software.

Mucha gente ha dicho que los certificados son inútiles para los desarrolladores de software. Básicamente tienen razón. Pero sé de varios contraejemplos.

1.) Su gerente quiere que esté certificado. He tenido 3 gerentes que me dicen que quieren que me certifiquen para varias cosas. Hay varias razones para esto. Es posible que no sepan que la certificación de software no está realmente correlacionada con ser un buen desarrollador. Es posible que quieran presumir ante otros departamentos sobre cuántos empleados certificados tienen. (Sí, en realidad). Las tiendas de contratos de software anuncian que tienen desarrolladores certificados. (Piense en quién lee los anuncios. Si tuvieran desarrolladores con su especialidad, ¿acudirían a usted?) Los gerentes pueden ver la obtención de la certificación como prueba de que se está desarrollando en su carrera profesional.

2.) Certificación como condición de empleo. Me ofrecieron un puesto en el que parte de la condición de empleo era que me certificaría en el lenguaje de programación que usan al final de un año.

3.) Requisitos legales. En Texas, la ingeniería de software se ha agregado a la licencia de Ingeniería Profesional. Esto no es exactamente una certificación, pero tampoco lo es exactamente. No es difícil imaginar que el software utilizado donde una vida puede estar en juego, como el equipo médico, puede requerir un PE para supervisar el desarrollo.

4.) Hay certs y hay certs. La certificación de nivel básico de LabVIEW es una prueba de opción múltiple. Alguien con buena memoria y un par de horas puede pasarlo. El segundo nivel, es una práctica de cuatro horas en la que escribes código para resolver un problema. Probablemente no termine el código a tiempo, pero se otorgan puntos por el uso correcto de las plantillas de diseño, el uso de la documentación, etc. Confiaría en que cualquiera que pase este certificado tenga los fundamentos básicos del idioma.

La única vez que contraté a alguien por sus letras después de su nombre, las letras eran “Ph.D.” La persona era un postdoctorado en astrofísica sin experiencia en seguridad informática o desarrollo de software. Pero él era un postdoc en Caltech. Una de mis mejores contrataciones …

Creo que la única vez que debe obtener una certificación es cuando trabaja para una gran empresa y su empresa está pagando por ella. Algunas de estas compañías tienen un requisito de grado para ciertos niveles de promociones que pueden cumplir los títulos universitarios o las certificaciones de la industria. Entonces, si carece de la calificación de grado, definitivamente debe obtener la certificación y, como se señaló, la compañía pagaría por ella.

¿La única otra vez? Posiblemente para llenar un espacio de tiempo “entre trabajos”. En ese caso, no importa en qué se encuentre su certificación. Solo tiene que estar relacionado con la industria y demostrar que usted no era simplemente “desempleable” durante ese período, sino que buscaba mejorar usted mismo.

Estoy certificado por Java. De vez en cuando a alguien le importa, pero generalmente a nadie le importa.

Una cosa que podría hacer es pasar su currículum de un Gerente de Proyecto o incluso alguien en Recursos Humanos al Gerente de Contratación o alguien en TI. En una era en la que se usa una gran cantidad de búsqueda automática de palabras clave, no puedo ver cómo dolería.

Lo que hago es en mi currículum. Cerca del fondo, pero no hago gran cosa. Nunca y nunca pensaría en poner todas esas letras después de mi nombre donde quiera que vaya. En algunas profesiones tal vez eso haga la diferencia.

Para mí, estudiar para la certificación es mucho más importante que la certificación en sí. Le digo a la gente que estudie para obtener la certificación y aprenda ese material, pero está bien si nunca se presenta el examen.

Hay suficientes preguntas estándar de entrevista que son muy similares a las cubiertas en algunos de los certificados de que es bueno poder sacarlas de la memoria.

Estoy dividido justo en el medio de esta pregunta. La certificación cubre una gran cantidad de material que realmente no importa. Pero, de nuevo, las pantallas del teléfono, las entrevistas técnicas, etc., tampoco siempre cubren las cosas que realmente importan.

En mi humilde opinión, no. Nunca he recibido ninguno y no tengo intención de hacerlo. Las certificaciones en el desarrollo de software no significan nada y no interesan a nadie a quien intente impresionar. Cualquier persona que se inclinara por usar certificados para juzgar mi competencia y talento como ingeniero, probablemente lo evitaría.

Al evaluar a un candidato para el desarrollo de software, un exceso prominente de certs o un exceso de peso colocado en los certs me enviaría la bandera de “aficionado”. Si el candidato es un recién graduado o alguien que intenta ingresar a la industria, eso es lo suficientemente justo; Los estoy evaluando desde un punto de vista aficionado de todos modos, y eso no es algo malo en sí mismo. Los certificados pueden mostrar un poco de iniciativa o esfuerzo extra en su búsqueda para ingresar a la industria o algo así. Dicho esto, todavía pondría mucho más peso en cualquier experiencia previa, proyectos personales, proyectos académicos, conocimiento / actitud / potencial expresado en la entrevista, etc.

Para alguien que pretende ser un ingeniero experimentado, sospecharía. ¿Por qué esta persona me muestra certificados sin sentido y no sus logros reales? ¿Por qué creen que los certificados son importantes en esta línea de trabajo? No lo son, ¿saben qué es realmente importante?

Si los certificados son para temas aleatorios fuera del desarrollo de software, está bien, habla de pasatiempos e intereses, incluso podría ser interesante y mostrar curiosidad, búsqueda de conocimiento, etc. Pero alguien que intenta simular certificados de desarrollo de software son representaciones significativas de cualquier otra cosa que no sea la promoción de un vendedor de sus propios productos y la gran raqueta que vive en la industria del “entrenamiento” levantaría una ceja o tres.

¿Vale la pena qué?

¿Te ayudan a conseguir un nuevo trabajo? Por lo general, no, aunque si recién está comenzando, una certificación podría llevarlo por delante de una persona de nivel de entrada sin una.

¿Te ayudan a avanzar en tu trabajo actual? Ocasionalmente, aunque el entrenamiento específico del dominio es aún mejor.

Una cosa a tener en cuenta: las certificaciones generalmente van a la zaga de las tecnologías de punta, a veces por varios años, simplemente porque lleva tiempo actualizar la certificación para reconocer el cambiante panorama tecnológico. Si la compañía está buscando ingenieros de software a la vanguardia / tecnología de punta, una certificación podría incluso ser una desventaja.

Las certificaciones son importantes para mostrar sus habilidades a su empleador. Las certificaciones de TI tienen una gran demanda debido al avance en tecnologías como Cloud computing, Big Data, etc.

Aquí está la infografía del blog de AWS sobre el valor de las certificaciones. Vale la pena mirarlo:

Gracias por A2A!

Soy un profesional certificado de Microsoft (tengo 12 certificaciones actuales), por lo que estoy calificado para responder esto.

El valor de sus certificaciones depende de la empresa que solicita. Algunas compañías los valoran mucho, especialmente si son socios de su proveedor de certificación. Esto se debe a que su estado con el vendedor (oro, plata o bronce) depende de la cantidad de empleados certificados que tengan.

Luego, hay empresas en las que la certificación ciertamente le da una ventaja sobre otros candidatos no certificados. Y en algunos casos, es posible que le ofrezcan un salario un poco más alto.

Finalmente, llegamos a las compañías que ven sus certificaciones negativamente. Tales empresas son muy pocas, afortunadamente. Estas son las empresas que creen que un candidato certificado puede exigir salarios mucho más altos, o que las certificaciones realmente no reflejan las habilidades y capacidades del candidato.

A fin de cuentas, este es el resultado final. Obtener la certificación casi siempre ayuda, al menos en cierta medida, pero no se puede esperar ser contratado solo con las certificaciones. Estas certificaciones deben usarse para complementar su experiencia laboral, y preferiblemente un título o diploma.

Depende del tipo de oportunidades que desea apuntar para usted y el tipo de tecnología en la que trabaja.

La mayoría de las compañías de productos (Google, Microsoft, Oracle, Facebook) ni siquiera te molestan para obtener una certificación. Su preocupación está en su programación y habilidades analíticas.

Sin embargo, si está buscando trabajo en una empresa de consultoría o en una industria basada en servicios, tener una certificación lo ayudará a obtener un mejor salario y designación. Porque ayuda a justificar su posición con sus clientes.

También depende mucho del dominio y la tecnología con la que esté trabajando. Por ejemplo, si está trabajando en un paquete ERP, podría ser beneficioso para usted hacer una certificación al respecto. Del mismo modo, hay ciertos dominios, como finanzas y seguros, donde su empleador puede pedirle que haga una certificación.

Pero si está buscando puestos de ingeniería, en las compañías de productos, entonces realmente no necesita molestarse.

Te puedo decir esto: hace algunos años, trabajé para Microsoft. Tenías que estar certificado (creo que el MCD) para mantener el trabajo; seis meses fue el reloj. Esto significaba entender las redes IP, etc. También me involucré en la enseñanza de técnicos de MSFT, así que tuve que obtener el MCSD. Estaba interesado en todas las cosas de TI, pero nunca se aplicó realmente a lo que hice en el trabajo. El software fue útil, pero en su mayor parte si me hubieran dado el libro y un par de meses hubiera estado bien.

Dejé MSFT después de unos cinco años, confiando en que mis antecedentes + certs facilitarían el trabajo en el campo. Después de todo, eso es lo que dijo MSFT (recuerde que en ese momento MSFT era la compañía “it”, a pesar de que las acciones se desplomaron durante la noche, razón por la cual muchos de nosotros nos fuimos … no queríamos que todos se agruparan en ventas). Todos ellos garantizaron … todos menos … que tenías una mejor oportunidad de conseguir trabajo si poseías un MCSD.

Mal, mal, mal. A nadie realmente le importaba. Me dio algunos trabajos de enseñanza, pero vi escuelas que literalmente garantizaban que pasarías el certificado; No podías fallar. He visto cómo se cierra la sesión de personas que no tenían nada que ver con escribir código en ninguna parte. Finalmente lo vi como una estafa para imprimir dinero. Los certificados se invalidaron y actualizaron con tanta frecuencia, y se lanzaron diferentes tonos del mismo en tal volumen, que se volvió absurdo.

Hay una excepción

Me gustaría saber qué dice Gayle sobre la única cosa para la que he visto un certificado práctico (para un desarrollador de software): obtener acceso a un entorno de hardware al que normalmente no tendrías acceso como aprendiz en solitario. Por ejemplo, si desea escribir software para la nube, ¿alguna vez ha trabajado con un entorno de nube de grado de producción? ¿Está familiarizado con cómo probar una aplicación de este tipo? ¿Sabe cómo trabajar con TI para ponerlo en funcionamiento?

Si un desarrollador de software entró y tenía un certificado en su currículum, y pregunté al respecto, y la respuesta fue: “Necesitaba acceso a un entorno de hardware más grande. Este certificado puso a disposición un entorno de clúster / nube privada / etc.” tuve que trabajar con ingenieros de TI para comprender los protocolos y requisitos de implementación, seguridad, etc. Me pareció muy útil lo que significa escribir una aplicación para escalar “.

Eso es algo con lo que la mayoría de los desarrolladores de software no tienen experiencia a menos que lo obtengan en el trabajo en algún lugar, o a menos que hayan ido a una escuela que lo tuviera disponible. Claro que puedes juntarlo todo tú mismo, pero solo hay tantas horas en un día y tantos dólares en el banco, y probablemente deberías gastar la mayor cantidad posible en estudiar desarrollo de software y temas relacionados.

Aparte de eso, estaría completamente de acuerdo en que el currículum, CMA CTT CTT + MCS MCSD CNET + Oracle System Admin CNA IT + …

… hmm … para que puedas presentarte a una clase y aprobar los exámenes. Los estudiantes con una calificación aprobatoria también pueden hacer eso, ya sabes. ¿Que más tienes? Certs, un trabajo pasado … sin servidor personal … sin blog … sin experimentos … sin opiniones o pensamientos sobre a dónde va … nunca desplegó una aplicación en una instancia de Amazon o GAE … o incluso en un servicio remoto fuera de su laboratorio universitario …

… dime … ¿en qué estás realmente interesado, además de ganar dinero?

Freelancer o Consultor Tipo: como emprendedor e ingeniero de software, sí, absolutamente. ¿Cómo? Necesita mostrar algo a las partes interesadas / clientes. No saben lo duro que has escrito tu código.

Además de mostrar a sus clientes su cartera, los certificados de AWS, Microsoft, CISCO u otros definitivamente lo ayudarán a cerrar el trato y luego solicitar una tarifa por hora más alta.

Tipo de empleado: tal vez. Depende de quién te va a entrevistar. Puede ser un departamento de recursos humanos que no sabe nada de programación o un desarrollador principal que quisiera ver su cartera, cómo escribe su código y cómo resuelve los problemas.

En resumen, depende de dónde va a utilizar su certificado. ¿Se lo vas a mostrar a los dueños de negocios? Ponlo en tu blog? Si ese es el caso, sí.