• Работа с целью получения опыта

    Всем, кому по работе не пришлось пересекаться вплотную с математикой и кому знания сортировок достаточно std: sort, срочно почувствовать себя унылым говном!

    Я со своим бакалаврским образованием и незнанием яп «пролог» вообще подумываю над тем, чтобы прыгнуть под поезд в метро =)

  • Работа с целью получения опыта

    Уважаемый автор топика, пока наши великие программисты спорят с нашими же великими учеными о ценности знания яп «пролог» и других страшных слов, предлагаю вам прочитать книги, которые действительно пригодятся при программировании на любом языке/технологии. Работу на первом курсе искать рано.
    Список книг:
    1. Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования
    2. Мартин Фаулер. Архитектура корпоративных программных приложений
    3. Мартин Фаулер. Рефакторинг. Улучшение существующего кода.
    4. Мартин Фаулер. UML. Основы. 3-е издание
    5. Джошуа Кериевски. Рефакторинг с использованием шаблонов.
    6. Крэг Ларман. Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. 3-е издание
    7. Бертран Мейер. Объектно-ориентированное конструирование программных систем.
    8. Стив Макконелл. Совершенный код
    9. Кент Бек. Экстремальное программирование
    10. Кент Бек. Разработка через тестирование
    11. Грегор Хопе. Шаблоны интеграции корпоративных приложений
    12. Роберт Мартин. Быстрая разработка программ. Принципы, примеры, практика
    13. Фредерик П.Брукс. Мифический человеко-месяц
    14. Том Демарко и Тимоти Листер. Человеческий фактор: успешные проекты и команды
    15. Eric Evans. Domain-Driven Design: Tackling Complexity in the Heart of Software
    16. Arthur J. Riel. Object-Oriented Design Heuristics
    17. Michael C. Feathers. Working Effectively with Legacy Code

    ПС. Спасибо Жене Боброву за черновик списка книг MUSTREAD

  • Санкт-Петербург

    Ну не знаю... ИМХО в Киев лучше ехать, а не в Питер. Че там в Питере делать с украинским паспортом?...
    А в Москву у меня самого идея была ехать — теперь не нарадуюсь, что решил ехать в Киев. Зарплаты практически те же самые (ну в МСК процентов на 30 выше 120круб ~ $3.5к — в Киеве специалист такого уровня найдет работу на $2.5к), а жить лучше в Киеве. Пробок почти нет, жилье дешевле значительно (для покупки), цены ниже... Киев тоже красивый город в сравнении с Питером)

    Забыл добавить — в России хохлов сейчас какбэ недолюбливают, иностранцу всегда тяжелее)

  • Сертификаты: как, где, зачем?

    Сертификация дает знания, если готовиться, а не брейндампы читать)
    Стоит 50 баксов за экзамен, в зависимости от сертификата надо 1−2 экзамена на MCTS и 2−4 экзамена на MCPD. Регистрироваться на єкзамен тут — www.register.prometric.com/Menu.asp cookie%5Ftest=1 находите там Харьков, делаете оплату с карты VISA или MasterCard. Наши хитрожопо-украинские конторы хотят на 20−50% больше денег, чем 50 долларов. Только мне не совсем понятно за что =)
    Лично у меня заняло 2−3 месяца на один экзамен. Честно говоря читать главы по несколько штук в день у меня не получалось — в голову сразу столько не лезет. Из расчета 3 главы в неделю (средний размер курса для подготовки — 20 глав) выходит около 7 недель. В общем если будете дисциплинированно готовиться — за 2 месяца можно уложиться. Реального времени — ну в каждой главе есть занятия, в занятиях указано приблизительное время. От 10 до 60 минут за занятие. Предположим в среднем 4 занятия по 30 минут на главу, итого 4×30×20 = 40 часов времени на подготовку. Только учтите что сложно воспринимать больше 2х-3х часов в день...

    Для экзаменов на MCTS есть материалы для подготовки на русском языке, для MCPD только на английском (потому что нет смысла переводить на русский, слишком мала аудитория). Есть вопросы — можно в личку

  • Переход с С++ на .NET

    2eugene_n
    Если человек пишет «Хорошо знаю C++. Юмею богатый опыт работы. »
    То вероятно это значит что он знает алгоритмы, базы данных, винапи, принципы юзабилити, тестирование, отладка и прочие навыки, необходимые девелоперу. А выучить новый язык/фреймворк — это дело пары-четверки месяцев. Только вот до работодателей почему-то это не доходит. Поетому я и предлагаю завышать свой опыт в резюме, все равно никто проверить это не сможет, задавая тупые вопросы типа «чем отличаются reference и value типы в си-шарпе? »

    Кстати, меня в кризис уволили и работу я себе нашел. Так что имею право считать себя «пуганным» =)

  • Переход с С++ на .NET

    Как тут уже подметили — лучший способ — пройти сертификацию мелкософта (начать с 70−536, 70−526). Потом прочитать msdn.microsoft.com/.../67ef8sbd.aspx потом написать в резюме «2 года опыта на дотнете» и смело идти устраиваться на позицию мидла. Если с головой впорядке, устроиться можно легко (из-за того что в большинстве контор отвратительные критерии приема на работу — такое впечатления что на работу необходимы люди, знающие мсдн наизусть). Ну, а дальше собственно и опыта наберетесь)
    Правда я делал немного не так, но теперь, когда я прошел этот путь, я советую делать именно таким образом)

    По поводу времени — 2−3 месяца на сертификацию (если почти все свое свободное время тратить именно на это), это минимум. Ну, а так я бы сказал где-то пол года надо, еще желательно написать какое-либо приложение во время обучения, требующее хотябы часов 80 работы.

  • С# инсталятор Вин сервиса

    Ребята, какие батники, какое винапи? Курите МСДН support.microsoft.com/kb/816169

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

    Мусье слышал о юнит-тестах?

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

    FYI: юнит-тест тестирует юниты (а юнит это чаще всего метод), протестировав метод нет гарантии что вся иерархия классов, или подсистема приложения работает абсолютно корректно, и уж тем более спроектирована правильно.

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

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

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

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

    Просто надо смириться с тем что вы пишите говнокод и просто стараться улучшить его качество. =) Да прибудет с вами Сила.

  • В чем преимущество и недостатки использования бренчев в системах контроля версий

    Ребята, какие транки, бранчи?...
    Это же TFS! Там есть замечательная вещь — shelve. Сохраняешь изменения в шелв, потом тебе делают ревью, гоняют тесты и т.д. Если все норм — тогда делаешь чек-ин (коммит по svn-овски).

    После TFS мне кажется что svn какая-то ущербная система контроля версий. Я даже не представляю как в svn сделать код ревью без коммита — бранчи каждый раз создавать?... Подскажите если кто знает. Предидущий проект был на TFS — текущий на svn = (

  • В чем преимущество и недостатки использования бренчев в системах контроля версий

    И плюс к предидущим советам — внедрите код ревью. Это сильно улучшит качество кода и будет способствовать обмену опытом в команде. Благо с ТФС это сделать как два пальца...

  • В якому віці має стати соромно за те, що ти — джуніор?

    2Илья Хабибрахманов

    Для ООО «Рога и копыта» мы тут все синьеры)
    Для отделения НАСА, пишущее ПО для обеспечение полетов шатлов... мы так... «принести-подай»...
    Разжевал для спорящих)
    Посмотрите luxoft.com/...ents/index.html

    Киевские программисты ничем не хуже тех, кто работает в НАСА (если вам эта формулировка режет ухо — можно сказать что насавские разработчики ничем не лучше киевских). Разрабатывают украинцы довольно большие и серьезные системы для всяких делов, дойчебанков и прочих боингов. Если ориентироваться на киевский рынок — ГЛ, ЕПАМ, Люксофт и прочие, то у всех одинаковое видение что есть джуниор, а что есть сениор. И это видение вполне адекватное. Часто люди, перерастающие сениоров идут в менеджмент, потому что выше чем сениор не прыгнешь (по уровню программирования), а денег больше хочется.

  • В якому віці має стати соромно за те, що ти — джуніор?

    Джуниор вы или нет — определяется вашей зарплатой. Если в городе, где вы работаете в вакансии пишут, что платят +/-10% вашу зарплату и называют это «senior developer» — значит вы имеете право назвать себя старшим программистом.
    Деньги — универсальное мерило.
    Если вам 40 лет и вам платят джуниорскую зарплату — значит вы неудачник. Если вам 30 лет и вам платят джуниорскую зарплату — скорее всего вы неудачник. Если вам 22−25 лет и вам платят джуниорскую зарплату — не так все плохо, но не стоит расслабляться. Если вам 18−20 лет и вам платят джуниорскую зарплату — значит вы красавец, многие люди эти деньги и в 40 не получают имея 10+ лет опыта.
    Я думаю нормальная скорость — одна стадия в 3 года. 3 года учишься (noob) -> 3 года работаешь (джуниор) -> 3 года работаешь (средний уровень) -> 3 года работаешь (старший уровень/тимлид) -> архитектор или менеджер. Итого на средний уровень надо 6−8 лет опыта (правда часто 3−4 года опыта пересекаются с обучение в универе).

    ИМХО нормальный роадмэп, если у вас стадии короче — значит вы молодец

  • Java или C#.NET

    Автор темы троль?
    Что лучше, виндовз или линукс?
    Что лучше, фар или тотал командер?
    Что лучше, мс сиквел или оракл?
    Что лучше, интел или амд?

    главное чтобы программист был хороший...

  • Что должен знать C# junior для того что бы его взяли работать программистом?

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

    Вон у Лебедева всегда одно и тоже тестовое задание «Придумать себе задание и реализовать его». Если мозгов не хватает придумать себе задание, может стоит пойти на стройку или в таксисты?...

    Если есть опыт разработки ПО (Делфи, ВБ, с/с++) то я бы посоветовал начинать с сертификации мелкософта. Там много полезной инфы для начинающего. Если опыта разработки нет — тогда надо начинать с начала... Алгоритмы, структуры данных, многопоточность, как построенна современная ОС, базы данных, сети. В общем это скорее набор для человека без ВО в ИТ... Я думаю если у человека есть диплом программиста, то он полюбому что-то должен был писать (лабы, курсовые, диплом) и можно сразу переходить к сертификации, Рихтеру. Если человек с ВО в ИТ, но никогда не писал лабы, курсовые, и вообще не программировал — ему стоит забыть про программирование и идти лучше в тестеры или системные администраторы — там тоже достаточновакансий и неплохо платят.

  • Насколько реально востребованы навыки программирования на ассемблере

    Есть ложь, есть правда, а есть статистика упоминания языков в интернете
    Но я все равно не отказываюсь от своих предидущих слов =) Время нас рассудит

    2eugene_n, lestat

    Как не смешно Антон — должен. В противном случае он делает такие ошибки, над которыми не знаешь — смеятся или плакать. То что Джава и Сишарп лишены указателей совершенно не означает, что в процессорах исчезла косвенная адресация:)
    Вот вы, вроде бы, взрослый человек, позиционируете себя как профессионала. Но вы говорите неправильные вещи. Программист не должен представлять машинный код в голове. Он должен манипулировать абстракциями. Я намного больше верю отцам программирования, написавшим талмуды, чем какому-то eugene_n (или lestat) который пытается оправдать свои знания в ассемблере и незнания (как я понял) многих основных принципов программирования. Например незнание того, что преждевременная оптимизация это плохо, думать какие компилятор сгенерит машинные коды — тоже плохо и т.д. В яве и дотнете не зря есть сборка мусора — она освобождает программиста от ненужного слежения за указателями, за бесконечной отладкой в поисках утечек памяти и т.д. Сборка мусора позволяет программисту сконцентрировать на более существенном в программировании: бизнес логике.И программист вместо того, что представлять в голове машинные коды и помнить про все указатели думает о своих абстракциях и взаимодействиях между ними.
    Если вы откроете глаза, то вы увидите, что подавляющее большенство софта — это софт для бизнеса, а не драйвера и операционные системы. А для софта для бизнесса наиболее сильные связки это Java+Oracle и.NET+MSSQL. Софт для софта — явление редкое. Я думаю, что если бы менеджер какого-нить ЕПАМа или ГЛ или другой большой конторы сюда заглянул, он бы вам пояснил, как сильно в их проектах нужен асм.

    Вообще тема сливается в холивар. Автор поставил конкретный вопрос — я ему даю конкретный ответ. В нашей стране ассемблер не нужен. Доказательство — полное отсутствие вакансий, в которых бы были требования типа «5 лет опыта x86/SSE3/MMX/AMD64, год опыта SSE5, умение транслировать листинг в машинные коды на лету, зарплата $2500+».

  • Насколько реально востребованы навыки программирования на ассемблере

    Ну вы еще холивар тут начните: С\С++ против альтернативных языков программирования. Просто человек, которому я написал ответ, искренне считает что программист во время написания кода должен чуть ли не машинный код в голове представлять) Когда-то писали на Cobol, Fortran, Pascal... и где они сейчас?... Ну это все оффтоп

    Спрашивали про ассемблер — ответ думаю в этом топике уже есть и довольно развернутый... Как видите, в нашей стране ассемблер нужен в виде бонуса к знанию С\С++, но не более.

  • Насколько реально востребованы навыки программирования на ассемблере

    2lestat
    Вы неправы, программист не должен: «Программист всегда должен думать о том, что красивая запись, красивый и внешне понятный код на C/C++ может вылиться в тонну лишних строчек ассемблера при компилировании».
    Почитайте на досуге www.rsdn.ru/...ptimization.xml

    А по поводу С\С++ — переходите на шарп или жаву, С вообще мертв, а плюсы скоро умрут... ИМХО

  • Насколько реально востребованы навыки программирования на ассемблере

    2billneutron
    Используется в основном x86 ассемблер, который еще с процессорами 80386 появился, остальные почти не востребованны. Всякие там ТриДэНау и SSE5 — вы под них врядли сможете эффективно программировать, вы хотя бы посмотрите количество команд в них...
    «Есть еще одно направление, где без ассемблера очень трудно обойтись. Это использование новых инструкций последних моделей микропроцессоров, всяких там 3DNow10, Ulta MMX, HiperSSE5 и т.д. Ведь не секрет, что компиляторы с высокоуровневых языков обычно включают поддержку новых инструкций с существенной задержкой во времени, кроме того, реализация поддержки этих новых инструкций зачастую заставляет желать лучшего.»
    Тут Вы ошибаетесь. Во-первых, количество компьютеров с SSE5 ничтожно мало по отношению к общему количеству компьютеров, во-вторых, тот же интел, насколько мне известно, одновременно с процессором выпускает компилятор под него для языков (C++ и Fortran точно) www.intel.com/...lers/284132.htm

    Ассемблер является необходимым профессиональному девелоперу, но не достаточным языком для успешной работы. Скорее всего востребован специфический ассемблер для какихнить контроллеров, но для x86-x64 процессоров писать программы на асме — это все равно что стоить небоскреб без подъемных кранов и прочей техники.

← Сtrl 1... 345678 Ctrl →