Как стать хорошим программистом

Сегодня профессия разработчика программного обеспечения более чем популярна. Она очень востребована, она очень конкурентная. Поэтому недостаточно просто быть программистом. Нужно быть хорошим программистом. Как выделиться из толпы и отличиться в этой сфере —  читайте дальше.

Собеседование

Чтобы стать успешным в чём-либо, нужно, прежде всего, любить то, что ты делаешь.  На этом лирическая часть закончилась. Теперь поговорим о практической стороне вопроса.

  Допустим, вы уже умеете программировать, имеете опыт в решении практических задач и претендуете на звание Junior Developer. С этим всем вы идёте устраиваться на работу. Первый барьер, который нужно преодолеть – это собеседование.

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

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

Как стать хорошим программистом

Тестовое задание

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

Не стоит изобретать велосипеды и перегружать свой скрипт лишними конструкциями. Пишите так, как умеете. Конечно, старайтесь совершенствовать свои программы, делайте их лучше и не останавливайтесь на достигнутом. Только не нужно в тестовом задании использовать непонятные вам вещи, чтобы удивить работодателя.  Лучше сделать просто и понятно.

Тем более, что простота нередко бывает гениальной!

Как стать хорошим программистом

Итак, тестовое задание сделано. Пора за работу! Для высокой продуктивности очень важно разумно организовать свой рабочий процесс. Много полезных для себя советов вы можете найти в книге Глеба Архангельского «Тайм-драйв». Также в рабочее время забудьте про социальные сети и бессмысленную болтовню с коллегами. Важно вовремя понять, что многозадачность – это миф.

Пробуйте концентрироваться на задаче и делайте ее хорошо. Если вам сложно сосредотачиваться на чём-то одном, прочитайте книгу Люси Джо Палладино «Максимальная концентрация». Главное — применяйте полученные знания в реальной жизни, и вы обязательно получите результат – вы станете эффективнее.  

Ещё один секрет успешности на работе – это дисциплина и распорядок. Будьте организованы, планируйте свой день, задачи, которые нужно сделать, и придерживайтесь этого плана. И последнее, что касается рабочего процесса: не бойтесь задавать  вопросы. Лучше разобрать все непонятные аспекты на первых этапах работы, чем потом.

Неидеальный код

Хороший программист пишет хороший код. Поэтому скажите «нет» идеальному коду и пишите код, который решит поставленную задачу.  Думайте над реальными рабочими проблемами и ищите способы их решения.

Для более продуктивной работы структурируйте все поточные задания. Например, заведите блокнот, куда записывайте заметки, мысли, обнаруженные ошибки, предложения и идеи по поводу того или иного задания.

Как стать хорошим программистом

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

В современном мире, где непрестанно появляются всё новые и новые технологии, недостаточно просто хорошо делать свою работу. Обновляйте, пополняйте, совершенствуйте свои знания и умения, и вы всегда будете востребованы в своей сфере.

Советы

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

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

Не бойтесь работать с людьми, умеющими больше вас, ведь только так вы сможете расти, как специалист.

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

Что делать в этом случае? Спрашивать! Не бойтесь просить о помощи. Взаимовыручка и взаимопомощь – основные составляющие дружного коллектива. Ведь вы все вместе трудитесь ради общего дела, и помогать друг другу совсем не зазорно.

Подводя итог, можно сказать, что для того, чтобы стать хорошим программистом, нужно иметь фундаментальные знания в программировании, пребывать в среде программистов, не бояться задавать вопросы, постоянно развиваться и быть увлечённым. Ведь увлечённость, желание и стремление к чему-то большему – залог успеха не только в карьере программиста, но и в жизни в целом. 

Больше о том, как стать хорошим программистом вы узнаете из записи вебинара Оборожного Юрия, .NET разработчика в Brighgrove Ltd.

Источник: https://itvdn.com/ru/blog/article/gooddev

Что нужно, чтобы стать программистом и зарабатывать от 2000$ в месяц?

От автора: работа программистом может стать вашим счастливым билетом в жизнь.

Это сложная дорога, требующая огромного количества потраченных усилий и времени на изучение языка HTML, CSS, Java, PHP и прочих технических штук, но, черт возьми, игра стоит свеч.

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

Статистика показывает, что профессии, связанные с компьютером, интернетом и технологиями оплачиваются гораздо выше по сравнению с «ручной работой», и я сейчас не о плетении бисером, пробивании отверстий перфоратором и забивании гвоздей в балки.

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

С чего начать?

Перед началом поиска информации о том, как стать программистом с нуля, подумайте: а нужно ли это вам вообще? Этот вопрос не относится к тем, у кого за спиной уже имеется база знаний, полученная на спецкурсах или в соответствующем учебном заведении.

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

Как стать хорошим программистом

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

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

Развиваться в этой тематике можно, выбрав один из 4 представленных ниже путей:

Самостоятельно стать программистом (самообразование)

Стать программистом без образования — нельзя. Можно ли стать программистом без получения образования в высшем учебном заведении? Безусловно, да. В интернете существует огромное количество всевозможных курсов по программированию, которые позволяют получить хорошее образование.

Причем многие из них находятся в бесплатном доступе, поэтому если вы на тематических форумах уже успели всех достать сообщениями: «Хочу стать программистом, с чего начать? А где взять деньги? Я же с нуля!», то вот, пожалуйста ответ. Скачивайте бесплатные курсы, обучайтесь, применяйте полученные знания на практике, зарабатывайте.

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

Рекомендация: не беритесь за все сразу. Постройте себе примерный план обучения, к примеру, 1 тема в неделю. Детально осваивайте ее и не переходите к новой, не осознав до конца все тонкости предыдущей. Безусловным плюсом самообразования является факт, что вы сами строите программу, исходя из того, что нужно для достижения конкретного результата.

Быстро стать программистом при помощи специализированных курсов

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

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

К примеру, с помощью одного стандартного курса можно от А до Я проштудировать адаптивную верстку менее, чем за 30 дней.

Как стать хорошим программистом

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Получить высшее образование в университете

Этот путь будет самым долгим. За сколько можно стать программистом в университете? Лет 5, не меньше. Нельзя сказать, что у вас будет большое преимущество в знаниях, ведь половину образовательной программы разбавят ненужными предметами вроде физкультуры, философии и прочих наук, с преподавателями которых явно не поговоришь на языке HTML или Java.

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

Стать крутым программистом с помощью ментора

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

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

Какие знания необходимы?

Знания, которые необходимо получить, зависят от того, на чем вы хотите специализироваться. Каким программистом лучше стать — решать только вам. У каждого человека свои цели и предпочтения.

Если говорить о том, что надо, чтобы стать программистом в самом начале, то советую определиться с подходящим языком программирования (PHP, Java, Python, Ruby и т. д.).

Критериями выбора могут стать следующие 3 параметра:

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

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

получение удовольствия от процесса — если вам не нравится тот язык, с которым вы работаете, хорошим программистом стать не получится. Для достижения высоких результатов нужно получать кайф от того, чем занимаешься.

Как получить первый практический опыт?

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

Не нужно ждать, пока закончится последняя страница новой мега полезной книги, которая сделает вас гуру программирования. Увидели задание? Тут же выполняйте, потом усложняйте, экспериментируйте. Задача: прокачать ключевые навыки в программировании до уровня автоматизма. Бои выигрывает не тот, кто много знает, а тот, кто может удачно применить свои знания на поле битвы.

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

Выполните проект дешево или вообще бесплатно. Затем сделайте несколько проектов на максимуме своих возможностей и упакуйте их в портфолио.

После этого задача с поиском клиентов или устройством на заманчивую должность в компании значительно упростится.

Читайте также:  Как разговорить человека

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

Как стать хорошим программистом

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Источник: https://webformyself.com/chto-nuzhno-chtoby-stat-programmistom-i-zarabatyvat-ot-2000-v-mesyac/

Как стать программистом?

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

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

Средняя зарплата программиста начинается от 35 тысяч рублей, а уж профессионалы со стажем могут зарабатывать заоблачные деньги. 

Как стать хорошим программистом

Профессия программиста популярна и востребована

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

Кто такие программисты и чем они занимаются

Запросы it-сферы на профессионалов постоянно увеличиваются. Следовательно нужны люди, которые будут в этом разбираться: создавать, чинить, поддерживать. Кодеры бывают разные, и каждая работа имеет свою специфику. Расскажем про основные специализации айтишников: 

Самый очевидный вариант. Но он не так прост, как вы можете подумать. Кодеры выполняют разные задачи в зависимости от их профильного языка программирования и проекта.  

Например, разработчик мобильных приложений создаёт программы под системы android, ios и другие. Смартфон и планшет есть у каждого первого, так что тут работа закончится ещё не скоро. 

Ещё одно перспективное направление – java-программирование. Большинство банковских систем спроектированы на этом языке. Банки готовы хорошо платить за качественный продукт и штатным работникам, и сторонним фирмам.

Но и требования тут высоки: придется нести ответственность за корректную работу приложения с чужими деньгами.

Конечно, программировать на java можно не только в банке, а хорошие it-специалисты со стажем получают около 200 тысяч рублей в месяц.    

Тестировщик – специалист, без которого ни один проект не увидит релиза. Этот айтишник знает все о тонкостях кода и о местах, где программа может дать сбой.

Его обязанность – проверить устойчивость продукта к ошибкам и багам и вернуть его разработчикам на исправление.

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

Ещё одна похожая профессия – qa engeneer, специалист по качеству продукта. Основное его отличие в том, что он не ищет ошибки в коде, а старается их не допускать.

Подробно выяснить требования заказчика, спланировать разработку, наладить связь между группами программистов – все это обязанности qa engeneer.

Часто тут даже язык программирования знать не надо, важнее представлять этапы разработки и особенности управления проектами. 

Профессия привлекательна зарплатой: даже новичку тут могут заплатить 50 тысяч в месяц.    

Согласно исследованию StackOverFlow, это самая востребованная it-профессия 2017 года. Web-программисты делятся на две категории: front end и back end  (они же часто шифруются как UX/UI дизайн).

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

Чтобы страничка в интернете выглядела современно, разработчики проходят курсы html и php, владеют css, java-script, программированием на python. 

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

Особенность 1С-программирования – тесная связь с экономической отраслью.

Например, чтобы правильно начислить зарплату 3000 людей на заводе, надо где-то хранить данные об их рабочем времени, ставке, больничных и т.п. Эту задачу берет на себя программы 1С-предприятие.

1С-программист настраивает программы бухучета и документооборота так, чтобы легко выгружались документы, автоматически формировались отчеты.  

Возможную рутинность работы с лихвой компенсирует порядок зарплат. Если говорить о фиксированной ставке, то начинающий Программист 1C сразу найдет вакансию с зарплатой в 45 тысяч в месяц, а ведущий специалист получает от 120. А вот в случае фриланса заработок будет зависеть от ваших навыков и от количества рабочих часов в неделю. Профессионалы зарабатывают и 200, и 500К в месяц. 

Как стать хорошим программистом

Споры о настоящих программистах не утихают до сих пор

Этот айтишник не совсем программист. Его особенность в том, что он отлично разбирается в «железе». Подключить принтер, ноутбук, проектор, настроить его работу, раздать интернет и спроектировать хитрую локальную сеть – это все к нему. Гуру проводов и работающих принтеров платят от 25 тысяч рублей, а зарплата программиста-сисадмина с хорошим опытом может доходить до 150 тысяч в месяц. 

Он же product manager, он же product owner. Менеджер продукта выступает как переводчик между заказчиком, которые не разбирается в информационных технологиях и исполнителей-программистом.

Кажется, что это работа из ничего – что заказчик с программистов сами разобраться не смогут?! Хорошо не смогут. Именно product manager может объяснить заказчику возможности функционала и потом уже сформулировать точное задачу для айтишников.

На product owner лежит ответственность, чтобы готовое приложение, сайт или игра приносили пользователю максимум радости и пользы. 

Любой успешный айтишник может достичь высшей позиции в it-сфере – chief procurement officer (коротко CPO). Этот человек глубоко знает продукт, понимает систему кодинга, знает лучшие стратегии для создания программного обеспечения. В подчинении ИТ-директора средней компании может находиться 30-50 человек. Средний доход… далеко выше среднего.    

Обучение программированию в вузе 

Самый очевидный способ стать программистом – поступить на соответствующий профиль в вуз. Жизнь большинства специалистов уже невозможна без it-технологий. Обращаться с кодом в какой-то мере учат и математиков, и химиков, и биологов. Но чтобы не мучиться на неинтересных для вас предметах и изучать только профильные дисциплины, выберите одно из следующих направлений: 

Каждый вариант имеет свои особенности. С одной кафедры выпускаются учёные, с другой — управленцы, а с третьей — самые настоящие анти-хакеры! Чтобы подробнее в этом разобраться, посмотрите нашу инфографику. Будущим it-специалистам лучше выбирать технические университеты. Эти профили есть в МИРЭА, МИФИ и других. 

Обучение на программиста в колледже 

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

  • 09.02.03 Программирование в компьютерных системах;  

Источник: https://propostuplenie.ru/article/kak-stat-programmistom/

Как стать программистом, если очень хочется, но опыта нет | Rusbase

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

Учеба была связана с обработкой изображений: это совсем не программирование, но все-таки ближе к тому, чего мне хотелось. Такая околокомпьютерная специальность.

В уме я всегда держал, что буду работать программистом. Так в итоге и получилось.

Подписывайтесь на канал Rusbase в «Яндекс.Дзен», чтобы ничего не пропустить

Объявление о работе я нашел в ВК

Работу Java-программиста я начал активно искать на пятом курсе, но сначала решил пройти стажировку в какой-нибудь компании. Объявление о стажировке я увидел в паблике МАИ в ВК. Про «Инфосистемы Джет» я, честно говоря, слышал впервые. Нашел информацию о компании в интернете, мне все показалось интересным, и я оставил заявку на их сайте.

Как оказалось, претендентов было много – сотни полторы желающих. Отбирали довольно долго. Сначала пригласили на общее собрание, потом мы прошли теоретический тест и выполнили несколько практических заданий.

Затем для тех, кто справился успешно, устроили еще одно собеседование. Только после этого мы все попали в группу обучения, а потом я получил приглашение работать Java-разработчиком. Но это, как говорится, совсем другая история, и рассказать я хочу не об этом.

Я прочитал всего одну книгу по программированию

Можно сказать, что я самоучка.

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

До того как я начал серьезно учиться программировать на Java, я прочитал всего одну книжку о программировании. Это был курс «С++ за 21 день».

Не скажу, что она мне не понравилась или все показалось слишком сложным и ненужным, но я остановился все-таки на Java. Кстати, сейчас на работе мне приходится программировать не только на Java, но и в «плюсах», так что бесполезных знаний не бывает.

Почему я выбрал Java?

  • На мой взгляд, Java – едва ли не единственный язык программирования, от начала изучения которого до получения конечного продукта проходит не так много времени. Возможно, я такой человек, которому хочется поскорее «пощупать» результат. Чистая теория меня не очень привлекает.
  • Передо мной стояла определенная цель. Я понимал, что работу программиста мне получить будет крайне сложно, необходимо на будущем собеседовании показать хоть что-то и сказать: «Опыта работы нет, диплом тоже – не совсем то, что нужно, но зато есть вот это – посмотрите». Но, к счастью, я получил работу через стажировку.
  • Сейчас есть огромное количество разнообразных руководств для разработки приложений для ОС Android. Так что здесь у меня буквально все сходилось: и материалов для обучения достаточно, и существовала возможность сравнительно быстрого получения легко осязаемого результата.

Одним словом, после короткого курса C++ я взялся за какое-то руководство по Java для начинающих. Не помню, как оно называлось, помню только, что я бросил его читать, не добравшись и до середины. Мне хотелось поскорее «прогать».

Источник: https://rb.ru/opinion/programmirovat-mozhno-nauchitsya/

Как стать хорошим программистом?

Что нужно изучить программисту, чтобы повысить свой уровень профессионализма? На этот вопрос отвечают пользователи сайта Quora.

Пья На, работает в компании Google

Почитайте о структуре и интерпретации компьютерных программ. (Например, «Структура и интерпретация компьютерных программ», Харольд Абельсон и Джеральд Джей Сассман). Если вы целеустремленный и действительно хотите изучить основы компьютерных наук, то никакая другая книга за настолько короткий промежуток времени не даст столь всесторонний и глубокий взгляд на информатику. 

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

Тщательно изучите среду разработки. Самые лучшие и успешные программисты используют подобные знания для работы с максимальной эффективностью.

Прочтите книгу Питера Норвига «Научитесь программировать за 10 лет».

Майк Каутермарш, работает в Product Hunt

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

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

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

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

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

Читайте также:  Как нарисовать воробья

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

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

Обедал я тоже за своим рабочим местом, ведь так я мог написать еще больший объем кода.

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

Хоть я и писал достаточное количество «отличного» кода, моя работа приносила бизнесу не так уж и много пользы.

Я тратил слишком много времени на мелкие технические детали вместо того, чтобы обращать внимание на всю картину в целом.

Однажды мой наставник дал мне классный совет: “Ты должен поднять свою пятую точку со стула и пойти поговорить со своими клиентами”. Именно после этого все поменялось для меня.

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

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

Начать – это совсем просто, и вы тоже так можете.

  • Посещайте все корпоративные мероприятия, познакомьтесь со всеми людьми в вашей компании, занимающимися не только технической составляющей.
  • Постарайтесь обедать с самыми разными людьми. Возьмите кофе и выйдите из своего офиса. Узнайте, как работают и что делают остальные люди.
  • Проводите время в местах общего пользования. Может в вашей компании есть комната отдыха? Игровая комната? Кухня? Постарайтесь проводить хотя бы немного времени там, спросите у своих коллег, чем они занимаются в рабочее время.
  • Задавайте как можно больше вопросов. Бизнес-среда, как и любая профессиональная сфера, обладает собственным сленгом. Изучите специальные слова, которые используются в ней.

Начав общаться с другими людьми и пытаясь глубже вникнуть в бизнес, вы уже через некоторое время начнете немного по-другому воспринимать и понимать свои проекты. Прежде чем взяться за проект, я трачу около 30 минут на очень важную вещь.

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

Изучите так называемое «правило 20/80» (принцип Парето) и обсудите с проект-менеджером, каким образом вы можете решить задачу при помощи минимального объема кода.

Помните, что вы стремитесь меньшими усилиями добиться большего.

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

Итак, как же стать отличным программистом?

  1. Не закрывайтесь в «технической ракушке» и постарайтесь узнать, как работает бизнес.
  2. Изучите и применяйте принцип Парето 20/80!
  3. Используйте свои технические навыки для того, чтобы решить важные для компании задачи.

Пауль Колоцсвари, работает в компании Motorola

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

  • Вы не станете хорошим программистом, только лишь читая книги о программировании.
  • Вы не станете хорошим программистом, только лишь запомнив код и определенные алгоритмы. Программирование связано в первую очередь с мышлением, а не с запоминанием. У вас может быть отличная память, но если вы не используете свой мозг, то вы никогда не станете хорошим программистом. У нас есть компьютеры и интернет, которые могут запоминать все необходимые нам вещи, поэтому вам совсем необязательно помнить все – вам просто надо знать, где и как найти необходимую вам информацию.
  • Вы не станете хорошим программистом, тестируя код, созданный другими людьми. 
  • Вы не станете хорошим программистом, просматривая и отлаживая код, созданный другими. В краткосрочной перспективе это может помочь, но только в том случае, если написанный кем-то код достаточно хорош и вы можете узнать какие-то полезные вещи. Но, изучая плохой код, вы тоже можете запомнить что-то совсем ненужное и неправильное, от чего потом придется отучиваться. В долгосрочной же перспективе вычитка чужих кодов может негативно сказаться на вашем профессиональном росте.

Есть только один способ стать хорошим программистом: вам следует брать проекты и полностью работать над ними в одиночку: от самого начала до самого конца.

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

Просто сядьте и подумайте о том, какое приложениесистему вы бы хотели самостоятельно разработать.

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

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

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

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

Источник: https://www.kv.by/post/1052119-kak-stat-horoshim-programmistom

Неправильный, но быстрый способ стать программистом — «Хакер»

статьи

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

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

Разумеется, речь в статье пойдёт исключительно о моём личном опыте, который позволял мне проходить собеседования даже в такие топовые компании, как Luxoft.

С компьютером я впервые познакомился в 6 лет. В 13 лет у меня уже был свой персональный веб-сайт. В школе учился плохо, в универе тоже. На втором курсе мой друг нашёл работу Java-программистом и настоятельно рекомендовал мне сделать то же самое. Идея заинтриговала. Нужен был план.

Первый шаг — резюме

Первая и основная проблема, с которой сталкиваются новички, — резюме. Без адекватного, цепляющего резюме тебя не будут приглашать на собеседования. Но как быть тем, у кого совсем нет опыта работы? Для того чтобы «не с пустыми руками» идти к HR, мы с другом вписали мне в резюме целый год опыта работы над его проектом, над которым якобы вместе трудились.

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

Первые собеседования были провальными. Надо мной буквально смеялись. На первом же техническом собеседовании, где мне дали пару задачек на бумаге, меня раскусили в два счёта. Кто-то даже по-отечески посоветовал книгу Thinking in Java.

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

Меня взяли на должность Junior Java developer с одним условием — первые три месяца я буду проходить курс SCJP (Sun Certified Java Programmer), который восполнил бы мои пробелы и выковал бы из меня более подготовленного специалиста.

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

На основе своего горького, но всё же бесценного опыта я приведу список рекомендаций, которые помогут товарищам-авантюристам относительно быстро найти работу программистом.

  1. Резюме. Оно должно быть правильно отформатированным и написанным исключительно на английском. Если не хватает опыта, то его можно (и нужно) придумать, но следует подготовиться отвечать за каждое написанное в резюме слово. Например, если у тебя там написано JMS (Java Message Service), то как минимум следует пройти хоть одну обучалку и поиграться с JMS, поделать какие-нибудь примеры, пускай это и будет банальное «Hello, world!». Теперь будет удобнее пускать пыль в глаза, вы ты и правда «работал с JMS».
  • Выучи азбуку программирования. Если ты ещё можешь позволить себе «плавать» на глубоких уровнях каких-нибудь комплексных технологий вроде Struts и Spring, то неправильные ответы на элементарные вопросы тебе никогда не простят. Если тебя ночью разбудить, то ты должен уметь рассказать про ООП, наследование, инкапсуляцию, полиморфизм и другие базовые концепции, а также суметь объяснить это всё на примерах.
  • Практика. Научиться программировать можно, только лишь программируя. Это больно и неприятно (если ты не программист), но другого пути нет. Единственный способ перестать бояться задачек на собеседованиях — порешать их дома самостоятельно.
  • Читай книги и проходи туториалы по Java только на английском Абсолютно все термины программирования проще понимать на языке оригинала, то есть на английском. Читать техническую литературу по Java на русском — себя не уважать. Почему? Потому что, чтобы понимать что-нибудь в духе «…модуль таблицы во многих смыслах представляет собой промежуточный вариант, компромиссный по отношению к сценарию транзакции и модели предметной области», нужно быть поистине гением, которым ты вряд ли являешься.
  • Выучи, наконец, английский! В первую очередь это касается разговорного английского. Сложно сосчитать то огромное количество толковых программистов, которых на моей памяти забраковали по одной единственной причине — неудовлетворительный уровень разговорного английского. Нет, если ты, конечно, собираешься работать программистом где-нибудь в отечественной компании, то твой уровень языка не будет играть важной роли. Но если ты хочешь попасть на работу в международную компанию, то сам бог велел выучить язык. Уровень твоего английского будет конвертироваться в дополнительные сотни долларов прибавки к зарплате.
  • Знай рынок. Походи по вакансиям, почитай требования, поспрашивай друзей-программистов, сколько они получают. Используй сервисы, которые позволят составить более полную картину о рынке IT. Ты был бы удивлён, узнав о том, насколько велико количество талантливых программистов, которые получают в два раза меньше, чем могли бы, только лишь по причине своей лени и нежелания держать нос по ветру.
  • Торгуйся. Нет ничего предосудительного в том, чтобы торговаться за зарплату. Твоим аргументом в споре может быть как хороший английский, так и предложение о работе в другой компании. Последний аргумент особенно хорошо работает: «Да, но мне в Luxoft предлагают на 300 долларов больше, почему я должен соглашаться на ваши условия? Может, мы могли бы найти компромиссный вариант?». В своё время мне пару раз удалось выторговать дополнительную сотню долларов к своей зарплате, и через год эта сотня долларов дала мне дополнительные 1 800 долларов дохода на ровном месте. Ты должен понимать, что даже для небольших зарубежных IT-компаний лишняя сотня баксов как капля в море.
  • Найди себе ментора. Хорошо, если у тебя будет более опытный товарищ, который сможет помочь советом и ответить даже на самые глупые вопросы. Благодаря его опыту и моральной поддержке ты будешь продвигаться в программировании быстрее, чем в одиночку. Если нет ментора, то неплохо сходить на какие-нибудь курсы по программированию, которые не только дадут более полную картинку того, чем занимается программист, но и позволят познакомиться с более опытными людьми. Кто знает, может быть, кто-нибудь из них захочет стать твоим ментором.
  • Начни свой проект. Даже если он будет образцом самых худших практик кодинга и ты его никогда не закончишь, по крайней мере, у тебя будет то дело, ради которого захочется разбираться в программировании и изучать новые технологии. Кроме того, у тебя появится дополнительная тема для задушевных бесед на собеседованиях.
  • Ищи работу летом. Во-первых, когда все в отпусках, в компаниях более остро ощущается нехватка кадров и повышается вероятность того, что тебя позовут на собеседование. Во-вторых, поскольку твои конкуренты-соискатели тоже на отдыхе, у тебя опять-таки повышаются шансы быть замеченным HR.
  • Никогда не сдавайся. Даже если кажется, что ты заваливаешь собеседование, важно проявить стойкость и продолжить попытки решить задачу, какой бы сложной она ни казалась. Кто знает, может быть, тебя именно в этот момент проверяют на усердие в работе!
  • Избегай заданий на компьютере. Нет способа быстрее раскусить непрофессионала, чем сразу же бросить его в пекло программирования. Твоя задача — постараться перевести все беседы на высокий уровень, где обсуждаются общие подходы и концепции, но никак не конкретная реализация в решении той или иной задачи. Если тебе дали бумагу и ручку и попросили записать решение, то попроси возможность нарисовать его схематически. Таким образом, удалившись от синтаксиса конкретного языка, ты не только убережёшь себя от каких-нибудь режущих глаз ошибок, но и покажешь, что способен мыслить абстрактно, не вдаваясь так уж сильно в детали.
  • Начинай говорить первым. Избегай ситуаций, когда в воздухе виснет пауза, во время которой в мозгу у интервьюера может созреть очередной коварный вопрос. Как только происходит какая-либо заминка, начинай рассказывать что-нибудь из того, что ты хорошо знаешь. Постарайся навязать интервьюеру свою игру.
  • Старайся говорить правду. Если ты никогда не писал PL/SQL процедуры, то лучше об этом сказать прямо. Возможно, в этом для тебя будет минус, однако ты убережёшь себя от нужды выкручиваться, отвечая на вопрос, в котором ничего не смыслишь. Опытный интервьюер за версту почувствует твои пробелы в знаниях.
  • Бойся маленьких компаний. В небольших компаниях, как правило, небольшие команды. Чем меньше в команде людей, тем быстрее тебя раскусят. Твоя цель — большая и неповоротливая корпорация, где ты сможешь выиграть для себя немного времени.
  • Соблюдай дресс-код. Если ты придёшь на собеседование на должность программиста в шикарном костюме, то это вызовет больше подозрения, чем если ты явишься в шортах или потёртом свитере. Не лишним будет также нацепить очки, мол, «эдакий я книжный червь».
  • Конечно, кто-то знающий может отметить, что приведённый выше рецепт — это скорее способ стать кодером, чем программистом, и он где-то будет прав. Однако дело всё в том, что вы никогда не найдёте вакансию с заголовком «Требуется плохой кодер». Всем нужны программисты. Желательно senior. У которых более пяти лет опыта работы на корпоративных проектах и которые одинаково хорошо владеют сразу несколькими языками программирования, при этом досконально разбираются в СУБД, умеют писать bash-скрипты, хранимые процедуры, знают в совершенстве Linux, TCP/IP, обладают лидерскими качествами, стрессоустойчивостью, коммуникабельностью и ещё массой навыков, «без которых никак».
    Такие люди существуют, я их сам видел. Но их слишком мало, чтобы полностью покрыть нужды вечно голодного рынка IT-специалистов. А это значит, что у тебя всегда есть шанс, эдакий ты авантюрист.
Читайте также:  Как включить куки в опере

Источник: https://xakep.ru/2014/11/17/programmer-job-hack/

8 способов стать лучшим программистом

Эстер Шиндлер пишет о технологиях с 1992 года, переводя язык технарей на привычный английский. За годы работы в IT она вынесла несколько советов, которые могут стать руководством к обучению программированию. Приводим для вас перевод её статьи.

Настало время серьезно улучшить ваши навыки программирования. Давайте сделаем это!

Это простая карьерная цель, но нельзя просто сказать себе “я хочу стать офигенным программистом”. Говоря “я хочу стать лучше”, вы должны знать, что включает в себя понятие “лучше”. Более того, слишком много людей стремятся к совершенствованию без понятия о том, как это сделать.

Позвольте мне поделиться восемью осуществимыми советами, которые могут для вас выстроиться в схему обучения программированию. Эти кусочки мудрости собраны за 35 лет моей работы в компьютерной индустрии, пока я находилась у ног гигантов, которые определяли отрасль.

1. Напоминайте себе, как много вам нужно выучить

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

Слишком многие студенты выпускаются с высокомерной установкой “Я лучше знаю” уверенные в том, что знают всё и должны доказать это каждому новому коллеге.

Другими словами, позиция “Я знаю, что делаю!”, может встать на пути изучения чего-то нового.

2. Перестаньте пытаться доказать свою правоту

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

Мы все встречали программистов с восемью годами опыта… точнее, всего с годом опыта, но о котором они говорят в восемь раз чаще.

Чтобы избежать этого синдрома, посмотрите на всё, что вы делаете и спросите себя: “Как я могу сделать это лучше?”.

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

3. “Код работает” – это не конец, а начало

Да, ваш первый шаг – написать качественную программу, которая соответствует спецификации. Средние программисты на этом успокоятся и пойдут заниматься другим делом.

Но останавливаться на этом – это сделать моментальный снимок и ожидать, что он будет предметом искусства. Отличные программисты знают, что первая версия – это первая версия. Она работает (поздравляю!), но это ещё не все. Теперь улучшайте её.

Часть этого процесса – понять, что значит “улучшить”. Нужно сделать её быстрее? Проще документируемой? Используемой повторно? Более надежной? Ответ меняется с каждым приложением, но сам процесс не меняется.

4. Напишите его три раза

Хорошие программисты создают работающие программы. Отличные – программы, которые работают безукоризненно. Это редко случается с первого раза. Лучшее программное обеспечение обычно написано три раза:

  1. В первый раз вы пишете программу, чтобы доказать себе (или клиенту), что решение возможно. Кто-то может не понимать, что это просто опытный образец, но не вы.
  2. Во второй раз вы заставляете программу работать.
  3. В третий раз вы заставляете её работать правильно.

Этот уровень работы может быть неочевиден, когда вы смотрите на работу лучших разработчиков. Всё, что они делают, кажется таким блестящим, но даже разработчики-звезды не показывают свои первые и вторые версии программ. Выбросить код и начать сначала – мощный способ совершенствования в работе.

Это правило, как ничто другое, научит вас, сколько подходов есть к решению проблемы. И оно предостерегает вас от застревания в рутине.

5. Читайте код. Читайте много кода

Вы, вероятно, ожидали от меня этот совет, и это наиболее общая и наиболее ценная рекомендация для совершенствования навыков программирования. Менее очевидны причины, по которым чтение чужого кода так важно.

Когда вы смотрите на чужой код, вы видите, как этот человек решал проблему. Не относитесь к этому, как к литературе, думайте об этом, как об уроке или вызове. Ччобы стать лучше, спросите себя:

  • Как бы я написал этот блок? Что бы вы сделали по-другому, видите ли вы другое решение?
  • Чему я научился? Как я могу применить этот метод к коду, который я писал ранее?
  • Как я могу улучшить этот код? И если это open source источник и вы уверены, что ваше решение лучше, сделайте это.

Напишите код в стиле автора. Такая практика поможет вам попасть в голову человека, который писал программу. Это может улучшить вашу эмпатию.

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

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

Это всё часть самоанализа, который я упоминала ранее, помогающего вам беспристрастно судить о своих сильных и слабых сторонах.

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

Многие разработчики смотрят на открытые исходники или другие источники, пытаясь “найти ответ”, или просто копируя и вставляя код, решающий такую же проблему. Это сделает вас даже хуже, как программиста, потому что вы просто принимаете чужую мудрость без её анализа.

(Более того, этот код может быть полон багов, но так как вы его не разобрали, вы только что импортировали целую кучу багов).

6. Пишите код, а не выполняйте задания

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

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

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

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

Совет: Не выбирайте личные проекты, в которых вы никогда не ошибетесь. Вам нужно ошибаться! Но вы не захотите ошибаться в проекте, когда у вас есть дедлайн.

7. Работайте один на один с другими разработчиками всегда, когда есть возможность

Слушать других людей – полезно. Это может быть совместное программирование, хакатон или группа программистов. Когда вы вносите вклад в проект с открытым исходным кодом, обращайте внимание на обратную связь от пользователей и других разработчиков. Что общего вы видите в их критике?

Возможно, вам повезет и вы найдете ментора, которому сможете доверить всё: от методов кодинга до карьерных решений. Не упустите такую возможность.

8. Изучайте методы, а не инструменты

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

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

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

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

Если вы нашли опечатку — выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.

Источник: https://apptractor.ru/info/articles/8-sposobov-stat-luchshim-programmistom.html

Ссылка на основную публикацию