Какие предприятия по-прежнему нанимают программистов C?

Я начинаю поиск работы, в идеале заканчивая в магазине C. Пока что в моих локальных объявлениях пусто пусто, и я начинаю думать, что мне нужно расширить свой поиск, ориентируясь на конкретные типы бизнеса.

Итак, какие типы мест обычно используют этот язык?

Ответы

Ответ 1

C обычно используется для довольно низкоуровневого развития. Вы увидите, что он часто используется во встроенных системах, который часто упоминается как позиция в области вычислительной техники (а не в области информатики или разработки программного обеспечения). C также часто используется для драйверов устройств и "общего" низкоуровневого кода, такого как математика полезный код для более крупных проектов.

Как правило, виды заданий, которые -need-C берутся разработчиками, которые использовали его навсегда, и, вероятно, долгое время находились в этом положении.

Просто продолжай смотреть! C - редкость в плане того, что вы видели работу, только что представленную как "C Developer", - так что, очевидно, их будет сложно найти.

Но я просто задаюсь вопросом, почему вы ищете только работу C, а не язык С++ или Objective C:)

Edit:
Просто небольшое примечание также, чтобы не вводить вас в заблуждение с ответом; C все еще используется для множества разных вещей. Браузеры, мессенджеры, серверные демоны, сетевой код даже для некоторого кода, написанного на других языках. Проблема в том, что это просто неэффективно с точки зрения количества времени, затраченного на выполнение работы, когда вы легко пишете его на Python, на .NET или на любое количество других технологий. Таким образом, это просто не обычное дело, но работа может существовать.

Ответ 2

Я работаю в основном как разработчик C (и Perl), потому что приложение зрелое, с довольно длинной историей (т.е. первоначально разработанной в начале 90-х годов). Первоначально пакет приложений был разработан для графических рабочих станций на базе Unix. Моя предыдущая работа была аналогичной ситуацией - зрелым распределенным приложением, которое было разработано на нескольких платформах Unix, первоначально в начале 1990-х годов, и из-за размера и зрелости исходного кода было бы трудно оправдать просто выброс этой базы кода для перемещения на новый язык разработки или даже перейти на С++.

Я бы предположил, что все еще есть несколько крупных внутренних (используемых для внутренних целей, а не проданных как продукт) приложений, написанных на C, которые все еще поддерживаются. Не совсем в отличие от массовых приложений COBOL, которые также продолжают поддерживаться крупными компаниями (страховыми, финансовыми, банковскими).

Для разработки новой в C другие уже упомянули рынок встроенных систем, где разработка часто используется для программного обеспечения, помещенного в ROM, или EEPROM/флэш-память, где она называется прошивкой, для микроконтроллеров (Microchip PIC, Atmel AVR, 80C51, 68HC11 и т.д.), где размер объектного кода, использование ОЗУ и производительность имеют значение, поэтому желательно использовать язык программирования с меньшим количеством абстракций или допущений высокого уровня или общего характера.

Одна критическая вещь о хороших для больших программистов на С, заключается в том, что они ожидаются, если не требуется больше знать о структурах данных и алгоритмах. Приоритетные очереди, двоичные деревья, MergeSort, QuickSort, Knuth-Morris-Pratt и Karp-Rabin должны быть, по крайней мере, смутно знакомы. Это связано с тем, что на языке C отсутствуют библиотеки STL, Boost, CPAN и другие стандартные библиотеки, доступные на других языках. Это, по крайней мере, частично потому, что большинство реализаций специфичны для типа (из-за отсутствия шаблонов или динамического набора текста или аналогичного механизма), чтобы иметь достаточно общие процедуры для практического применения.

Знание нескольких языков программирования не так уж и плохо, даже если вы не чувствуете себя достаточно комфортно, чтобы заявлять, что достаточно усердны для программирования в дополнительном профессиональном языке. "Современный" сценарий или "модный" язык веб-разработки может быть хорошим. Перл, Python и Ruby - хорошие потенциальные кандидаты.

Для опыта программирования функциональные языки, такие как LISP, Scheme, Prolog *, ML, Objective Caml, Haskell и Scala, являются хорошими кандидатами для того, чтобы заставить вас "думать по-другому". По общему признанию, Prolog на самом деле является языком декларативного логического программирования, но он все еще расширяет возможности программирования.

Ответ 3

Чтобы добавить к отличному ответу Anthony, C по-прежнему широко используется в разработке операционных систем и прошивки, поэтому вы можете попробовать посмотреть и в этом направлении.

Удачи вам в поиске работы.

Ответ 4

Вещи, которые должны бежать близко к металлу, и быть быстрыми. Так что в дополнение к тому, что написал Энтони - сетевые протоколы, драйверы устройств хранения данных, файловые системы, ядро ​​операционных систем, по-прежнему велики на C.

Ответ 5

Поскольку фокус интереса обычно перешел на прикладную и веб-разработку, где вы не можете многое сделать с C.

Расширьте географию поиска в других городах/странах или следуйте отраслевым тенденциям и узнайте что-то новое.

Ответ 6

Большинство заданий программирования C находятся в "встроенных системах"... таких вещах, как телевизоры, автомобили, телефоны, будильник, часы, игрушки. Такие приложения часто ограничены памятью по соображениям затрат, поэтому языки более высокого уровня (например, Python) не являются вариантом.

В то время, когда C и С++ были преобладающей средой кодирования, было сказано, что 90% заданий программирования C были для встроенных работ. Материал, который не рекламируется как программное обеспечение, и для которого редко встречаются известные имена или лица. Это еще более актуально сегодня.

Ответ 7

Linux полностью в C. Таким образом, любая компания, которая вносит свой вклад в Linux, скорее всего, будет использовать C-кодировщики. Я работал в компании промышленной автоматизации, которая развивалась на C. Хотя большинство магазинов автоматизации работают с ПЛК и логикой лестниц.

Ответ 8

Интернет-магазины для iPhone. Попробуйте также Craigslist.

Objective-C является тонким надмножеством C, поэтому ваши навыки C переводят хорошо.

Удачи!