Работать в программной инженерии - это здорово. Когда я устроился на свою первую работу в 2004 году, я начал с 40 000 долларов в Индиане. Он включал в себя 2 недели оплачиваемого отпуска, полное медицинское, стоматологическое и офтальмологическое страхование, программу соответствия 401k и варианты обучения. У меня была мгновенная автономия и возможность регулировать свое рабочее время по мере необходимости. Шестнадцать лет спустя я могу сказать, что льготы в целом лучше. Медицинское страхование немного хуже, но, черт возьми, сейчас в этой стране все хуже. Зарплата начального уровня? Теперь это ближе 50–55 тысяч долларов в Индиане.

Вот что я могу вам сказать после того, как проработал в разработке программного обеспечения более 16 лет. Я могу сказать вам, без тени сомнения, вам не нужна степень, чтобы начать работу в этой области. Позвольте мне сначала уточнить одну вещь, у меня есть степень в этом. У меня есть степень бакалавра изящных искусств Колледжа Франклина в Индиане, который я закончил в 2004 году по специальностям компьютерные науки и радиовещательная журналистика.

В то время я думал, что это определенно то, что мне нужно, чтобы сделать карьеру в сфере технологий, которую я хотел. Хотя это действительно помогло мне, я могу сказать, что мне это не понадобилось для работы, которую я взял. Это было полезно? Конечно. Стоило ли это затрат? Это очень субъективный вопрос. Вот тут-то и появилась моя специализация по радиовещательной журналистике: у меня была стипендия, которую я выплачивал большую часть времени, если я изучал журналистику. Итак, я получил образование в колледже, которое должно было стоить мне около 150 тысяч долларов или около 30 тысяч долларов. На прохождение двух специальностей я тратил в среднем 19 часов в семестр. Через 16 лет я наконец получу последние 30 тысяч долларов в виде ссуд, выплаченных в следующем году.

Понимаете, что я имею в виду? Я наслаждался временем, проведенным во Франклине. Я многому научился, у меня были друзья и весь этот колледж. Но я также изнурял себя уроками и влез в долг, на погашение которого мне потребовалось почти два десятилетия. Когда я оглядываюсь назад, чтобы спросить: «Оно того стоило?» Сложно сказать. Но если бы я знал несколько уловок и то, что делали другие люди, я бы пропустил это и просто начал карьеру, когда закончил среднюю школу. Сегодня это сделать даже проще, чем 20 лет назад, когда я был наивным выпускником средней школы.

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

С этой целью я скажу вам заранее, что «Автостопом по программированию» не научит вас конкретному языку, например Java, .NET или JavaScript. Книга проведет вас через процесс выбора языка для изучения и как найти ресурсы для бесплатного изучения этого языка. Почему бы мне просто не посоветовать вам изучить Ruby или Python и научить этому? Потому что этот материал не универсален для всех. В зависимости от того, на чем вы действительно хотите сосредоточить свою карьеру и где вы хотите жить, вы обнаружите, что некоторые языки программирования могут иметь больший потенциал для работы, чем другие. Это тоже не универсально. Java могла бы быть популярна в одном мегаполисе, но не иметь возможностей в другом. Это так просто.

Изучив язык, вы должны получить некоторый опыт. Потому что плохая вещь о вакансиях начального уровня в том, что они требуют некоторого опыта. Это может быть шесть месяцев, может быть год предыдущего опыта, но им, кажется, чего-то нужно. Об этом я тоже рассказываю в Руководстве. Мой друг и бывший коллега начал работу над проектом с открытым исходным кодом. До этого момента в старших классах он просто играл с HTML. После некоторого времени работы и обучения в проекте с открытым исходным кодом он поговорил с другими участниками проекта и нашел потенциальных клиентов для получения своей первой оплачиваемой работы. Он никогда не проводил дня в классе колледжа.

Это не единственное исключение. Все больше и больше людей начинают программировать каждый день без степени, связанной с компьютерными науками, или без какой-либо степени. Если вы не верите, исходя из моего опыта, взгляните на учебные курсы по программированию. Они появляются по всей стране и говорят вам, что после 8–20 недель их интенсивной программы вы можете устроиться на работу программистом. У этих программ также будут отзывы и истории успеха. У них также есть цена, обычно где-то между 6-15 тысячами долларов. Эта цена довольно высока для пары месяцев обучения, но они скажут вам, что это капля в корзину времени и денег, вложенных в программу получения степени. Откровенно говоря, они подтверждают мою точку зрения: вам не нужна степень. Для этого вам не нужен учебный лагерь.

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

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

Я бы посоветовал потратить около месяца на чтение и изучение языка самостоятельно, особенно если вы занимаетесь этим на полставки, потому что у вас уже есть работа, чтобы сводить концы с концами. Следующие пять месяцев после этого - это создание вашего опыта для включения в резюме, получение контактов в LinkedIn и т.д. Если вы будете придерживаться этого, продолжите и приложите немало усилий, вы определенно сможете найти работу в кодировании.

Я оставлю еще кое-что о вакансиях начального уровня. Они становятся лучше, но, как правило, все они говорят о требованиях «родственная степень». Это ложь. Компании нанимают людей, которые соответствуют их культуре и могут выполнять эту работу. Сейчас, более чем когда-либо, компании, которой нужны программисты начального уровня, все равно, есть ли у вас диплом, какой-то специалист по персоналу написал это описание должности десять лет назад и оставил это требование в качестве психологического контроля. Это чушь. Если вы скажете кому-нибудь, что у вас есть четыре месяца опыта работы в Ruby с проектом с открытым исходным кодом, то ваш код будет говорить сам за себя. Вам может быть даже легче получить эту работу, чем недавнему выпускнику колледжа.

А как насчет продвижения? Это тоже приходит с опытом. Иногда это будет означать годы работы и применения. Если вы занимаетесь разработкой программного обеспечения и чувствуете, что вас обошли стороной, займитесь образованием вместе с вашей компанией. Многие работодатели не только поощряют продолжение образования в той или иной форме, но также будут готовы помочь вам в получении ученых степеней и ученых степеней в соответствующей области. Это понятие должно вас тут же подсказать. Зачем компании предлагать помочь вам получить степень бакалавра компьютерных наук, если они сказали, что это необходимо в первую очередь для получения работы? В Руководстве также рассказывается о непрерывном образовании и о том, чего ожидать на рабочем месте.

Я знаю, что многие люди могут подумать, что я написал эту статью для продвижения своей книги. Да, я был бы в восторге, если бы больше людей заплатили 3,99 доллара за издание электронной книги или 7,99 доллара за книгу в мягкой обложке. Больше всего на свете я просто устал от людей, увязших с кучей долгов за колледж. Я понимаю, что есть области, в которых вам определенно нужна ученая степень. Я бы не хотел, чтобы меня оперировал врач, который никогда не ходил в медицинскую школу. Я бы не хотел, чтобы адвокат представлял меня в суде, который никогда не учился в юридической школе. Но разве меня должно волновать, если кто-то проучился четыре года в колледже, если он знает, как написать адекватный алгоритм для сортировки некоторых данных? Или раскладывать экран так, чтобы он имел правильные цвета и не выглядел как что-то из HTML 1998 года? Вы можете взять приличный ноутбук менее чем за 500 долларов и получить бесплатный доступ в Интернет в библиотеке или Starbucks. В этом отношении вы даже можете использовать библиотечные компьютеры и просто учиться на них, если хотите действительно сократить расходы.

Кто должен это делать? Только что закончил школу и думаете о колледже? Может, вместо этого попробуй эту идею. Особенно, если вы либо действительно не знаете, что изучать, либо думаете о какой-то степени без каких-либо перспектив зарабатывать на жизнь. Застряли в тупике с паршивым начальником и хотите большей автономии? Тогда попробуйте этот путь. В худшем случае вы потеряете вечера на несколько месяцев и, возможно, потеряете стоимость компьютера. Я не гарантирую успеха, но могу сказать, что это работает, и это быстрее, дешевле и проще, чем получение степени.

Хотите узнать больше? Ознакомьтесь с Автостопом по программированию, доступным на Amazon, Google Play, iBooks и Kobo.