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

Моя первая работа произошла случайно. На втором курсе университета мне предложили работать веб-разработчиком по совместительству в местном информационном агентстве. Позже выяснилось, что моя одноклассница сказала своему брату, который в то время был сотрудником агентства, что я отлично разбираюсь в Pascal и HTML / CSS в школе, и что, вероятно, это должны быть те же навыки, что и для создания и развертывания веб-сайта.

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

  • Погуглить «Как использовать X в Python» легко, и это совершенно нормально, но я думаю, что как новичку вам нужно ознакомиться с официальной документацией. Навигация по документу помогает понять и спрогнозировать проектные решения, выявить недостатки, узнать о языковых функциях и изучить передовой опыт. Дискомфорт от поиска ответа вначале окупится.
  • Научитесь работать с обратной связью. Хотя все говорят, что вам нужно запрашивать обратную связь, с чем я полностью согласен, есть много способов сделать это более эффективным для обеих сторон. Сравните «Что вы думаете о моем решении?» и «Видите ли вы узкое место в моем решении?» или «Я сделал это так, потому что X» и «Как лучше всего это сделать?» Надеюсь, вы уловили идею. Кроме того, не принимайте отзывы на свой счет и уважайте время других людей.
  • Играя в CheckiO, не зацикливайтесь на своих решениях. В любом случае он не будет идеальным. Здесь вы учитесь, читая и понимая другие решения. После того, как вы решите задачу, откройте 3 лучших решения из каждой категории (например, Clean, Fast, Puzzle) и постарайтесь понять, что делает код. Кроме того, не стесняйтесь просить объяснений по поводу конкретной строки.
  • Освоившись с синтаксисом и базовыми алгоритмами, вы можете попытаться изобрести велосипед [1]. Это нормально, если вы выберете небольшой пакет Python, поймете его назначение, реализуете его самостоятельно с нуля, изучите исходные коды и навсегда выбросите его. Эта практика помогает раскрыть предметную область и выявить важность правильных проектных решений.
  • В какой-то момент вам нужно узнать, как сотрудничать с другими разработчиками и что такое git, issue, PR. Я думаю, что лучший способ сделать это - внести свой вклад в проект с открытым исходным кодом. У некоторых из них даже есть задачи с пометкой «для начинающих» [2].
  • Помимо советов по кодированию, я хочу добавить кое-что о вашей первой работе. Я считаю, что лучший способ продвинуться по карьерной лестнице - это найти стажировку в технологической компании, где вы сможете работать с умными и, возможно, хорошими людьми. Если вы найдете такую ​​компанию, на раннем этапе карьеры стоит пожертвовать зарплатой, местоположением, титулом и льготами.
  • Не стоит недооценивать важность основ. Чтобы облегчить вам жизнь, я бы рекомендовал инвестировать в изучение того, как работают популярные алгоритмы, компьютеры, компиляторы, операционные системы и сети.

[1] Никогда не используйте их в реальных системах для собственной безопасности.

[2] http://up-for-grabs.net/