TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.77K subscribers
Post #531 1.08K
День четыреста тридцать пятый. #Оффтоп #97Вещей
97 Вещей, Которые Должен Знать Каждый Программист
34. Исполняйте Мечты в Открытом Коде
Очень вероятно, что на своей работе вы не разрабатываете ПО, о котором мечтаете. Возможно, вы работаете над ПО для большой страховой компании, но мечтаете работать в Google, Apple, Microsoft или в собственном стартапе, разрабатывающем новый Твиттер. Ваши мечты никогда не исполнятся, если вы разрабатываете ПО для систем, которые вам не нужны.

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

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

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

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

Источник: https://www.oreilly.com/library/view/97-things-every/9780596809515/
Автор оригинала – Richard Monson-Haefel
More from @netdeveloperdiary
  1. Oct 18, 2026День 2818. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  2. Oct 17, 2026День 2817. #ЧтоНовенького #VS Прекращаем Сборку После Первой Ошибки Мэдс Кристенсен продол…
  3. Oct 16, 2026День 2816. #Карьера #AI Станет ли ИИ-Кодинг Концом Программирования для Людей? Автор ориги…
  4. Oct 15, 2026Post #3374
  5. Oct 14, 2026Post #3373
  6. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →