2009-04-18 18 views
14

Estoy comenzando una búsqueda de trabajo, idealmente terminando en una tienda C. Hasta el momento, estoy dejando de lado mis anuncios locales y estoy empezando a pensar que necesito ampliar mi búsqueda, enfocándome en tipos específicos de negocios.¿Qué tipo de empresas todavía contratan programadores de C?

Entonces, ¿qué tipo de lugares suelen utilizar este idioma?

+0

Supongo que después de su última pregunta tonta todavía no leyó las preguntas frecuentes sobre hacer preguntas. Esto no está relacionado con la programación (es decir, escribir código) ... está relacionado con que le paguen por ello. – gnovice

+2

programación es el verbo, la última vez que revisé para ser un programador necesita un trabajo. –

+2

Simplemente usar el verbo "programar" en su pregunta no lo relaciona con la programación. Y no, no necesitas un trabajo para ser programador ... algunos lo hacen como un hobby. – gnovice

Respuesta

1

Debido a que el foco de interés se ha movido habitualmente para el desarrollo aplicada y la web en la que no se puede hacer mucho con C.

De cualquier geografía ampliar su búsqueda a otras ciudades/países o seguir la tendencia de la industria y aprender algo nuevo .

+8

Hago mucho con C todos los días, muchas gracias. – Genericrich

+1

Si no recuerdo mal, la mayoría, si no todo, del software UCSC Browser está en C, debido a los requisitos de velocidad. –

+3

También tengo un amigo que lo hace 40 horas por semana. No significa que la proporción de trabajos en C/C++ no haya disminuido significativamente en la última década. – User

0

tiendas de desarrollo de iPhone en línea. Pruebe craigslist también.

Objective-C es un delgado superconjunto de C, por lo que tus habilidades C se traducen muy bien.

¡Buena suerte!

+3

"Las habilidades C se traducen muy bien". ¿Seriamente? La gran mayoría del código objetivo C que he visto se ve en el marco usando las características OO. Solo tiene un parecido pasajero con C. Es estrictamente un superconjunto, pero si pasas todo el tiempo usando las nuevas funciones y ninguna de las anteriores, no diría que tu transferencia de habilidades. –

16

C se usa generalmente para un desarrollo de bajo nivel. Verá que se utiliza en sistemas integrados, con frecuencia, que a menudo aparece como una posición de ingeniería informática (en lugar de informática o ingeniería de software). C también se utiliza con frecuencia para controladores de dispositivos y código genérico de bajo nivel como matemática código de utilidad para proyectos más grandes.

En general, los tipos de trabajos que -necesitan -C son tomados por desarrolladores que lo han usado para siempre, y que probablemente han estado en esa posición por mucho tiempo.

¡Siga buscando! C es una rareza en términos de ver un trabajo que acaba de aparecer como "Desarrollador C" como has visto, por lo que obviamente será difícil de encontrar.

Pero que acababa de preguntar por qué estas exclusivamente en busca de un trabajo C en lugar de un lenguaje como C++ o C :) Objetivo

Editar:
Sólo una pequeña nota también, no engañarlo con la respuesta; C todavía se usa para muchas cosas diferentes. Navegadores, mensajeros instantáneos, demonios de servidores, el código de red incluso para algunos códigos escritos en otros idiomas. El problema es que esto es ineficiente en términos de la cantidad de tiempo dedicado al trabajo cuando lo escribe fácilmente en Python, en .NET o en cualquier cantidad de otras tecnologías. Como tal, simplemente no es común, pero el trabajo puede existir.

3

Para agregar a la excelente respuesta de Anthony, C todavía se utiliza ampliamente en el desarrollo de sistemas operativos y firmware, por lo que es posible que desee intentar buscar en esa dirección también.

Buena suerte en su búsqueda de trabajo.

3

Cosas que deben correr cerca del metal, y ser rápido. Así que, además de lo que Anthony escribió, los protocolos de red, los controladores de dispositivos de almacenamiento, los sistemas de archivos, el núcleo de los sistemas operativos, todavía son grandes en C.

1

La mayoría de los trabajos de programación en C están en "sistemas integrados" ... cosas como televisores, automóviles, teléfonos, alarmas, relojes, juguetes. Tales aplicaciones a menudo están limitadas por la memoria por razones de costo, por lo que los lenguajes de nivel superior (por ejemplo, Python) no son una opción allí.

En un momento en que C y C++ eran los entornos de codificación predominantes, se decía que el 90% de los trabajos de programación de C eran para trabajos incrustados. Cosas que no se publicitan como software y para las cuales rara vez hay nombres o caras famosos asociados. Esto es aún más el caso hoy en día.

1

Linux está completamente en C. Por lo tanto, cualquier compañía que contribuya con Linux probablemente empleará codificadores C. Trabajé para una empresa de automatización industrial que se desarrolló en C. Aunque la mayoría de las tiendas de automatización ejecutan PLC y lógica de escalera.

8

Trabajo principalmente como desarrollador C (y Perl), porque la aplicación es madura, con una historia bastante larga (es decir, desarrollada originalmente a principios de los años 90). El paquete de aplicaciones originalmente fue desarrollado para estaciones de trabajo gráficas basadas en Unix. Mi trabajo anterior era una situación similar, una aplicación madura distribuida que se desarrolló en múltiples plataformas Unix, originalmente a principios de la década de 1990, y debido al tamaño y madurez del código fuente, sería difícil justificar simplemente tirar esa base de código para mover a un nuevo lenguaje de desarrollo o incluso migrar a C++.

Me imagino que todavía hay una serie de aplicaciones internas más grandes (usadas para fines internos, no vendidas como producto) escritas en C que aún se mantienen. No del todo diferente a las aplicaciones masivas de COBOL que las grandes compañías (seguros, finanzas, banca) que también se mantienen.

Para nueva desarrollo en C, otros ya han mencionado el mercado de sistemas embebidos, donde el desarrollo es a menudo para el software de puesta en ROM o EEPROM memoria/flash en el que se le conoce como firmware, por microcontrollers (PIC de Microchip, Atmel AVR, 80C51, 68HC11, etc.), donde el tamaño del código objeto, el uso de RAM y el rendimiento son importantes, por lo que es deseable el uso de un lenguaje de programación con menos abstracciones o suposiciones genéricas o de alto nivel.

Una cosa importante acerca de los buenos a los grandes programadores en C, es que se esperan si no se requiere saber más sobre estructuras de datos y algoritmos. Priority Queues, Binary Trees, MergeSort, QuickSort, Knuth-Morris-Pratt y Karp-Rabin deberían ser al menos vagamente familiares. Esto se debe a que el lenguaje C carece de STL, Boost, CPAN y otras bibliotecas estándar disponibles en otros idiomas. Esto se debe, al menos en parte, a que la mayoría de las implementaciones son específicas de tipo (debido a la falta de plantillas o de tipado dinámico o mecanismo similar) para tener rutinas suficientemente genéricas que sean útiles en la práctica.

Conocer más de un lenguaje de programación no es malo, incluso si no se siente lo suficientemente cómodo como para afirmar que es lo suficientemente competente para programar en el profesional de idiomas adicionales. Una secuencia de comandos "moderna" o un lenguaje de desarrollo web "moderno" podría ser una buena combinación. Perl, Python y Ruby son buenos candidatos potenciales.

Para la experiencia de programación, los lenguajes funcionales como LISP, Scheme, Prolog *, ML, Objective Caml, Haskell y Scala son buenos candidatos para hacerte "pensar diferente". Hay que admitir que Prolog es en realidad un lenguaje de programación de lógica declarativa, pero aún se está ampliando la experiencia de programación.

Cuestiones relacionadas