LINUX.ORG.RU
ФорумJob

Ищу удаленную работу системным программистом (pure C && *nix)

 ,


6

8

Нежно люблю linux и чистый Си. Очень хочу связать свое светлое будущее с системным программированием (*nix kernel / C / Assembler). Дико хочу завязать с вебом (Php/JQuery - три года, жутко достало).

  • В системном программировании - новичок, опыта нет;
  • Си учил по K&R (прочел всю книгу, выполнял упражнения);
  • Gentoo - 2 года, Slackware - 1 год, вообще Linux (Desktop) - 4 года;
  • Уверенная жизнь в консоли, немного BASH, учу питон в свободное время;
  • Mercurial/Git;
  • Emacs;
  • Английский язык на уровне чтения манов;
  • Google-skill;
  • 24/7 доступность в скайпе и почте (постоянно проверяю);
  • Читаю Д.Кнута для понимания как устроен PC, начал первый том. Мне нравится;
  • Иркутск (МСК+05:00), сплю по ночам.

Сейчас пишу диплом, 5-й курс. Специальность - информационные системы. Январь-май (пока пишу диплом) готов работать на пол рабочего дня (20 часов в неделю) «за печеньки» с последующим (июнь) удаленным фултайм-трудоустройством у Вас за достойную заработную плату. Вы меня берете сейчас «на вырост», говорите какие книжки читать (все прочту во внерабочее время), даете понятные задания, я задаю глупые вопросы, выполняю ваши задания и за пять месяцев получаете готового специалиста для своей крутой компании.

Ищу работу именно системного программиста на Си. Больше всего интересует доработка ядра, написание модулей к нему. Возможно - разработка консольных (ncurses) утилит. Может быть - программирования разных железяк или embedded-систем. С очень большим интересом отношусь к ассемблеру (сейчас читаю Кнута, там «mixal») - но пока в нём почти ничего не понимаю. Также, с интересом отнесусь к работе с *BSD / Solaris.

Почта (как это сейчас модно)
echo "c29zbm92c2tpZXVnZW5lQGdtYWlsLmNvbQo=" | base64 --decode

Всем: приму любые полезные советы (в плане литературы), что следует прочитать начинающим системщикам, чтобы потом взяли на работу с головой. Ну или с руками.
Ну и вообще, любые советы.



Последнее исправление: zekka (всего исправлений: 1)

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

grouzen ★★
()
Ответ на: комментарий от grouzen

Погружение в ядро (как я понял) - читать changelog ядра, смотреть исходники. Если непонятен код - читать книги.

zekka
() автор топика
Ответ на: комментарий от zekka

Да, это понятно и само собой разумеется. Но ведь без наличия задачи все это бесполезно и скучно. Как люди ищут себе задачи, которые при этом еще могу и принести пользу кому-то другому?

grouzen ★★
()
Ответ на: комментарий от zekka

Не, ну это капитанство. Понятное дело, что эти сайты я посещал в первую очередь, но ответов я там не нашел.

grouzen ★★
()
Ответ на: комментарий от grouzen

Как обычно начинают погружение в ядро?

Возникает необходимость что-то в ядре изменить, например нужен драйвер для железки или I2C на плате не работает, нужно драйвер подшаманить, ну а потом пошло поехало и printk в userspace пытаешься впихнуть.

trex6 ★★★★★
()
Ответ на: комментарий от zekka

Погружение в ядро (как я понял) - читать changelog ядра, смотреть исходники

А вот это вряд ли поможет. Нужны реальные задачи, иначе читать со временем надоест, а с реальной задачей все удасться изучить за очень короткий срок.

trex6 ★★★★★
()
  • K&R читал раза 3-4, до универа, во время и после.
  • Expert C programming.
  • Mastering Algorithms with C
  • Love, Robert (2013). Linux System Programming (2 ed.)
  • UNIX Network Programming - W. Richard Stevens
  • самописная книга по внутренностям железа и осей моего профессора
  • курсы в универе по многопоточности, сетям, осям
  • Arduino
  • Advanced Linux Programming
  • Flex * Bison, написание компилятора своего языка
  • Искусство войны Сунь Цзы
  • Understanding Linux kernel
  • DNS и Bind
  • The Linux Process Manager
  • Cormen. Introduction to Algorithms
  • Ульман и ко. Компиляторы.
  • Введение в теорию автоматов и языков вычислений.
  • Modern Operating Systems. Tanenbaum.
  • Код планировщиков первых версий линукса и бзд.
  • Диплом по планировщикам процессорного времени.

В путь!

Токо это, в конце ты все равно будешь пользоваться готовыми поделками и в основном (99,9% времени) читать чужой код и править чужие баги. Потому что компании платят за продукт, а не за мастурбацию на pure C и кернелы.

unt1tled ★★★★
()
Ответ на: комментарий от trex6

Ну вот да, но проблема в том, что УМВР и я ума не приложу, что можно пофиксить или улучшить. Одно время думал начать с USB подсистемы, так как самая простая, но задачу так и не смог придумать, в итоге забил.

grouzen ★★
()
Ответ на: комментарий от grouzen

Возьми плату с ARM, они сейчас стоят по 1500 рублей. Убедись, что на плате есть GPIO. Сделай так, чтобы эти GPIO могли работать как дополнительный USB.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

Да! Вот именно такой вариант я и рассматривал. Еще думал соорудить рандомный usb девайс и заставить его работать, ну например экранчик там какой нибудь спаять или еще что.

grouzen ★★
()
Ответ на: комментарий от grouzen

например экранчик там какой нибудь спаять

Есть представление, как работают современные экраны? Есть понимание, что такое LVDS и т.п.? Рекомендую все же начать с простого. Как альтернатива - сделать на этих GPIO картридер.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

Нет, представления нету. Разве что когда-то заставил работать двухстрочный экран от таксофона на атмеге (%. За картридер спасибо - годная идея.

grouzen ★★
()

Всем: приму любые полезные советы (в плане литературы), что следует прочитать начинающим системщикам

Л.Бек Введение в системное программирование. Москва Мир 1988 г.

x-signal ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.