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

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

Мой академический опыт - инженер, но не CS или CE. Таким образом, я принимаю несколько программных классов в школе и на самом деле много переделал с VB, когда был маленьким ребенком. Тем не менее, только в прошлом году на моей нынешней должности у меня действительно была возможность заниматься каким-либо реальным развитием за пределами домашних заданий в школе. В прошлом году у меня появились переходы от создания простых сценариев автоматизации для полномасштабных приложений для плагинов в С#.NET.

У меня есть семья и друзья, которые являются специалистами в области CS или CE, и работают для компаний, основным продуктом которых является программное обеспечение. Хотя они не заинтересованы в том, чтобы фактически работать в компании-разработчике программного обеспечения, но похоже, что у них есть главное преимущество над мной. В своей работе у них есть люди с большим опытом, которые могут просматривать их и давать им предложения по улучшению их кода или логики. Такие сайты, как Stack Overflow, отлично подходят для решения проблем и получения рекомендаций, но только тогда, когда вы знаете, что вам нужен совет. Я уверен, что есть много раз, когда я принимаю совершенно неправильный подход к чему-то.

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

Ответы

Ответ 1

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

Что касается

Есть ли способ найти открытый исходный код проекты (предпочтительно .Net)

перейдите в SourceForge и найдите что-то, что выглядит интересным для вас и включается. Снова акцент на интересный. Не беспокойтесь о том, насколько это практично.

Ответ 2

Я собираюсь выйти на конечность и предлагаю вам написать код.

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

Когда использовать шаблоны проектирования
Как попасть в проекты с открытым исходным кодом на С#

Ответ 3

Реальные навыки программирования в мире: что-то, что вы могли бы сделать для жизни, в профессиональной среде.

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

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

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

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

Ответ 4

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

Он назвал Mono Project.

Я бы порекомендовал внести свой вклад в Mono Project над другими, потому что они используют очень прозрачную и открытую модель разработки, и они имеют высокий профиль, поэтому, поскольку, как мне кажется, Mono contributor имеет некоторый дополнительный престиж, тогда многие случайные открытые программные проекты С#, Плюс Мигель де Иказа (руководитель проекта Mono) - потрясающий и забавный парень.

Ответ 5

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

Ответ 6

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

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

Ответ 7

Вы можете многое сделать. Они приходят на ум:

  • Particpate в проекте с открытым исходным кодом.
  • Прочитайте StackOverflow много
  • Задайте много вопросов по StackOverflow
  • Читайте хорошие книги.

Ответ 8

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