- Хочу стать программистом C/Linux в 32 года
- Будь ты хоть негр преклонных годов
- Linux для начинающего разработчика или как навсегда забыть о Windows
- Дисклеймер
- Предыстория
- Приступаем к установке
- Настройка системы, оформление, подгонка под особенности железа
- «Железные» проблемы
- Решение проблемы с слишком шустрой мышкой
- Решение проблемы с некорректно отображаемыми мониторами
- Настройка системы и установка программ
Хочу стать программистом C/Linux в 32 года
Мне почти 32 года. До этого немного программировал как хобби. Хочу профессионально устроиться разработчиком в области C/Linux или встроенные системы.
Последние несколько месяцев изучал алгоритмы, язык C и низкоуровневое программирование. Сейчас начал читать книгу Керриска по Linux.
Какие мои шансы получить свою первую работу джуниором (в любом городе), скажем, через 4 месяца? К этому времени изучу 2/3 Керриска. Вообще приветствуются любые советы.
Перемещено tailgunner из job
Тяжело будет найти работодателя, который возьмет 32-летнего джуна.
СТранные вопросы задаешь, а такой большой.
Тебе мало магазинов приложений?
Выходи туда, в процессе изучения.
Бегать по собеседованиям особенно сейчас — это просто трата времени и денег, своих.
Учитывая уровень неадеквата на этих самых собеседованиях, когда поголовная тенденция к сокращению кадров.
Глупость. 32 — это не возраст. Было бы желание, а пачка работодаелей найдётся.
Тебе на пенсию пора.
Лучше идти в мобильную разработку, нормальных девелоперов здесь сейчас дефицит.
Мне нравится низкоуровневое программирование. Сложность меня не пугает.
ой, ну обмажься ардуиной, открой канал на ютубе и может тебя найдут сами.
Глупость. 32 — это не возраст. Было бы желание, а пачка работодаелей найдётся.
зачем работодателям брать 30+ летнего джуна, если намного проще взять студентов, которые, вероятно, попросят меньше денег, при этом, скорее всего, им легче будет привить ценности и принципы компании.
Ты очень давно потерял представление о происходящем в РФ.
Ты очень давно потерял представление о происходящем в РФ.
да и не только в РФ, достаточно посмотреть средний возраст сотрудников топ компаний типа Гугла, Фейсбука и т.п.
Нормальный код, у большинства вчерашних студентов и у части работающих всё куда хуже. Книга тоже хорошая.
Комментарии несколько избыточны и, наверное, надо привыкать их писать на английском сразу. Сообщения в коммитах, правда, никакие, «Update» это слишком общее описание, конкретнее надо. Видимо всё делалось через интерфейс GitHub, значит надо учиться работать с git из консоли.
Стоит продолжать в том же духе, проблем с трудоустройством быть не должно. А на тех, кто не будет брать из-за возраста, и работать не стоит, они слишком тупы.
Если очень захотеть, можно в космос полететь. Рекомендую что-нибудь полезное написать, не только абстрактные примеры.
Плят, я сначала 7 лет учился на специальности и лет 10 в общей сложности писал на сишке и изучал внутренности линукса. Мне _не_реально_ найти оплачиваемую работу в этой области. Но вы держитесь там, удачи.
Мб твой набор услуг не нужен, раз на рынке для тебя нет места? 😉
Если ты кроме сишки нихрена не умеешь, то я прекрасно понимаю почему ты никому в хер не сдался.
А всё потому, что на Руси нужно скорее опытным виндузятником быть, чем спецом по Линуху.
Да простят меня модераторы за мои сообщения, но на Руси нужно скорее быть опытным попильщиком, нежели спецом по винде/линуху.
Будь ты хоть негр преклонных годов
Как человек, время от времени нанимающий программистов, могу поделиться собственным опытом. Мне совершенно безразлично сколько лет соискателю, его пол, семейное, социальное положение, сексуальная и политическая ориентация, внешний вид и запах. Даже образование и знания не так важны. Нужны только мозги.
Но ты не HR и не работаешь в прогрессивной современной компании, в которой ищут молодых талантов, очевидно же.
На личном опыте сталкивался: при абсолютно адекватном и даже, можно сказать, возрастном коллективе программистов встраиваемых систем, HRы гонятся за «молодым активным коллективом» и средним возрастом соискателей.
Пью за твоё здоровье.
Под какой лицензией код в репах?
Дело не в сложности, а в востребованности на рынке
Ни под какой. Это же просто для демонстрации скиллов.
очень зря, вонь может отпугнуть уже работающих специалистов
Ни под какой == под проприетарной лицензией
HR’ы ищут молодые таланты в перманентном режиме, надо же их чем-то занять. Но когда действительно нужен человек для конкретной работы, то HR’ы к соискателю не допускаются, именно по причине их примитивности.
Плят, я сначала 7 лет учился на специальности и лет 10 в общей сложности писал на сишке и изучал внутренности линукса. Мне _не_реально_ найти оплачиваемую работу в этой области. Но вы держитесь там, удачи.
Шта? В одну компанию пришел со словами «Я знаю Си, но под ядро Linux писал только Hello World, так как реальных задач не придумал ― готов учиться в хардкорном режиме».
Какие мои шансы получить свою первую работу джуниором (в любом городе), скажем, через 4 месяца? К этому времени изучу 2/3 Керриска. Вообще приветствуются любые советы.
Лучше сразу свяжись с теми компаниями, где можешь потенциально работать, и спроси то, какие им именно знания и умения нужны. Просто чтение книг это путь в никуда.
Самый лучший вариант обучения — работа по этому направлению. Вот я К&Р прочитал, в голове вообще ничего не отложилось, а только надо было опрос устройств по rs485, так сразу понял что там к чему. Плюсую социальное внедрение
проще взять студентов, которые, вероятно, попросят меньше денег, при этом, скорее всего, им легче будет привить ценности и принципы компании
Во-первых студентов не всех не хватает. Во-вторых, 30 лет это пик физиологического развития — средний 30-летний мужик при прочих равных условиях легко зарулит среднего 18-летнего сопляка по всем параметрам (соображалка, ответственность, целеустремлённость, мотивация и т.д.)
Иди лущ в веб, в эмбеддеде маловато денег и удалёнки.
Лучше идти в мобильную разработку, нормальных девелоперов здесь сейчас дефицит.
Нормальных — нету вообще. Зато есть миллионы веб-обезьян, которые поняли, что пора слазить с пехапе, которые ломанулись в мобильную разработку, которые же тащат все свои лучшие практики и делают неюзабельное говно на «веб-технологиях». И вот как пробиться среди них — я слабо представляю.
Мне нравится низкоуровневое программирование. Сложность меня не пугает.
Низкоуровневые вещи — они притегательнее и понятнее, местами даже проще. Вот только чтобы «нарисовать линию на экране», что занимает 1 строчку на высокоуровневой платформе, тебе придется не мало попотеть, причем чем ниже уровень — тем больше. И вот спустя пару месяцев разработки заказчик просит показать что ты сделал, а ты показываешь 5 красных линий, после чего самому становится противно и ты собираешься в запой, в котором мечтаешь работать дворником.
сексуальная и политическая ориентация, внешний вид и запах. Даже образование и знания не так важны. Нужны только мозги.
Hello! Hire me today! Thanks!
это шизоидный бред, так как на низкоуровневом языке рисуют желные линии а на высокоуровневом красные и после того как заказчик видит 5 красных линий вместо 1 жетой ты идешь работать дворником.
Меня взяли как программиста на С для Linux/QNX (и требовались определённые скиллы программирования на С++) в 39 лет. Но это было в 2000 году. Компания (точнее, филиал — основной офис был в Ирландии) была небольшая — человек 15 программеров, около 10 инженеров, 5 тестеров (само собой, пара админов и руководство).
Так что возраст не всегда помеха. Хотя сейчас с этим стало гораздо труднее.
Правда, у меня опыт на С был не книжный, а практический.
Это обычно бывает, если ты девелопил на одном железе, а у заказчика оно оказалось «ну почти такое, совместимое же», но не совсем
когда ты не в теме
То есть твоя прохладная история о том, что 20 лет назад можно было в 39 лет найти работу? Какая неожиданность.
Тут много вопросов к вашему стажу и тем чем вам пришлось заниматься на текущей работе. Например: вы математик а на текущей работе вам надо запрограммировать решатель систем дифференциальных уравнений на С для Linux/QNX. Ну и почему вас не взять в 39?
Моё мнение не авторитетно, но документацию писать ты любишь, а это всегда цениться (сейчас кто-то скажет она на русском бла бла бла не суть)
Касательно советов, не опускай руки, вот я опустил так как неосилятор в С нормально так и не смог, но сейчас снова вникаю, но не в плане сферичновакуумных разработок, а чужой сложный (для меня) проект разбираю по кишкам. Хотелось бы тоже куда-то встроиться джуном, но мои скилы близки к нулю (а всё из за того что руки опустил некоторое время назад) я помню бисти жаловался по этому поводу вроде 😀 Не знаю как сейчас но MikeDM раньше брал Джунов даже не заикаясь про возраст и скилы, но он хотел Qt и С++, был готов растить практически с нуля (но я дурак был и в последствии отказался от его наставничества)
Херачь как танк и что нибудь да получиться ::)
К вам такой же вопрос как и к DeVliegendeHollander — чем вы занимались до 32 года своей жизни? Если работали учителем биологии то шансы не очень.
Источник
Linux для начинающего разработчика или как навсегда забыть о Windows
Дисклеймер
Внимание, очень много букв! Предлагаю запастись попкорном и выделить время для данного мероприятия.
Пост предназначен в первую очередь для тех, кто занимается разработкой, но так же очень сильно поможет тем, кто пытался перейти на linux, но из-за каких бы то ни было непонятных вещей и трудностей плюнул и сказал: «Да ну нафиг этот линукс, еще возиться с ним буду».
В статье рассматривается установка Ubuntu 16.04 и настройка оной исключительно для работы.
Предыстория
Ранее уже были предприняты попытки перекатиться на linux, но из-за своей чрезмерной привязанности к продукту компании Microsoft, миграция в который раз откладывалась в «долгий ящик».
Так же меня всегда останавливало большое количество вопросов, на которые я не смог найти ответы, проблемы, ошибки и.т.д.
Но после того, как я заинтересовался и начал изучение Node.js, один товарищ меня все же подбил на переезд под предлогом того, что работать в linux будет удобнее. И вот, после нескольких неудачных попыток установки и некоторого времени использования Ubuntu в качестве основной ОС, я удалили драгоценную винду и навсегда забыл о ней. Ничуть об этом не жалею.
Приступаем к установке
Первое что нам надо сделать — записать загрузочную флешку или диск. Дистрибутив Ubuntu 16.04 весит всего 1.4 гб, поэтому лучше всего нам подойдет флешка. Скачиваем программу Unetbootin -> unetbootin.github.io.
Тут все довольно просто. Ставим «Образ диска», выбираем .iso файл, который мы скачали, выбираем носитель и нажимаем ОК. Запись не заставит себя долго ждать.
Перезагружаем систему и выбираем способ загрузки -> через USB. Но тут кого-то может подстерегать проблема, заключается она в том, что в обычном режиме загрузка не произойдет.
Чтобы все же завести флешку, пробуем загрузится с нее в UEFI режиме. Но позже, нас спросят, хотим ли мы продолжить установку в UEFI режиме. В случае если ваше решение перейти на linux является окончательным, то можете ответить утвердительно. Если же у вас есть необходимость загружаться в других ОС, то нажимаем «вернуться» (ума не приложу, почему именно так обозвали эту кнопку). Сама установка не должна вызывать каких-либо трудностей. Выбираем свой язык, и двигаемся дальше. Рекомендую в следующем окне поставить галочки:
В следующем окне выбираем пункт: «Другой вариант».
Далее нам нужно разметить диск. Если у вас 2 жестких диска и один из них не используется и на нем нет никаких данных, то просто выбираем его и нажимаем -> «Создать новую таблицу разделов».
У нас появится «свободное место», на него мы так же нажимаем и создаем первый раздел.
Размер root раздела может составлять и 4гб, но рекомендую поставить 40-50, чтобы имелся запас.
Тип — первичный
Местоположение — на всех разделах должно стоять «Начало этого пространства»
Использование — Ext4
Точка монтирования — » / «
Размер = размеру вашей оперативной памяти
Использование — раздел подкачки
Данный раздел играет роль резервной «оперативной» памяти, хранящейся на нашем жестком диске.
Размер = все оставшееся пространство
Тип — логический
точка монтирования — » /home «
Вот собственно и все, нажимаем продолжить, соглашаемся с тем что все файлы на разделах будут уничтожены. Далее — соглашаемся, вводим что просит. Теперь можно сходить попить кофе)
Настройка системы, оформление, подгонка под особенности железа
После установки мы конечно же перезагружаемся в нашу теперешнюю ОС, логинимся. Заходим в параметры системы -> программы и обновления, в первой вкладке выставляем галочки таким образом:
Сразу же выполним некоторые команды:
sudo означает выполнение с правами администратора
После первой же команды у вас попросят пароль, который вы придумали на этапе установки. Не пугайтесь, если вы вводите пароль, а буквы не отображаются — это такая мера безопасности. Если спросит про установку пакетов и приветливо будет мигать курсором — смело пишем Y и нажимаем Enter. Так что же мы только что сделали сей командой? Мы дали команду пакетному менеджеру «apt» обновить список доступных пакетов и установить их. Принцип работы основывается на GIT, вы включаете репозитории, обновляете их, устанавливаете обновления.Это дает нам преимущество — у нас всегда все самое свежее. Список репозиториев лежит в /etc/apt/sources.list, но нам это вряд ли понадобится.
Обновление завершено — перезагружаемся, хоть и в linux это обычно не требуется, но возможно обновилось ядро и данную операцию все же следует провести. Вообще если после update вы видите строчки подобного содержания:
значит обновление затрагивает наше ядро и перезагрузка обязательна.
«Железные» проблемы
Лично у меня сразу возникла проблема с мышкой. Использую игровую мышь с чувствительностью 3800DPI. Естественно, она металась по всему монитору от малейшего передвижения. И проблема с отображением мониторов. У меня стоят 2х 17inch с соотношением 4:3. Один монитор у подключен в мат.плату, а второй — в видеокарту от AMD. С первым все было хорошо, а вот тот что на встроенной графике — затухал сразу же после входа в систему. На ум пришло написать скрипт в автозагрузку для замедления мышки и переопределения мониторов (может кому пригодится).
Решение проблемы с слишком шустрой мышкой
В консоли вводим xinput и видим список подключенных устройств. Находим свою мышь и переписываем ее ID. На моей мышке вводим команду xinput list-props ’11’. Перед нами опять появляется список, но уже с набором опций, нам нужна Device Accel Constant Deceleration, смотрим ее ID (в скобочках). У меня оно равно 274. Теперь, зная id мышки и id, мы пишем следующее:
В домашнем каталоге создаем файл start.sh и открываем его, где последняя цифра (2) означает во сколько раз надо замедлить мышь. Данную команду можем сразу внести в наш скрипт.ё
Почему же мы не зашли в настройки и там не убрали чувствительность? Потому что диапазон регулировки там невелик. И скорее всего, его будет недостаточно.
Решение проблемы с некорректно отображаемыми мониторами
Заходим в настройки -> настройка экранов. Видим два мониторчика, мы можем схватить один из них и расположить так, как нам нужно, а так же выбрать, на каком располагать панель запуска. Нажимаем применить, и если после перезагрузки все останется на своих местах, значит никаких действий более не требуется.
Но у меня при выставленном в БИОС приоритете встроенной графики, после входа второй монитор выключался и оставался тот, что подключен к видеокарте. Что примечательно — после пробуждения из спящего режима, второй снова оживал и работал нормально. Смотрим нумерацию мониторов, здесь на главном мониторе стоит метка «Primary».
Согласно номерам, выставляем как будут располагаться мониторы. Дописываем в наш скрипт:
Теперь пришло время прописать скрипт в автозагрузку, открываем меню dash (клавиша WIN) и вводим в поиске:
«Автоматически запускаемые приложения». Нажимаем добавить, вписываем имя (не важно какое, главное чтобы вам был понятен смысл назначения этого элемента), описание оставляем пустым. Теперь в поле «команда» вводим следующее:
Этим самым мы отдаем команду на запуск скрипта. Путь у вас может быть любой другой. Сохраняем и при следующей перезагрузке проверяем работоспособность.
Если все же проблема с мониторами остается — попробуйте поколдовать с их расположением и приоритетом вывода видео в БИОС
Касательно драйверов — я не стал ставить поскольку все и без них работает хорошо, в случае с AMD установка драйверов может вызвать крах системы.
Настройка системы и установка программ
Добавление шрифтов windows
После установки браузера (чуть позже), вы заметите что шрифты на некоторых сайтах режут глаза и от них хочется плакать.
После перезагрузки браузера шрифты должны отображаться правильно. Если есть желание — вы можете выставить какой-либо из них как системный (в настройках или ubuntu tweak tool). Рекомендую зайти в ubuntu tweak и во вкладке «шрифты» выставить:
Софт из уже включенных репозиториев
Программы которые уже включены в репозиторий партнеров canonical вы можете установить следующим образом:
Пакет программ, которыми пользуюсь я:
1. skype
2. ssh (для подключения и удаленного управления машиной)
3. unity-tweak-tool (Тонкая настройка оболочки unity)
4. ubuntu-tweak-tool (Расширенные настройки системы)
5. inkscape (Редактор векторной графики)
6. gimp (Использую вместо фотошопа)
7. clementine (Аудиопроигрыватель)
8. mc (файловый менеджер для терминала)
9. vlc (видеопроигрыватель, со множеством кодеков)
10. filezilla (ftp клиент)
Установка стороннего ПО
Чтобы установить стороннее ПО нам придется добавлять репозитории в систему.
Качаем с официального сайта пакет, открываем его, в менеджере нажимаем «install».
Для просмотра видео, требуется flash, установим его.
Мне нравится работать в «скобках», очень приятная и удобная вещь:
Далее установим тему, я использую numix, но вы можете найти любую другую и установить ее.
После установки запускам unity tweak tool. Тему выставляем «Numix», значки так же «Numix». По душе темные темы? Запускаем ubuntu tweak tool и во вкладке «внешний вид» ставим «Применить темную тему глобально». Пока не вышли из ubuntu tweak, лучше прописать в автозагрузку skype и telegram.
Финальным штрихом установим LAMP сервер (Linux apache mysql php) и phpmyadmin:
Пробуем зайти по адресу localhost. Если все в порядке, то двигаемся дальше. Открываем конфигурационный файл apache:
Находим там теги в них прописана информация о местоположении файлов нашего сервера, после последнего пишем такую конструкцию:
AllowOverride All
Require all granted
Путь можете указать какой вам удобно. В конце конфигурационного файла прописываем:
ServerName localhost
Внимание! Ниже описанные операции придется проделывать каждый раз при добавлении нового виртуального хоста!
Для добавления новых виртуальных хостов проделываем следующее. Создаем папку в директории /home/user/public_html/test, открываем /etc/hosts и в первую строку оного добавляем имя нашего сайта:
Далее выполним в терминале:
Тем самым мы скопировали дефолтный конфигурационный файл для нашего сайта, открываем его:
и вместо example.com впишем свое название. Далее подправим DocumentRoot который указывает на местоположение файлов нашего сайта, прописываем вместо стандартного /var/www — /home/user/public_html/test.
Теперь мы можем включить наш сайт:
Вот и все. Базовая настройка завершена, можно пользоваться!
Не бойтесь искать в интернете, если вам что-то необходимо установить и настроить! Он не кусается. В данной статье я постарался изложить как можно подробнее процесс базовой настройки Ubuntu 16.04. Уверен, что после недели использования ubuntu в качестве основной ОС вы уже вряд ли вернетесь обратно.
Источник