Ответы пользователя по тегу IT-образование
  • Какие навыки в программировании на C# нужно иметь для устройства на первую работу?

    @cantcodethis
    Если вы новичок, то, скорее всего вам доверят легаси код, или какие-нибудь простенькие задачи. В любом случае, первое время вы будете больше читать код, чем писать его. Поэтому, советую изучить базовые конструкции языка, в частности устаревшие и хитрые, потому что они будут вам встречаться и очень часто. Очень рекомендую потренироваться с многозадачностью, лямбдами, событиями, рефлексией, IO, обобщениями, LINQ-ами, сериализацией, потренироваться с базовыми SQL-запросами, и особенно обратите свое внимание на unit-тестирование. Обязательно уверенно чувствовать себя с ООП и с системами контроля версий (обычно это SVN или Git, хотя персонально мне больше нравится Mercurial). Эти "пункты" пригодятся, какую бы сферу вы не выбрали.
    Месяц назад я устроился работать в софтварную компанию, которая разрабатывает свой продукт еще с первых версий .net. Хоть сейчас и используется .net 4.5, понятное дело, что работающий старый код переписывать никто не будет, особенно без гарантий, что ничего не сломается (тут на сцену выходят unit-тесты, которые все хотели, но времени не было). Регулярно встречается макаронный код, в котором очень трудно разобраться (как вам if-ветка, в которой 50 тысяч символов?). Хочется винить других программистов, но трудно. Возможно, у них тогда не было достаточного опыта или времени, а дедлайн неумолимо приближался с каждой секундой. Времени на комментирование тоже не хватало. Опять же, разные участки кода написаны по разному, по понятным причинам. Поэтому важно уметь компилировать код в голове, и дебажить его в отладчике.
    Хотелось бы посоветовать практику, как обычно Open Source, но сам не смог найти ни одного проекта (на C#) который бы меня зацепил, и в котором хотелось бы разобраться. Поэтому посоветую писать утилиты для своих собственных нужд, пусть даже самые простые программки на десять строк кода, которые могут упросить какую-нибудь рутину. Либо, если интересно, можно писать какие-нибудь простенькие игрушки, например змейку или тетрис можно написать в консоли или в обычном приложении, не задействуя библиотек для работы с графикой. Обязательно сохраняйте свой старый код, можно хранить его в приватных репозитариях на bitbucket.org, они бесплатны для команд до пяти человек. Так вы будете видеть свой прогресс, да и забавно через полгода, взглянув на код, думать, кто же написал эту фигню. Опять же, можно будет показать работодателю на собеседовании.
    И, конечно, иногда стоит обращать свое внимание на другие языки и технологии. Пишите бэкэнд для web-приложения? Обязательно посмотрите на HTML, CSS, JavaScript. Высоконагруженный сервер? Попробуйте Go. Пишете игры? Попробуйте С++, или Lua. Если это десктоп-приложения, попробуйте написать что-нибудь для Windows 8 (Modern UI, возможно для телефона, даже если у вас такого нет), или больше внимания уделить внешности, например попробовать разные стили или анимацию для интерфейса.
    Обязательно советую знать какой-нибудь скриптовый язык программирования, вроде JavaScript, Python, Ruby, Lua и т.п. Никогда не прекращайте учиться и интересоваться происходящим в IT близкое к вашей сфере интересов.
    Ответ написан
    Комментировать