Содержание

Советы начинающим программистам — Разработка на vc.ru

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

1311 просмотров

1. Мысли критически.

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

2. Заставь машину повторять твои действия.

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

3. Коллеги — это настоящая драгоценность.

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

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

4. Побольше практикуйся.

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

Этот совет про то, чтобы не быть программистом-теоретиком в первую очередь.

5. Помни о бизнес задачах

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

6. Помни об общей картине системы

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

15 советов от профессиональных разработчиков для начинающих программистов

Этот гостевой вклад был написан Алексей Еленевич, Директор по маркетингу и соучредитель CodeGym.

Глобальная технологическая индустрия продолжает расти невероятными темпами, казалось бы, неудержимая и невосприимчивая к дорожным ударам, от которых страдают другие секторы экономики. Даже могущественный кризис COVID-19 не смог остановить стремительный рост технологической индустрии, поскольку в 2020 году ей удалось вырасти, а сейчас она находится на грани роста. путь к достижению 5 трлн долларов к концу 2021 года, что указывает на тенденцию роста 4.2% в год. Некоторые студенты даже предпочитают получать CS помощь с домашним заданием чтобы избавиться от дополнительных вопросов и избежать плохих оценок.

Алексей Еленевич (Изображение: CodeGym)

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

Спрос на разработчиков программного обеспечения растет

Люди во всем мире выбирают разработку программного обеспечения своей профессией. Что касается роста числа разработчиков программного обеспечения, то в Азиатско-Тихоокеанском регионе наблюдается самое сильное развитие, в основном за счет таких стран, как Китай и Индия. Китай является страной с наибольшим ежегодным приростом числа разработчиков, в то время как число программистов в Индии, как ожидается, обгонит Соединенные Штаты к 2023 году.

Backend разработка, кодирование внешнего интерфейса или творческая работа непосредственно с пользователями, все эти аспекты необходимы для надежного программного продукта. Но даже этого будет недостаточно, так как количество рабочих мест в тех. промышленность растет быстрее, чем население разработчиков. Бюро статистики труда США прогнозировало, что количество рабочих мест в сфере компьютерных и информационных технологий в США будет расти. 11 процентов с 2019 по 2029 год, намного быстрее, чем в среднем по всем профессиям.

Также интересно: Вот 8-битные советы для начинающих программистов [видео]

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

15 советов по программированию, которые могут вам пригодиться

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

1. Практика — ключ к успеху

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

Изображение: Мохаммад Рахмани / Unsplash

«Практикуйтесь в написании кода как можно больше. Пользуйтесь всеми кодовыми лабораториями и учебными пособиями, которые можете найти », — рекомендует Эрик Хеллман, эксперт по мобильному программированию и автор книги ‘Программирование для Android: раздвигая границы».

Джавин Пол, известный Java-блогер, дает примерно те же рекомендации: «Ежедневно пишите код, читайте блоги и книги, занимайтесь проектами».

2. Не попадайтесь в ловушку изучения теории.

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

Изображение: Роман Синкевич / Unsplash

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

3. Присоединяйтесь к сообществу разработчиков.

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

Изображение: Le Wagon / Unsplash

«Программисты любят обсуждать методологии и тенденции. ООП мертв? Будущее за языками сценариев? Функциональное программирование — это просто возвращение к структурному программированию? Новичок должен погрузиться в сообщество, связанное с языком или средой, в которой они работают. Им следует присоединиться к группам пользователей. Новичку нужно знать, что такое индустрия. В этом году это функциональное программирование и, к большому сожалению, нетипизированные языки. Тенденции приходят и уходят, поэтому каждый разработчик обязан следить за текущими и грядущими тенденциями. Им нужно найти среду или группу, где их можно будет обсудить », — поясняет. Кен Фогель, Эксперт по Java и профессор компьютерных технологий в колледже Доусон, Канада.

«Найдите сообщество разработчиков, в котором вам будет комфортно задавать вопросы. Не волнуйтесь, если вам кажется, что ваш вопрос может быть слишком простым. Вы скоро справитесь с этим », — добавляет Эрик Хеллман.

4. Научитесь искать и находить решения.

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

Изображение: Solen Feyissa / Unsplash

«Многие любят говорить, что программисты — это просто профессиональные гуглеры. Я бы воспринял это как комплимент. То, как вы используете то, что вы узнали, определяет вас как профессионала, а не болвана », — сказал Кен Фогель.

Связанная история: Какой язык программирования следует выучить в первую очередь? [Блок-схема]

Эрик Хеллман также считает, что поиск — это ключ: «Научитесь искать решения. Даже если вы знаете ответ на что-то, погуглите и посмотрите, что еще можно сравнить ».

5. Найдите время, чтобы остановиться и отметить новую веху.

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

Изображение: Энни Спратт / Unsplash

По крайней мере, это то, что Дилан Исраэль, старший фронтенд-инженер, наставник по кодированию и блогер YouTube, рекомендует новичкам в программировании. «Первый совет, который я хотел бы дать: отмечайте свои мини-вехи. Когда вы узнаете что-то новое, цените то, что вы потратили время на то, чтобы узнать что-то новое; когда вы что-то строите, цените то, что вы что-то построили, и бросайте себе вызов. Часто мы так боимся, что хотим быть готовыми на сто процентов, и это действительно плохое отношение к нашей области, потому что вы никогда не узнаете всего. Вы никогда не будете готовы на все сто процентов. Так что бойтесь и все равно делайте это », — сказал он мне.

6. Начните подавать заявки на работу и проходить собеседования заранее

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

Изображение: Фернандо Эрнандес / Unsplash

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

7. Следуйте за своей страстью больше

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

Изображение: This Is Engineering / Unsplash

«Самый частый совет, который я слышу от опытных разработчиков программного обеспечения, — следовать своей страсти, когда дело доходит до выбора направления, в котором вы хотите развить свою карьеру. Вы собираетесь потратить большую часть своей жизни на работу, поэтому вы должны быть уверены, что это занятие по-прежнему зажигает вас и мотивирует, когда дела идут плохо. И вы хотите получать удовольствие от повседневной жизни в целом, поэтому не торопитесь, чтобы определить лучший для вас путь вперед прямо сейчас — например, не просто следуйте по пути, который приносит больше всего. Следуйте за своими увлечениями прямо сейчас, но не думайте об этом как об окончательном решении до конца своей карьеры. Прелесть технологий в том, что вы можете развиваться в разных направлениях позже и довольно легко переключаться между сферами деятельности по мере накопления опыта », — рекомендует Маша Зверева, предприниматель и основатель блога Coding Blonde.

8. Найдите время, чтобы изучить основы

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

«Наша отрасль постоянно обновляется. Мы перешли от мэйнфреймов к серверам Intel в стиле пиццы и к облаку. У нас были сценарии bash, непрерывная интеграция, а теперь и действия на GitHub. Инвестирование время, чтобы понять основные концепции, лежащие в основе технологии, которую мы используем, имеет решающее значение, чтобы оставаться актуальными. Не всегда желание использовать новейшие и лучшие технологии », — сказал Маркус Эйселе, авторитетный эксперт по Java и основатель JavaLand.

Вадим Савин, опытный full-stack разработчик и блоггер-программист дает аналогичный совет: «Во времена, когда фреймворков JavaScript больше, чем дней в году, может быть сложно начать учиться и знать, на чем именно вы должны сосредоточиться. В FOMO (страх пропустить) есть, даже когда вы старше. В нашей отрасли нет возможности знать все. Сосредоточьтесь в первую очередь на основах и убедитесь, что у вас есть прочная база. Это такие навыки, как решение проблем, алгоритмы, структуры данных и т. Д. Когда у вас есть твердые основы, будет довольно легко выбрать любую новую тенденцию, которая может возникнуть ».

9. Изучите несколько языков программирования.

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

Изображение: Boitumelo Phetla / Unsplash

«Хотя следить за последними и лучшими кажется заманчивым, я думаю, что в долгосрочной перспективе те программисты, которые действительно понимают основы, будут пользоваться большим спросом, чем те, кто следил за маркетингом. Это включает изучение структур данных и алгоритмов. Не нужно быть экспертом, но нужно понимать их. Изучите реляционную модель, нормализацию, SQL. Узнайте о парадигмах программирования, включая императивное, объектно-ориентированное и функциональное программирование. Изучите несколько разных языков программирования, чтобы оценить различия и экосистемы », — рекомендует Лукас Эдер, известный эксперт по Java и SQL.

10. Примите участие в общении

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

Изображение: Келли Сиккема / Unsplash

Маркус Эйзеле должен поделиться с нами по этому поводу: «Урок номер один, который я усвоил, когда стал разработчиком, заключался в том, чтобы принять другой стиль общения. Я встретил много новых людей, некоторые из них были очень старшими и опытными, и, как и следовало ожидать, меня не воспринимали как продуктивную часть команды, потому что я все еще учился. Не позволяйте себе унывать из-за подобных переживаний. Прочтите немного о четырехсторонняя модель и всегда помните, что самая важная часть работы программиста — это создавать ценные бизнес-решения и помещать их в исходный код. Это командные усилия ».

11. Научитесь управлять инновациями и изменять требования.

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

Изображение: Эрик Вендт / Unsplash

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

12. Научитесь планировать свою работу.

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

Изображение: Билл Оксфорд / Unsplash

«Я говорю любому, кто спрашивает о том, чтобы быть программистом, что эта профессия сродни экспериментальной науке. Если вам нравится узнавать, как что-то работает, и если вам нравится проводить эксперименты, чтобы углубить свое понимание, вам следует подумать о том, чтобы стать программистом. Вы также должны быть организатором любой работы, которую вы делаете сейчас. Вы должны иметь возможность спланировать свою работу, прежде чем приступить к работе », — сказал Кен Фогель.

13. Готовьтесь все время учиться

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

Изображение: Дмитрий Ратушный / Unsplash

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

14. Оставайтесь последовательными и не сдавайтесь

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

Изображение: Фицум Адмасу / Unsplash

«Это очень обширная отрасль, и очень легко потеряться в океане информации и возможностей, поэтому я советую искать то, что вам действительно нравится. Это поможет вам сохранять мотивацию и получать удовольствие от того, что вы делаете. Вы можете использовать приложения в медицине, музыке, искусстве, науке, спорте, играх, фитнесе — во всем, что только можно придумать. Вы можете изменить и повлиять на жизнь других людей своей работой. Вы можете заработать много денег и прославиться как программист, но вам нужно быть последовательным, потому что обучение программированию — это марафон, а не спринт. Вы не научились ходить, когда сделали первый шаг, и не научились говорить, когда произнесли первое слово. То же самое относится и к обучению программированию — оставайтесь последовательными и не сдавайтесь из-за множества — а их будет много — препятствий, с которыми вы столкнетесь ». сказал Салдина Нурак, программист и YouTube-блогер.

15. Постарайтесь повеселиться по пути.

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

Изображение: Брук Кейгл / Unsplash

«Оставайся умным. Будьте активны в том, как вы учитесь, и всегда старайтесь, чтобы это было весело. Если вы будете развлекаться, это будет поддерживать вашу мотивацию, а мотивация способствует успеху. После того, как вы изучите основы, важно выбрать то, что вам нравится, будь то интерфейс, серверная часть или, более конкретно, технологический стек, который вам нравится. Затем изучите все это », — рекомендует Филип Гребовски, опытный инженер-программист и создатель популярных руководств по программированию на YouTube.

Заключение

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

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


YouTube: вопросы и ответы — Советы для начинающих программистов? (Энди Стерковиц)

Фотография: изображение функции был выполнен This Is Engineering. Все остальные работы указаны прямо под изображением на протяжении всей статьи.
источник: Отчет CompTIA «Перспективы ИТ-индустрии на 2021 год» / Шаньхун Лю (Statista) / Управление профессиональной статистики и прогнозов занятости США
Примечание редакции: части интервью и цитаты были сокращены для ясности. Взгляды автора не обязательно отражают точку зрения TechAcute.

Эта статья вам помогла? Если нет, сообщите нам, что мы упустили.

9 советов Стива Клабника для начинающих программистов

Эта статья основана на Codementor Hour of Code Office Hour, организованном Стивом Клабником, который известен как активный участник открытого исходного кода и внес более 1900 вкладов только в 2014 году. Рабочий час представлял собой открытые вопросы и ответы, где участники могли задать Стиву любые вопросы, и вот 9 важных советов, которые Стив дал, отвечая на вопросы новичков.


 

#1: Всегда придерживайтесь одной задачи за раз

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

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

#2: Разные люди легко находят разные вещи

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

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

№3: Ваша работа может быть завершена только на 80%

Одна из особенностей инженерного дела заключается в том, что создание пригородного транспортного средства и гоночного автомобиля — две совершенно разные вещи, поэтому в пригородном автомобиле вам могут сойти с рук вещи, которые вы не поставил бы в гоночную машину, и наоборот. Важно решить, какие пограничные случаи вы хотите обработать, но во многих случаях совершенно нормально просто делать 80% работы, а остальные 20% — это то, что люди на самом деле не используют, поэтому не так важно получать эти вещи на 100% правильные. Вы можете отследить последний 1% ошибок в вашем проекте, но вы потратите на это много времени.

#4: Научитесь работать с Google

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

#5: Не бойтесь просить о помощи или помогать людям

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

#6: Технологии всегда меняются

Поэтому меняется и язык технологий. Тем не менее, вы в конечном итоге накопите знания обо всех этих вещах.

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

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

Однако, если вы переходите с динамического объектно-ориентированного языка программирования, такого как Pearl или Ruby, на язык программирования со статической типизацией, такой как Haskell, переход будет очень трудным. Это потому, что языки находятся в совершенно разных ветвях генеалогического древа программирования. Тем не менее, вы также многому научитесь, если решите совершить этот прыжок. В целом, некоторые языки легко освоить, если вы остаетесь в рамках одной парадигмы, а некоторые сложнее, если вы переходите от одной парадигмы к другой.

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

#7: Не вносить вклад в открытый исходный код — это нормально

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

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

В моем примере я начал хотеть внести свой вклад в Rails, так что я пошел и прочитал все открытые проблемы в то время. Это помогло мне понять, сколько болевых точек и проблем было. Я выбрал одну из проблем, которую казалось довольно легко исправить, и в итоге потратил на нее пару дней, прежде чем я это сделал. После этого я отправил свое исправление, и оно было принято, что меня очень взволновало, поэтому я выбрал вторую проблему, и мне потребовалось всего 2 дня, чтобы исправить ее. Итак, это никогда не бывает сложнее, чем в первый раз. Первые несколько исправлений всегда кажутся огромными, огромными усилиями, но чем больше вы это делаете, тем лучше вы знакомитесь с инструментами и Github, и все становится проще. По умолчанию новым людям всегда труднее внести свой вклад, чем существующим.

#8: Программисты все время терпят неудачу

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

Итак, в каком-то смысле вы всегда терпите неудачу как программист. Это странное мышление, но вы просто должны смириться с тем, что вещи не идеальны и не работают; это буквально наша работа.

#9: Не сдавайся

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

Я думаю, что этот комикс от XKCD отлично иллюстрирует проблему:

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

Например, когда я взялся за проект на Ruby под названием Shoes, мне потребовалось шесть месяцев, чтобы понять, как его компилировать. Я месяцами день за днем ​​бился головой о стену, но когда я наконец починил проект, это было лучшее чувство, которое у меня когда-либо было.

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


Имея более 200 репозиториев на GitHub, Стив Клабник известен своим вкладом в проекты с открытым исходным кодом. В настоящее время он занимает 36-е место в постоянном списке участников Rails и написал руководство Rust для Rubyists. В июне 2014 года Стив присоединился к Mozilla для работы над официальной документацией по Rust.

Нужна помощь Стива? Запишитесь на сеанс 1 на 1!

Просмотрите профиль Стива или присоединяйтесь к нам в качестве опытного наставника!

24 совета для начинающих программистов

24 совета для начинающих программистов перейти к содержанию

🆕 🔜 Проверьте это, если вы мечтаете вести индивидуальный интернет-бизнес 🏖️

Опубликовано 01 июня 2022 г.

  • Будьте терпеливы. быстро не научишься. это займет время.
  • Прислушивайтесь ко всем советам, но не следуйте всем советам
  • Старайтесь игнорировать слишком много энтузиазма (рекламы) и слишком много негатива (например, «PHP — дерьмо» — неправда)
  • При выполнении обучающих программ введите код. Не копируйте/вставляйте. Тонкая, но большая разница. Код будет ваш
  • Вы учитесь, делая, а не наблюдая за действиями других людей. Найдите проблему, даже простую. Используйте код для создания решения. Создавайте множество маленьких веб-сайтов/приложений.
  • Начните с понимания проблемы. Как только вы поймете проблему, кодирование станет легкой частью.
  • Просто лучше, чем слишком сложно. Не пишите код для будущего, которого может и не быть. Простой код, работающий сейчас, лучше, чем сложный код, который может работать в будущем. Не бойтесь, что это выглядит слишком просто и недостаточно «инженерно»
  • .
  • Работайте над небольшими проектами, которые вам интересны. Работа над большим количеством проектов. Количество часов и трата уймы часов на разоблачение разных вещей — это грубая форсировка обучения
  • Найдите способ оставаться последовательным. Например, каждый день в 6 утра вы тратите 1 час на изучение программирования. Сделайте это привычкой.
  • Не ждите, пока вы отметите все флажки в объявлении о вакансии, чтобы подать заявку. Никогда не знаешь. Кроме того, делайте множество заявок, потому что вы можете не найти лучшую компанию для себя с первой попытки.
  • Навыки применимы к разным языкам программирования
  • Ты никогда не закончишь учиться. вы должны всегда оставаться в курсе, чтобы не устаревать
  • Учитесь из разных источников
  • Не зацикливайтесь на инструментах
  • Не думайте, что вам нужна степень и что вы не станете разработчиком без степени.
  • Все делают ошибки. Ошибки являются частью процесса обучения.