Siento que el C / C ++ a menudo visto realmente no describe mis habilidades en mi CV. Así que estoy planeando separarlo en conocimiento avanzado de C ++ y habilidades mediocres de C.
¿Crees que esto es confuso para el lector? Ella podría pensar: "C es un subconjunto de C ++, entonces, ¿qué está tratando de decirme este tipo?" Bueno, lo que estoy tratando de decir es: he realizado varios proyectos de C ++ en el mundo real, mientras que los proyectos de C puro eran solo un pasatiempo. ¿Está de acuerdo en que un programador experto de C ++ no necesariamente es un tipo C calificado o cree que este cambio se realiza fácilmente?
Respuestas:
Has hecho tantas preguntas en una; déjame intentar responder mientras los segrego. Contrato a muchas personas que pertenecen a este tipo de perfil y, con frecuencia, tengo que tomar tantas entrevistas y rechazar a las personas porque a menudo no tienen una respuesta clara a las preguntas que usted hizo.
¿Tener un buen dominio en C o C ++ es lo suficientemente bueno para calificarlo para el otro programa?
Si estás en un nivel superior en realidad NO. es decir, si ha pasado algo así como 6 años haciendo programación en C ++ en algunas aplicaciones empresariales centrales, y ahora estoy tratando de ponerlo en sistemas embebidos que están todos en C, probablemente su sintaxis de programación y cómo depurar cosas no es un problema. Pero si necesita pensar en un problema, ciertamente es muy desordenado. Esto es cierto de cualquier lado al otro idioma. Cuantos más años haya pasado solo un tipo de idioma, ¡menos fácil de transformar en otra forma! No se trata de si puedes aprender la sintaxis del lenguaje, sino de pensar de manera diferente cuando estás en C, C ++, Java, Perl y Python. Para ampliar la pregunta, la mayoría de las veces, los chicos de C ++ y Java se pueden usar indistintamente, al igual que Perl, PHP, Phython. ¡C es una raza bastante diferente!
Si eres un chico relativamente joven, lo más probable es que puedas ponerte al día rápidamente.
¿Significa que tengo una mayor habilidad cuando conozco C ++ en lugar de C?
En realidad no, porque, como regla general, si eres capaz de crear un producto completo a partir de C es una tarea mucho más difícil en comparación con hacerlo en C ++. El número de personas que pueden dominar la resolución de problemas de los sistemas de memoria compartida es mucho menor que el número de personas que pueden escribir un programa GUI decente usando VC ++ o un marco similar.
¿Esto significa saber que C (o la programación de nivel más bajo) es el nivel más alto de logro?
¡No otra vez! Esto no es contradicción. Esta vez depende del dominio que compares. Si está buscando la programación de sistemas dentro del kernel de Linux, o algo muy cercano al hardware, la capacidad de programación en C es más relevante. Sin embargo, si está escribiendo software bancario o algunos motores de reglas de negocio, C ++ es una opción generalmente natural. El punto es que su verdadera fortaleza no se trata tanto de la sintaxis del lenguaje sino de la forma en que resuelve una clase de problemas y solo puede esperar dominar algunas categorías / dominios en su vida. Si está poniendo algo en su currículum, eso es lo que realmente cuenta.
¿Significa que si solo he estado en C, no conozco la programación orientada a objetos?
De ningún modo. De hecho, mi prueba de fuego en la entrevista para saber si el tipo es de origen C o C ++ es hacer una pregunta muy simple: "Entonces, ¿puedes hacer programación orientada a objetos en C?" - el chico salta y dice - "¡Definitivamente NO!" él / ella es compañero de C ++. El punto es que cuando realmente escribes código muy complejo como código multimedia, un sistema multiproceso, una pila de capas de protocolo, sigues 'pensando como código objeto': el compilador de C no te castiga si eres malo encapsulando dos rutinas u objetos, pero cuando el sistema escala que sigue disparándote, creo que a veces, hay muchos que nacen en la era de la orientación a objetos, a menudo son bastante débiles en cuanto a cómo realmente se viola la encapsulación en un código que es bastante lleno de clases y objetos. Lo siento, me estoy desviando. Pero el punto es que son más sus habilidades de análisis y diseño de problemas las que importan más que sus habilidades de programación.
¿Significa que debería poner la exposición específica del dominio y las habilidades de diseño por separado?
Definitivamente si!
fuente
Para las personas que realmente importan, no, no debería confundirlas.
Cualquiera que sepa algo sobre la programación C y C ++ del mundo real sabe que, a pesar de sus similitudes e historia, la programación de producción en ambos casos es un animal completamente diferente.
fuente
Personalmente, me resulta muy molesto cuando la gente escribe "C / C ++", porque C y C ++ son lenguajes muy diferentes. Por el contrario, si veo "C, C ++" o "C ++ y C" en un currículum, me impresiona sin fin. Desafortunadamente, casi todos escriben "C / C ++", y generalmente significa "Sé C ++, pero puedo hacer C si es necesario".
Además, no sería tan específico en el CV. Simplemente enumere los lenguajes de programación que conoce, posiblemente en el orden de más competente a menos competente. Eso debería superar el filtro de palabras de moda de recursos humanos, y luego puede explicar durante una entrevista técnica cuáles son sus fortalezas y debilidades.
fuente
C/C++
yJava/Javascript
como si fueran lo mismo todavía está en dos ligas muy diferentes.No, no debería ser confuso porque C y C ++ aunque son similares y comparten raíces similares son diferentes en paradigma y uso. Por lo tanto, se debe separar, también se debe separar la experiencia también. Además, creo que puede mencionar experiencia más específica (como GUI / FLTK u otras bibliotecas con las que esté familiarizado) con las dos separadas.
fuente
Me gustó tu fraseo: "He realizado varios proyectos de C ++ en el mundo real, mientras que los proyectos de C puro eran solo un pasatiempo"
Así que lo pondría en la jerga CV:
Es mejor si coloca números en lugar de "varios" y "algunos". No es necesario ser exacto, "más de veinte" es un número para este propósito.
La descripción del "nivel de habilidad" es correcta , pero la descripción de la "experiencia" es correcta y clara.
fuente
Estoy de acuerdo en que C y C ++ son lenguajes diferentes y deben mantenerse separados en el CV. Aunque C es (casi) un subconjunto de C ++, normalmente tengo un estilo de programación muy diferente cuando uso C: diseño de manera diferente, codifico de manera diferente, etc. Incluso eliminaría ciertas características de C, como #includes de C ++, por lo que renunciaría totalmente a la compatibilidad con versiones anteriores: son simplemente lenguajes diferentes.
Así que mi consejo es mantener los dos idiomas separados en tu CV.
fuente
Simplemente, si la persona que lo evaluó tenía la propensión a pensar "C es un subconjunto de C ++", ya están confundidos, y estoy seguro de que su explicación de lo que está escrito en su currículum será suficiente para sorprenderlos.
fuente