Навыки, необходимые для хорошей работы в Linux [закрыто]

14

Я работаю ИТ-инженером в известной компании в Индии. Проблема в том, что, хотя мне сказали, что мне дадут работу в Linux, я вынужден работать на Java и Windows. Мне неудобно с Java и ненавижу Windows.

Я начал изучать Python самостоятельно, но трудно уделить ему достаточно времени из-за постоянной работы. Честно говоря, я не эксперт кодер. Я много пытался заняться разработкой ядра Linux во время учебы в колледже, но понял, что я не настолько хорош в программировании. Поэтому я решил сделать RHCE и перейти к управлению сервером.

То, что я хочу знать, - то, что набор навыков требуется, чтобы получить работу в проектах Linux. В августе 2011 года я планирую отдохнуть от работы, если эта компания не даст мне хороший проект для Linux. Какие навыки я должен приобрести, чтобы получить хорошую работу в Linux. Во время этого перерыва я решил заняться RHCE. Прочитав первый из трех учебников RHCE, я уверен, что смогу пройти через это.

Вклад экспертов на этом сайте очень неоценим. На данный момент мои технические интересы - программирование на Python, программирование на C / C ++, Linux Server Management и облачные вычисления. Но моего диплома о высшем образовании отнюдь не достаточно, чтобы попасть в какую-то хорошую компанию. Практические знания, которые у меня есть, не имеют экспертного уровня. И опыт работы у меня просто жалкий.

PS - Я очень расстроен своей нынешней работой. Хотя я думаю, что нет необходимости упоминать об этом.

Dharmit Shah
источник

Ответы:

12

Это уже неоднократно предлагалось в этом контексте, но ... я бы предложил получить некоторый опыт в проекте свободного программного обеспечения. Это хорошо выглядит в вашем резюме, является ценным опытом работы с хорошими людьми и полезно для контактов. Люди регулярно получают работу с помощью проектов свободного программного обеспечения. У меня сложилось впечатление (что может быть неверно), а также то, что индейцы не часто участвуют в проектах свободного программного обеспечения, и если это правда, это поможет вам выделиться.

Вы говорите, что заинтересованы в Python. Существует множество бесплатных программных проектов с участием Python, с различными уровнями барьера для входа. Я знаком с Mercurial, где барьер для входа не слишком высок, сообщество дружелюбно, программисты талантливы, и есть возможности для участия. И все используют контроль версий. Вы можете выбрать небольшую ошибку и / или список пожеланий размером с укус и поработать над ней.

Другие проекты вне моей головы - это Django, Pylons, SQLAlchemy, хотя я думаю, что Mercurial так же хорош или лучше, чем любой из них, от POV возможности для участия. Другая возможность - работа по распространению в сообществе Linux, например. с Debian, который также даст вам возможность работать с талантливыми людьми. Также хорошо подходит для установления контактов и т. Д. Кроме того, если вы заинтересованы в C ++, проекты apt и aptitude в Debian важны и серьезно подорваны. В целом, большинство проектов свободного программного обеспечения не имеют достаточной рабочей силы, особенно небольших, и стремятся помочь.

неизвестно
источник
8

У вас есть несколько путей, которые предлагают различные вакансии

  • веб-материал
  • родные проекты
  • кроссплатформенная разработка
  • портирование на Linux

В целом будьте готовы использовать другие Unixes наряду с Linux (хотя Linux сейчас полностью доминирует).

Основанный на сети

Практически все, что основано на веб-технологиях и не использует .NET, - это вещи Linux (или кроссплатформенные) Вы можете сосредоточиться на любом из широко используемых языков: PHP, Python, Perl, Ruby

Родные проекты

В основном это задания с открытым исходным кодом или высокопроизводительные вычисления.

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

Высокопроизводительная область - это своего рода Linux только сейчас, поэтому работа в этой области, скорее всего, приведет к Linux.

Эта область очень тяжелая на Си, с небольшим количеством Си ++ и большим количеством Java.

Кроссплатформенная разработка

Вид странной области. Некоторые компании предоставляют кроссплатформенное программное обеспечение, у некоторых есть специальные команды для конкретных платформ, у некоторых есть кроссплатформенные команды.

Но многие компании просто используют Java (не то, чтобы это сильно помогало).

Портирование на Linux

Эти рабочие места всплывают время от времени. Некоторая компания видит открытый рынок и решает расширяться. Я лично убегал бы от такой работы.

оборота Let_Me_Be
источник
+1 за интересный комментарий. Хотите рассказать о том, что плохого в переносе рабочих мест?
Фахим Митха
1
@Faheem Ну, портирование заданий обычно означает, что вы получаете ужасную кодовую базу, полную нестандартных расширений и стандартных нарушений (которые, похоже, работают из-за какого-то чуда MSVC). Обычно части кода пишутся людьми, давно ушедшими из компании и полными различных ошибок, которые будут появляться при портировании. Это может происходить и в других областях, но это не так часто (проекты с открытым исходным кодом, как правило, имеют довольно ужасные базы кода, но не так много больших проектов с длинной историей и сообществом разработчиков от малого до среднего).
Let_Me_Be
Понимаю. Вы в основном имеете в виду вышеуказанные внутренние / проприетарные кодовые базы? MSVC означает, что базы кода C ++ написаны на Visual C ++, а затем они хотят перенести его в gcc?
Фахим Митха
@Faheem C и C ++ страдают больше всего, скриптовые языки меньше всего. Основная проблема заключается в том, что при переносе вы будете касаться кода, который работает «здесь и сейчас», и обычно обнаруживает ошибки в таком коде.
Let_Me_Be
4

GNOME - это один проект, в котором очень много кодеров выполняют оплачиваемую работу. Если вы пойдете туда и сделаете потрясающую работу, к вам, скорее всего, кто-то придет. Самым большим из них, вероятно, является Red Hat (Fedora), и другие, которые я видел, включают Canonical (Ubuntu), Novell (SuSE), несколько стартапов или даже GNOME. Да, и чертовски много использования Python в проекте, и количество LOC, вероятно, уступает только C.

В планете проекта , как правило , где эти «ГНОМ» компании сообщают о своих делах. Взглянуть.

оборота Чепанг
источник
1

Я сделан для работы на Java и Windows.

Хорошие новости, похоже, вы пишете / работаете с кодом по крайней мере.

Если бы я был на вашем месте, думаю, я бы выбрал прагматичный подход и научился бы переносить это Java-приложение на Linux (когда начальник не смотрит).

Это хорошее упражнение, чтобы сделать приложение переносимым.

Мне неловко с Java

Не будьте, в мире Linux вы используете лучший язык для этой задачи. (Лучший бесплатный язык по крайней мере).

Поэтому вам нужно убедиться, что вы знакомы с Java, C ++ / Qt, C, python, php, perl и т. Д. И т. Д.

Johan
источник
Благодарю. Ну, писать весь мой рабочий профиль нелогично, поэтому я не упомянул его полностью. Вот. Но учту последнюю строчку вашего ответа.
Дхармит