Pull to refresh

Comments 311

> попробуйте Eclipse, NetBeans, Emacs, XCode,

похоже на скрытую рекламу подешевевшей оперативки

купите 8 ГБ памяти (лучше сразу 16 конечно) и запустите какой-нибудь из этих неповоротливых JAVA-комбайнов (Emacs — комбайн и без явы, или она там тоже уже есть?)
Я на MacOs в XCode писал приложение под iOs. Вы не поверите, у меня ни одного дня не было МакЖелезки. Виртуализация рулит.
Да я и не спорю. Просто сейчас, чтобы программировать под Windows Phone не нужно ни физической машины с Windows, ни самого телефона с Windows Phone. Чтобы программировать под Android телефон тоже не нужен. Да, когда есть физическая железка, это существенно процесс упрощает. Но не более того.
Да, но лучше, чтобы она была, ведь иногда ни симулятор, ни эмулятор не могут совершить какие-то процессы, присущие устройствам
чтобы просто программировать в локал бранч — железка не нужна, охотно соглашусь. Но только не пытайтесь эти поделия потом релизить в паблик — огребете от юзеров.
Зато симулятор под маком под известным причинам летает, в отличие от оного на андроиде. Да и серьёзным компаниям ничего не стоит обеспечить персонал оборудованием, на котором писать программы — по сравнению с профитом это ничего не стоит.
она то рулит и бибикает, это бесспорно. Железо для такой нормальной виртуализации надо не на меньшие деньги, чем самый дешевый макМини. Так же остается вопрос с легальностью такого пути.
Не сказал бы, что были жестокие требования по железу. Правда это больше года назад было, но на физическом компе где все это крутилось было всего 8Гб оперативной памяти.
Алексей, есть вопрос «в личку» как раз про ваш setup — MacOS, Xcode на виртуалке.
Куда написать?
(Заранее благодарю)
Предложите свои варианты! И да, 4 Гб вполне хватает для Netbeans с php проектом.
4Гб — уже практически стандарт. Новые ноутбуки идут именно в такой поставке. 40-50$ за 8 гигов оперативки — не так уж и много.
По-моему не слишком нормально если для среды разработки на php (не на какой-нибудь мегатяжеловесной java или C# со всем дотнетом иже, а на php!) 4 гигабайта оперативки считается «вполне хватит вариантом». Пять лет назад IDE же как-то работали, нет?
Если мощности есть — их нужно утилизировать. Насколько вам было удобно работать в IDE 5 лет назад? Лично мне без решарпера очень неуютно…
Ну нетбинс, собственно, на пхп и не сконцентрирован.
UFO just landed and posted this here
Когда только появились 386-е процы с 32-режимом, начальник сказал: «памяти много» — в смысле, можно разрабатывать проект, не экономя адресное пространство. Спустя 15 лет стало понятно, что памяти много не бывает. И объем диска не безграничен. И скорость процессора, в сущности, невелика. Так что приходится тратить время и на эффективные алгоритмы, и на экономию памяти… и при этом писать в требованиях «рекомендуется 64-битная система, 8-ядерный процессор и 32 ГБ RAM».
UFO just landed and posted this here
Про полгода не знаю. У меня обычный срок для замены материнки и процессора — 2 года (почти ровно). И с каждым разом выигрыш от такой замены ощущается все меньше и меньше. В последний раз — всего 10% по тактовой частоте (с 3400 поднялась до 3800) — куда это годится?
А то, что алгоритм завтра будет работать в 2 раза быстрее — на это можно себе сказать, что завтра будет нужно, чтобы он работал быстрее в 5 раз (иначе его не купят). И придется садиться и оптимизировать.
UFO just landed and posted this here
Вы меряете производительность мегагерцами процессора?
Главным образом, ощущением комфортности от работы.
Слишком часто меняете может быть?
Я вот например не вижу смысла менять i5 с материнкой, купленный 2.5 года назад. Видео вот поменял под игрулечки, памяти докупил (было 4 гб, стало 8) под свою привычку не закрывать окна когда от 1 задачи к другой перехожу — и всё ок. Еще поменять велоцераптора на SSD и можно будет еще год-два использовать, максимум что понадобится — память докупить.
Может быть. На этот раз восьмиядерник понадобился для экспериментов при разработке. Я вообще думал, что эра десктопов кончилась и ноутбуки займут их место — но не тут-то было.
Для большинства рабочих задач хватит и мощности ноута хорошего.
Хотя я уже привык к десктопу с 2 хорошими экранами, тяжело будет переходить
У меня на работе ноут плюс внешний монитор. Дома ноут и валяюсь на диване, работаю в студии…
2 внешних монитора всё же приятней чем 1 + ноутный.
Ну если ноутный — сенсорный… )))
За все время сенсорный экран ни разу не пригодился. Мышкой удобнее, чем пальцем или перышком возить. Думал, в метро буду на нем книжки читать или кубики вертеть, но не сложилось.
Тогда еще можно подумать конечно, но всё равно я бы его юзал только как 3-й)
Понятное дело, что разрабатывать на php можно и с помощью той же Geany. Но куда приятней, когда у тебя есть отладчик, подсказки, предупреждения во время редактирования, документация прямо в коде и т.д. Я бы рад что-то полегче использовать, но не нашёл таких. Ну а 4 гигабайта оперативки… стоит дёшево, а нервы бережёт. А если учесть, что я частенько запускают виртуальные машины, то оперативка никогда лишней не будет.
UFO just landed and posted this here
Для разработки хватит, но для комфортной может и нет — те же браузеры жрут память не дай бог…
Надо писать с прицелом на минимальные требования, но разрабатывать комфортнее всё же на хорошей машине.
UFO just landed and posted this here
Взять комфортное для разработки (IDE, браузеры и т. п.) количество мозгов и добавить «минимальное» (за вычетом ОС). То есть чтобы после загрузки средств разработки оставалось свободным столько сколько остаётся свободным на минимальной конфигурации после загрузки ОС.
Имея на борту 256 оперативки можно кодить разве что в Notepad++ или Vim.
Нынешние IDE дико требовательны к памяти.
Чтобы начать программировать нужно купить новый ноут. Тысяч за 30 не меньше. И конечно же с дискретным 3D ускорителем (вдруг CUDA-нибудь потняет). И Чтоб проц как минимум i5i7 конечно же SandyBridge, остальное — тухлое старьё. Так что лучше полтос сразу на ноут выделить, да.
</sarcasm>
Вас послушать так начинающие программисты — не голодные студенты и школьники с карманными 500рублями а неплохо так зарабатывающие ребята (тогда зачем им программирование?)
Родной, расслабьтесь :)

Программирование за деньги и тренировка головного мозга — разные дисциплины. Второе можно делать и без специализированного тренажёрного зала. Гантельками с двухядерными феномами. Или вообще ардуиной.
Это же советы начинающим, какие тут могут быть деньги, родной :)
*грустно выдыхая*

я это… я в детстве забивал на всё и подрабатывал, чтоб тридцатипиновые симки поменять на семидесятидвухпиновые или в эс-три-трио-тридэ докупить ещё эфпиэмки.

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

да.
… и заработали язву. Стоило оно того?
Да, мне тоже всё это вспомнилось. И свой первый комп, который из магазина по-хорошему можно было выкинуть на помойку. Но это были 90е.
Сейчас не стоит жертвовать здоровьем и вкусным сбалансированным питанием в большом М ради сомнительного счастья писать в Эклипсе. Есть же ряд отличных языков и IDE, которые будут работать на любом нетбуке.
Я в качестве первого компа купил, кажется, пентиум-5 аж с 64 МБ оперативки! И сменным HDD на 512 МБ. И, что характерно, все крупные апгрейды с тех пор (с заменой материнской платы и всеми вытекающими) обходились примерно в одну и ту же цену — 2 килобакса.
Простите за офтопик, но, может быть, AMD K-5?
Во, именно его. 95-й год был. Или 94-й.
Или все-таки, нет. AMD K-5 был на втором комплекте, и с тех пор я с AMD уже не уходил. А первым был какой-то пентиум. Может быть, 4…
Нет, просто пентиум. Их тогда еще ни у кого не было. Так что это было хорошее вложение денег :D
Что-то вы путаетесь в показаниях :) Просто «пентиум» значит купили но с АМД уже не слазили? А К5 вышел в 96 году вообще.
Все правильно. Я же написал — «AMD K-5 был на втором комплекте». Может быть, и в 96-м или чуть позже.
UFO just landed and posted this here
у меня был 75 разогнанный до 95 :)
16 метров памяти, 1,2 винт и никаких сдром.
да, еще gvc 9400v32bis fax modem и видеокарта s3 trio 32/64v+ pciс кажется 2 метрами памяти…
эх… ностальгия…
Какой нафиг четвёртый, четвёртый году в 2001-м вышел и был за гигагерц. Обычный первый пень у вас был, максимум Pro 200Mx
Скорее, 166. Если такой был
Вообще был. Но в 95-м году — вряд ли.
Анонсирован 4 января 1996. В 95-м максимум 133 был и то, топовый со всеми вытекающими.
А как насчет P166 overclocked? К концу 95-го вполне мог до нас добраться. Жаль, никакой информации о том блоке у меня не сохранилось. Самому стало интересно.
Вспомнила бабка, как девкой была :)

Я всегда жмотил много денег на домашний комп, поэтому последний апгрейд у меня влез в 8000р. PhenomIIX6 8Gb + мать. Остальное по сусекам собрал. Тихо, недорого. Если надо и Эклипс работает, и Qt недолго пересобрать, а на хабре флудить так вообще перебор явный.

А на работе так вообще все больше в экселе да в почте. Да с маркером у доски. Мощный комп пусть в серверной гудит.
Всё один в один.

Единственный пункт, который не подлежит «неразумной» экономии — мониторы. Они должны быть лучшими без оговорок.
Тут подпишусь. Подыскиваю как раз новый монитор, FullHD как-то не стало хватать.
Так ведь к новому монитору потребуется новый компьютерный стол. А к нему придется искать новую квартиру, с отдельным кабинетом. Может не окупиться выигрышем в производительности :(
… а в новую квартиру нужна новая жена и новые дети? Эт вы лихо хватили :) Поместится на старом столе
У кого как. У меня сейчас запас места для монитора — около 3 мм (по ширине ниши, в которой он стоит). Так что если захочу его увеличить… то можно и о новой стране для новой квартиры подумать :)
Первый мой комп был пень 3, на 450 MHz, 128 оперативки и HDD на 20 гиг, год наверное 98. До этого работал на 133, 166 и 233 MHz. Сорри за офтоп, вспомнил молодость и бессонные ночи в диабло)
UFO just landed and posted this here
UFO just landed and posted this here
Действительно роскошь. Как говорил дядюшка Билл, «640 Кб будет достаточно для всех» :)
Эх, спектрум… Basic и TR-DOS — это как первый секс)
КР580ВМ80А (как и оригинал i8080) могли адресовать только 64КБ (без «извратов» аналогичных EMS). Искра 1031 была на КР1810ВМ86 (аналог i8086).
UFO just landed and posted this here
64 МБ оперативки в 95-м году? Извините, но 8МБ в то время стоили штуку-полторы. Баксов. И что за мать такая, которая для АМД К-5 в 95-м году поддерживала 64 МБ?
Сомневаюсь. У меня сохранилась картинка с прайсом за 1992 г, так там системный блок с 4МБ (386-й) стоит примерно $1000. За три года параметры выросли существенно. И К-5 был не в 95-м, а позже (года через 2-3, для соблюдения равномерности). А при мать ничего не скажу.
Но ведь не 16 МБ там было…
16Мб для Windows95 было более чем достаточно. А минимальное как раз было «4МБ (386-й)»
У меня тогда задачки были толстые. Всякие базисы Гребнера и алгебраические числа на C++.
В моём первом компе было 8 мегабайт. Это был ноябрь 95-го года. Это было очень круто. Винда 3.1 на них просто летала. А 95-я винда вполне уверенно на них работала.
машинка с 64 метрами оперативы стоила бы порядка $10K. Вырезка из рекламы тех годов.

books.google.com.ua/books?id=nDgEAAAAMBAJ&lpg=PA30&dq=pc%20magazine%201994&hl=ru&pg=PA29#v=onepage&q=pc%20magazine%201994&f=false

PS. А еще я помню первый номер PC Magazine на русском языке — там была врезка рекламы IBM Workstation на 486SX/DX. Стоили машинки — $14K и $16K за топовую версию.
Что-то загнули, по-моему. 4Мб SIMM стоила долларов 200, емнип. 8 МБ — 600-700.
Да, согласен. Я имел в виду — комп с восемью мегабайтами памяти на борту, стоил штуку-полторы. Но 64 мегабайта в то время — это очень крутой сервер, а не «первый компьютер».
*махнул рукой*

Так оно всё, конечно. Но это как-то… скучно.
Я писал про память — не про процессор. И да, не обязательно программировать на ноутбуке, я их лишь в пример привел, ибо системники каждый собирает на свой вкус и цвет.
Сейчас вполне реально купить нет- или ноутбук за 300$ с 4 гигами оперативки и нормальным процессором.
Вот у меня сейчас 8гиг оперативки и 6-головый Феном. Но все равно клипса подтормаживает.
Не знаю, что вы со своими ИДЕ делаете, у меня и нетбинс, и клипса работают без тормозов с моими 2 гигами оперативы.
Может дело в моей Убунте?
У меня тоже Убунту + Вин7 на другой машине. На обеих по 2 гига оперативы. Полет во всех IDE + в Emacs и Gedit нормальный.
Да уж, действительно заелись.
у меня вот на домашней машине (C2D/2Gb RAM + 64Gb SSD + 1Tb винт) 2008R2 + Team Foundation Server beta 11, девушка — контент менеджер с GIMP и гугль хромом на в среднем до 2х сотен вкладок.
плюс мой домашний хлам по рдп запущен — аська, скайп, аутлук, что-то там еще по мелочи.
после установки SSD не первой свежести никаких проблем с тормозами.
а бета 11 студии вообще запущена на ноутбуке. Тоже, в общем, никаких проблем с тормозами.
У меня на ноуте 2 гига оперативы и хром там тормозит хуже чем эклипс. :)
на ссд перейдите. тогда к свопу будет быстре достучаться
Легче табы закрыть :)
Я обычно, когда чувствую «своп пошёл», закрываю половину вкладок — освобождаю где-то гиг, рестартую — ещё один. Раз в сутки-двое приходится.
На десктопе свопа не чувствую — SSD. К хрому даже блокировка плагинов не прикручена.
а на ноуте — да…
Хм… Надо задуматься о возможности купить вместо добивания мозгов.
надо не думать — а делать :)
но брать что-то я вно больше 64 GB — 208r2+office+tfs 11 beta плюс обновления — половина ssd занята
Сейчас я думаю о покупке 16Гб с ближайшей зарплаты. И пока всё кроме /home/ на Ubuntu 12.04 где-то в 20 Гб влезает.
Мало. нету смысла. где вы вообще такое нашли?
и какого года выпуска.
сейчас вон минимум 64, у меня модель пару лет назад…
В смысле оперативки 16 ГБ купить :) За эти деньги (<5к рублей) SSD на 64 Гб можно купить на выбор или один (без вариантов) на 128.
не знаю. система все равно будет свопиться.
а так — любое чтение данным почти с нулевым временем, без раскрутки блинов и позиционирования головок.
Хром такой хром. даже закрытые табы не всегда освобождают память.
Напоминает «мыши плакали, кололись, но продолжали грызть кактус».
Мне 3 Гб хаватает для рабочего места.
Перманентно запущены JBoss, IDEA, Opera, Firefox (оба браузера с порядка 20 вкладок), PL/SQL Developer, Excel, Lingvo, Thunderbird. И, как обычно, всегда еще несколько мелочей типа аськи и т.д.
Совершенно согласен, моей машине и мне 4 Гб для Eclipse вполне хватает
Почти год активно использовал Netbeans на Macbook Air Late 2010 cо смехотворными на сегодняшний день 2Гб оперативки. Могу сказать, что дискомфорта не ощущал.
Оператива уже дешевая, можно начинать пользоваться ИДЕ на джаве :)
они тоже знают об этом и уже готовятся к выпуску новой версии — ещё более прожорливой.

З.Ы. за «ИДЕ», «ПХП» и «Виндуус» бил бы по пальцам молотком

З.З.Ы. за СЕО — кувалдой
Доктор, у меня трудности с произношением?)
чего айдии?
не знаю
смотри Lynda.com — там вылечат
Похоже на неумелый троллинг.
Просто я был в ситуации выбора новых программистких рабочих машин.

Я довольно лениво говорил собственному начальнику, что памяти нужно бы 4 ГБ, он утверждал, что «и двух вполне достаточно».

А потом, после приобретения я видел вытянувшееся лицо программера и его скучающий вид после запуска какого-нибудь NetBeans с плагинами :-o

и понимал, что 8 — было «в притирку»
А у нас целый отдел на Целеронах D с гигом оперативы программит. На Delphi правда. Она на таком хламе просто летает.
Зачем вы работаете в такое нищей конторе?!..
На мой взгляд сегодня девелоперские системники должны нести на борту 16гб оперативы (учитывая ее стоимость) в идеале или 8 минимум, чтобы не думать об этом еще хотя бы года 2.
я работаю?
где написано что я работаю? это вы выдумали

и это ещё была не самая нищая контора, в которой я работал

я живу в заМКАДье, это правда, но что же мне, не рождаться чтоли было?

ситуация примерно 2009..2010 гг описана, тогда оператива была заметно дороже
Вы в курсе, что время работы программиста гораздо дороже железа? И если какой то IDE написаный на Вижуал Коболе, который будет жрать 32 гигабайта, сэкономит хоть 10% времени написание и отладки кода, то надо срочно покупать память и ставить этот IDE.

Или Вы предпочитаете писать на ассемблере в vi?
я в заМКАДье
у нас все эти JAVA-монстры — скорее дань моде, пишут всё равно на Дельфях
Уж слишком толстый вброс. Не позорьте замкадье.
ну по крайней мере 2..3 года назад так было

время работы програмиздов только оффшоры всякие ценят, для местных компьютерные мальчики — это несерьёзные низкооплачиваемые кадры, на которых можно ездить
Позиция эникейщика (те самые «компьютерные мальчики») и позиция программиста имеют мало общего.
ты мне это объясняешь?!

я лучше тебя знаю как должно быть в идеале — читаю много книжек,

но в реальности «компьютерных мальчиков» посылают мебель разгружать, вместо того, чтобы нанять на 300 руб./час грузчиков
Когда в банке работал, так нас деньги грузить посылали :)
Ну зачем же так толсто-то?
чтобы не расслаблялись

а то как первый миллион и спортивный автомобиль в 20 лет — это они запросто, а как надо «побыть мужчиной» — просверлить или прикрутить что-нибудь (кроме конфигов) дома — идите и наймите кого-нибудь другого

наша директор мальчишек-неносильщиков воспринимала как неполноценных
Вы даже не представляете в каком я замкадье.
Не знаю дельфи и не могу сравнивать с ним, но идея остаётся той же, вне зависимости от языка и платформы — железо — дешевле времени программиста
Ну и что? Еще раз — дело в выгоде. Хорошая среда, в который программистам удобно работать стОит этих денег, которых вы отдали за память. Эти деньги окупятся.
Извините, еще 8Гб мне уже не влезет

Core Duo, 2 Гб оперативки, Ubuntu 10.04, Eclipse 3.7.2, PDT + ErlIde + etc
Всё летает.

Что я делаю не так?
16 Гб оперативки на ноутбуке=)

1) Память идет на виртуализацию
2) Редактирование лёгкой графики 18000 x 9000 немножко потребление растет=)

Среды xCode, Eclipse — это как бы не основной потребитель памяти. при желании
можно программировать даже в VIM имея удобный конфиг.

amix.dk/blog/post/19486#The-ultimate-Vim-configuration-vimrc
По поводу Юникса очень хорошая книжка
www.amazon.com/Power-Tools-Third-Shelley-Powers/dp/0596003307

Ознакомится с Виртуализацией VirtualBOX, VmWare там можно пробывать тот же линукс.

Постараться избегать «Колёс» и внимательно тестировать библиотеки перед использованием, например как держать кириллицу и так далее.

Отдельно посвятить время TDD, и понять когда необходимо использовать Unit тестирование.
Тестирование — важный момент разработки, убедится что в будущем код можно менять не волнуясь, что потеряется часть функционала (она проверяется тестами)…

UFO just landed and posted this here
Людям которые не могут инвестировать $100 в инструменты нечего делать в индустрии. Это как механик, который жмется покупать гаечные ключи и все хочет крутить плоскогубцами.
В какой такой индустрии, простите?
Я бы дополнил список IDE вот так:
Qt Creator, CodeBlocks IDE, KDevelop, CodeLite — это для C++.
Почему-то MS xx Studio Express незаслуженно забыли для .Net языков. не считая уже C#Develop и Mono.
У меня всегда возникает один и тот же вопрос.

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

Или, вы рабочий код выкладываете на GitHub?
Вообще это, конечно, не нормально. Но практика показывает, что так просто есть. Не у всех, безусловно, но у очень многих.
Почему нет? В смысле почему не заниматься своим проектом в свободное время?
Можно, конечно, и заниматься, просто лично я не представляю, кем надо быть, чтобы программировать 24 часа в сутки.

У меня подобный пыл охладел уже на второй год работы.
Да ладно, вон у Вас полтора десятка постов на Хабре — причём весьма неглупых, технических постов. Вы ведь нашли время их написать?
Я их в рабочее время писал, благо мой работодатель понимает всю несомненную пользу от такого рода мероприятий.

Дома я уже давно не могу себя заставить ничего написать.
Вот та же проблема =( А раньше, бывало, с работы пришёл и до утра проектируешь — кодишь — перепроектируешь — «оу, на работу пора».
Думаю, это завязано на возраст и семейное положение.
Я думаю это скорее связано с организацией работы в большей мере. Закончил ВУЗ в том году, сейчас 7 месяцев проработал программистом, свой маленький, но гордый, проект на CodePlex становится все тяжелее поддерживать. И дело даже не в том, что пропал интерес, а в том, что приходя домой я уже настолько измотан своей офисной работой, что писать более-менее вменяемый код по вечерам уже не то чтобы невозможно, но тяжело просто физически. У меня это связано в большой степени с особенностями работы в интеграторе над 3мя проектами одновременно. В принципе знаю людей у которых время на свои проекты есть даже на работе т.к. разработка организованна совершенно по другому.
Может пора поменять работу?
я на работе администрирую, дома для души изучаю C#
Да нормально всё, просто надо менять вид деятельности. Если на работе пишете код — не стоит его писать дома, вредно для здоровья. Лучше займитесь спортом. На крайняк порисуйте в фотошопе. Но менять деятельность надо.
Читать код и писать код за смену деятельности сойдёт?

А вообще совет из капитанских, но из тех капитанских, которым очень сложно последовать в жизни.
«Лучшее» не означает «единственное».
Если у программиста есть проекты на GitHub, то это только в плюс. Если таковых нет, то работу программистом все равно найти можно.
А вот только в плюс ли? Я слышал прямо противоположное мнение на этот счет.
UFO just landed and posted this here
Нет, дело не в программировании, а в организации рабочего процесса.

Есть мнение, что активное участие в жизни опен-сорц сообщества мешает сосредоточиться на рабочих обязанностях.
Просто оно должно быть в меру активным. Написать на выходных небольшой плагин, за который вам будут ещё лет пять благодарны, — это хорошо и будет плюсом. А вот если вы по восемь часов в сутки коммитите в Linux Kernel, то это уже точно перебор.
Работодателю на самом деле не нужен клевый парень Вася, который после работы идёт в бар а по выходным гоняет на сноуборде. Они только рады взять нерда, который будет жить на работе и потом еще в редкие визиты домой что-то дописывать по рабочим задачам.
Странно, почему я не раз и не два видел таких клёвых парней Вась на не последних, а иногда и первых должностях?

Наверное, потому что работодателю на то, нерд он или клёвый парень, по большому счёту всё-таки по фигу, главное, чтоб работал хорошо. А делать, из того, что кто-то нерд или нет, вывод о том, насколько хорошо он будет работать — ну слишком уж натянуто.
Мой рабочий код есть на гит хабе. Собственно проект с открытым исходным кодом.
Но я все равно не вижу смысла в том, чтобы к резюме прилагать свои исходники или ссылки на них… может быть для вчерашнего студента это актуально — показать, что он не говнокодит, но специалист со стажем должен и так все понимать. А если он все же специалист и говнокодер — либо увольнять, либо переучивать. В конце-концов прогеры постоянно учатся. Почему бы не научиться и этому?
Все сильно зависит от среды. 90% программистов работают в корпоративной среде над огромными, и для рядового работника скучными проектами. В таких компаниях участие в мелких опен сорс проектах мало о чем говорит. После работы над системой в миллион строк кода «домашний» проект может выглядеть как детский сад.

Портфолио на GitHub уместно, если послужной список очень короткий и нет других достижений, которыми можно было бы похвастаться. Сложно представить человека с женой и детьми, который бы после работы опять программировал. Другое дело если компания поощряет участие в опен сорс проектах.
После работы над системой в миллион строк кода «домашний» проект может выглядеть как детский сад.

А может выглядеть как алмаз чистой воды по сравнению с огромной навозной кучей. И служить мотивом для постепенной кристаллизации этой кучи во что-нибудь более красивое.
Согласен. Но времени, увы, очень мало.
Есть и другие интересные вещи в жизни, помимо программирования.
У меня двое маленьких детей, но я все таки стараюсь находить время программировать и дома. Это позволяет мне развивать те аспекты, которые плохо задействованы на работе (увы но почти любая работа несколько однобока).
Да, я пока ничего не выкладывал на GitHub, просто потому что это больше тренировка, чем серьезная задача, но мне есть что показать работодателю.
Если программист будет заниматься программированием исключительно на работе, он перестанет развиваться. Круг рабочих задач всё же фиксирован.

P.S. Миллион — не так уж и много.
Работодатель, которому нужно развитие сотрудников, позаботится об этом так или иначе. Если работодателю это не нужно, то стоит задуматься сотрудникам.
Изучение английского оплатит. Пошлёт на курсы повышения, не вопрос.
Но курсы будут по технологиям, применяем в работе/планируемым к внедрению.
Если вы, условно, разрабатываете бухгалтерскую систему на 1С, на семинар по распознанию визуальных образов вас вряд ли направят. Даже если это вам интересно.
Это естественно. Но развитие будет, вектор его только будет направлен не туда, куда хочется работнику, а туда, куда нужно работодателю. С другой стороны — опять звоночек работнику. Если он хочет профессионально заниматься распознаванием образов, то работу он не ту выбрал.

Если же это хобби, то это хобби. С таким же успехом можно марки собирать или девайсы паять. Развитие? Несомненно. Профессиональное? Нет, хотя может им стать, если сменить работу. Просто работа по разработке на 1С ближе к хобби по разработке систем распознавания образов.
Так и делаю, только не выкладываю на гитхаб
Из-за всяких товарищей, которые выше нудят про оперативку, позвольте добавить ещё один совет.

«Никогда не экономьте на инструментах.»
Он в тексте, конечно, и так есть, но не в экономически-завершённой форме :)
нудят?

нудить я босюсь, мифическое макжелезо упоминали уже — скажу хоть слово против — макдакдрочеры заминусуют
Ну, начинаете очередной бессмысленный холивор.

Маки — они такие, какие они есть. И разглагольствовать по этому поводу бессмысленно.

Хочется потратить деньги более продуктивно — можно купить железо согласно своему вкусу. Хочется получить билет в клуб и не думать о том, как собрать систему попроизводительней — можно купить мак.

И уж тем более, не надо опускаться до аргументации на лор-уровне в розжыге про программные инструменты.

В конце концов, в ваши интимные сферы со своей туалетной бумагой никто же не лезет, правильно?
я бы написал что думаю про ваш «клуб», но слово «педик» недостаточно экспрессивно, а на мат у НЛО какая-то обострённо-болезненная реакция
Родной, я подтираюсь финкпадами и пингвинами. Зайдите в соседнюю дверь :)
ну да, а Интернет в ваши квартиры провайдерами заводится сразу по воздуху

про телевизор с 2..3 разъёмами MiniDisplayPort скажу только ГыГыГы
Совет хороший, но опасный. Есть риск для разработчика забыть, что не у всех пользователей 8-ядерные процессоры и по 16-48 ГБ оперативки. И что некоторые даже поленились поставить себе SSD. А потом будет удивляться — чего это они ворчат, что программа тормозит.
Ничего плохого в этом нет, главное не забыть про профилирование перед внедрением.
Не перед внедрением, а регулярно, черт возьми! Иначе внедрения может просто не быть.
Но не сильно часто.
Обычно это имеется смысл при изменении планов SQL-запросов по большим таблицам (потенциально партицируемым).
В теории это тестирование должно быть автоматизировано и регулярно выполняться на машинах с целевой конфигурацией. Особенно актуально для всяческих embedded-решений
И что некоторые даже поленились поставить себе SSD

Некоторые? Вы уверены в том, что их меньшинство? Также как и уверены в том, что всем оно надо?
«Некоторые» — значит, «хотя бы один». Меньшинством им быть не обязательно. Дамаю, что оно надо всем. Просто некоторые еще не осознают, что жизнь коротка…
Дамаю, что оно надо всем.

Можно увидеть причины необходимости SSD для обычного пользователя?
Можно. Покупка SSD -> дополнительные инвестиции в эту индустрию -> возможность более быстрого прогресса в области этих технологий -> польза для всех вообще. Может быть, еще успеем сами пожить в SS-субстрате.
Покупка SSD -> дополнительные инвестиции в эту индустрию

Это не
причины необходимости SSD для обычного пользователя
Разумеется. Это только начало цепочки.
Т.е. вы предлагаете такой примерно диалог:
Продавец: Купите SSD!
Потенциальный покупатель: Зачем он мне, что он дает? Да еще и по такой цене?
Продавец: Нам очень нужны ваши деньги, поэтому просто купите его.

?
Я не предлагаю. Необходимости, по большому счету, нет ни у кого ни в чем — достаточно веревки и мыла. А как, какими средствами и в какой перспективе делать жизнь (в том числе и свою) лучше, каждый решает сам.
Мне не кажется, что чтобы сделать жизнь лучше, нужно слепо нести кому-то деньги, не задумываясь «зачем», «почему» и «что же это мне в перспективе даст». А по вашим словам именно так и выходит, и притом вы думаете, что так нужно делать всем. Забавно.
Более дешевая и эффективная электроника. Конечно, это нужно не всем, но для использования SSD перво-наперво необходим компьютер. Тем, у кого его нет, я покупать SSD не предлагаю.
Почему именно в эту область инвестировать? Если судить по вашим меркам, то перед потребителем стоит выбор куда инвестировать. Почему именно сюда?

Не говоря о том, что обычно потребитель удовлетворяет свои потребности.
Не спорю. «Почему именно сюда или туда?» — действительно, каждый решает сам.
Что самое смешное, мы легко можем сделать, чтобы покупка SSD была нужна пользователям. Достаточно, чтобы программы поактивнее общались с дисками. Но нужно ли это нам?
Как раз ваш совет самый опасный и так мыслит не один менеджер. Потеря производительности труда от плохого железа огромна, не говоря уже о том, что хорошие люди от вас просто уйдут. Тестировать производительность нужно на отдельном железе, да и виртуальную машину запустить не представляет никакой сложности в наше время.

Вы бы еще предложили людям портить зрение, чтобы они лучше писали программы для людей с ограниченным зрением.
Надо только придумать, как бы получить комиссионные от производителей железа, которое людям придется покупать, чтобы моя программа работала. И, конечно, все зависит от круга пользователей. Но, в целом, я согласен. Правда, если потенциальный клиент — большая неповоротливая компания, в которой установка 64-битной системы на производственный комп — задача, близкая к нереальной, то надо дважды подумать, прежде, чем пытаться продать им программу, требующую 64-битного адресного пространства. А жаль.
Вроде год назад был похожий пост
Visual Studio Express 2010 for Windows Phone бесплатная вроде, да ещё и книжек целую стопку дают в придачу нахаляву, но никому его не нать и задаром
тем, кто сейчас учится в университете и планирует стать разработчиком ПО.
Для студентов VS бесплатна.
Научитесь пользоваться отладчиком

Прошел бы мимо, если бы не «критично». Нужно понимать как отлаживать код и уметь это делать. А вот само наличие какого-то конкретного отладчика и 8-й дан по его использованию — вторичны. Хорошо когда окружение дружественно, но если из знаний об отладке софта — только опыт использования чего-либо гуевого встроенного в IDE, многие интересные области окажутся закрытыми.

Познакомьтесь с шаблонами (паттернами) проектирования

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

Познакомьтесь с методологиями разработки

Кругозор — это очень хорошо. Изучение чужого удачног опыта — более чем похвально. Только вот почему-то хуже слабеньких лидов… ну вы поняли.
Есть мнение, что паттерны сами по себе это анти-паттерн :-)
В каком-то смысле, но не хочу быть неправильно истолкованным. Я считаю, что шаблоны — это хорошо (касается и design patterns, и development methodology, и подалуй даже процессов в команде). Это как повторное использование функций (т.е. удачных решений), но на ином уровне абстракции. Только чтобы по-нормальному думать такими категориями нужно сначала половину паттернов GoF (или любых других) самому изобрести и осознать.

А зло — это подход, предлагаемый автором:
Здесь вы не отвертитесь и применить хотя бы пару основных паттернов где-нибудь просто обязаны

По моим наблюдениям беды начинаются именно когда разработчик начинает думать: «Так, я же профессиноал, я знаю паттерны. Задача ясна, какой бы шаблон сюда прикрутить?..»
Речь идет о том, чтобы ИЗУЧИТЬ их на собственном примере, а не использовать обязательно везде и всегда.
Наверное сумбурно излагаю :)
Искренне верю, что «изучать паттерны» до того как «изобрел паттерны сам» — зло.

В самом деле, как начинающий программист должен понять, что не надо тыкать паттерны повсюду? Он еще не дошел свои умом, что некоторые концепции в дизайне его классов являются повторно используемыми, а его уже загоняют в рамки каких-то шаблонов, причем все чаще в формулироваке: «Это же сами GoF, каждый уважающий специалист должен знать на зубок!». Чего стоит один тот факт, что погонять по паттернам — излюбленный прием на собесдованиях.
Глубоко разделяю Ваше мнение. Начинающий программист перегруженный знаниями о паттернах начинает решать задачу не от постановки а от инструментов(паттернов). В итоге, в лучшем случае, получается кое-как реализованный паттерн, притянутый за уши к задаче, но не решающий её или решающий частично.
В худшем случае новичок просто виснет в собственных нагромождениях классов не решив задачу вообще.
UFO just landed and posted this here
Сразу вспомнилось, как когда-то давно изобрел велосипед, а именно «Шаблонный метод».
И ходил довольный :-) А через пару месяцев узнал про паттерны.
Может «Фабричный метод»?
То есть по-вашему самостоятельно изобрести «Factory method» — можно, а «Template method» — нет?
Странная точка зрения.
Также ко Всему перечисленному в топике добавил бы:
Развивайте коммуникативные навыки. Умение донести свою идею до команды может творить чудеса!
А умение понять, что твоя идея фуфло — бесценно
Именно поэтому и надо доносить чуть ли не каждый день до команды. По одной простой причине, что ты можешь быть гордецом и считать себя мега-гением, а тебя во время пнут и покажут косяки. Ты спасен от плачевного финала, когда после нескольких часов, а то и дней узнаешь, что твоя мысль — дерьмо. А команда спасена от того, что сэкономлены твои человеко-часы и твоими руками можно сделать больше дел для проекта!
Интересно… а почему 16 мес? И какая у вас теперь профессия?
Я думаю что какой-нибудь управляющий или директор. Ибо автор слишком много знал, его нельзя было оставлять в разработчиках.
Толсто.
Советы показались вам глупыми?
добавлю от себя очень спорный совет: не зацикливайтесь на своих проектах, это всего лишь упражнение для поднятие скила. Вы можете сказать, что я предлагаю зарубить талантов на корню, но талантам, советы выше не нужны. Эти советы нужны таким как я, который 8 студенческих месяцев ковырялся в ядре линукса и не вынес ничего полезного из этого. Просто потому что я был умственно не готов к этому.
>>не зацикливайтесь на своих проектах
>>я, который 8 студенческих месяцев ковырялся в ядре линукса и не вынес ничего полезного из этого

Торвальдс детектед
Перефразирую содержимое топика понятным автомобильным языком (на основе копипасты "если бы водителей принимали на работу так же как программистов")

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

Познакомьтесь с дизельными двигателями. Прокатиться утром на общественном автобусе это не знакомство с дизелем.

Физика работы разнообразной техники это главное. Даже если вам просто надо водить автомобиль, понимать двигатель внутреннего сгорания это обязательно.

Задавайте вопросы. Естественно, если ваш знакомый автомеханик вам не смог помочь. Приезжайте на съезды автолюбителей, на автогонки, в логова байкеров. Общайтесь.

Познакомьтесь с системами регулировки движения поездов. Хотя бы основных: пассажирских, грузовых, почтовых. Вы же иногда будете пересекать ж/д рельсы и знание работы стрелочников и диспетчеров вам очень в этом поможет.

Познакомьтесь с современными достижениями автомобильной промышленности. Зачастую в автошколах не уделяют внимания новинкам заводов «Роллс ройс» и «Бугатти». Во многих автосалонах тестдрайв на этих авто бесплатный. Хоть раз прокатитесь.

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

Познакомьтесь с типами экстремального вождения. Сложно им придумать применение в современном городе, но всё возможно. Как минимум, вы можете сделать крутой полицейский разворот перед своими друзьями.

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

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

Работайте над собственной техникой. Обратно к первому пункту: ничто так не учит вождению техники, как разработка своей собственной. Начните строить свой самолёт.

Изучите новый для себя вид техники. Получите наконец сертификат пилота или капитана корабля. Когда в молодости вы играли в воздушные симуляторы, вас никто не готовил для настоящего пилотирования. Пора это исправить.

Свыкнитесь с мыслью, что вождение — далеко не единственное, что придётся делать. Подпирайте руль костылём и в это время составляйте маршрут, принимайте деньги за проезд или разносите по салону кофе.

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

Настаивайте на приятной для вас обстановке. Если вас раздражает плестись в очередной пробке — вы имеете право немного поступиться правилами дорожного движения. Для большего расслабления разведите работодателя на приобретение ёлочки под зеркалом.

Не забывайте о принципе Маршрутки. 80% маршрута можно пройти за 20% времени.

Прочтите классику: «Автомобили ЗИЛ», «Истребители союзников 1939-1945» и «Трактор т-25». Обязательно посмотрите «Аполлон-13», много знаний по физике в космосе я почерпнул оттуда.

Не зацикливайтесь на обеспеченности работой. Не превышайте скорость только потому что сейчас и здесь платят деньги за время прибытия. Лучший способ обезопасить свою карьеру — сбрасывать скорость перед постом ДПС.
UFO just landed and posted this here
Чем больше коротких шуток — тем больше длинного смеха.
Начните строить свой самолёт

…потому что свой велосипед любой разработчик начнет строить по умолчанию.
Класс, понравилось хоть и не совсем согласен.
Ну всё верно. Если вам нужен водитель линейного автобуса или, например, личный шофер, то ваша ирония вполне понятна. Но если требуется водитель для экспедиции на Крайний север или эксперт в программу Top Gear, то становится совершенно не смешно.

В качестве морали: ремесло и творчество разные вещи, не надо их путать.
Про Крайний Север — это здорово! Не заметил такого варианта.
Увы, но нашему миру нужно 2 эксперта в программу Top Gear, 100 водителей на Крайний север и 10 миллионов водителей автобусов/грузовков/маршруток.
Ну если так думать, то можно сразу поле 4ого класса пойти разгружать вагоны. Зато всегда при деле, чего уж там.
Если переключиться обратно на аналогии на программистов, то вы кардинально не правы: хотели бы побольше, и за любые деньги, но есть только 2.
Прекрасный список для обучения героя следующей GTA.
Список хороший. Если за 16 месяцев до этого всего дошли — уважаю. Если еще и следуете — вообще круто.

Не хватает одного важного пункта:
Не забывайте, кроме работы, даже очень интересной, есть хобби, путешествия, спорт, семья, друзья…
Спасибо!
Я об этом не писал, потому что считаю это супер-очевидным и само собой разумеющимся :)
нууу для кого то очевидно, для кого то нет…
После первого десятка советов я честно говоря решил что это какая-то шутка, ан нет, серьезно всё человек пишет. Может конечно я 10 лет что-то делал не так, но мне кажется, это 100500 способов отбить желание программировать навсегда. Хотя, если читать советы с конца, то автор со мной видимо солидарен :)
Во первых, если действительно хотите донести что-то светлое до читателя, дайте ему 2-3, ну 5 советов, максимум! Но не 21. Какой-нибудь новичок подумает «да зачем мне весь это геморрой» и будет прав. Чтобы стать программистом ему всё это не нужно.
Ясненько.
Не хочу даже спорить.
Смени уже графу в анкете «откуда» :)
А ты вернулся что ли?
Началось с советов «новичкам», закончилось программой-максимум на счастливое будущее
Ну тут как, касательно первого совета: вот студент я, и пилю, скажем, на чистом Си (фри-паскале/визуал басике/etc), который сам Риччи завещал, невроткомпот забубенистый файервол-антишпион; или эмулятор PDP11 терминал-серверный; или игрушку многопользовательскую жанра mmorpg, да так, чтоб и в преферанс играть, да и корованы пограбливать ночами… И допустим даже запилил, и комунити создал и юзвери есть.

Прихожу на работу, весь такой с опытом программирования на паскале, с написаной супер-мега-прогой со стотысяц скачиваний и своим форумом, и мне в лоб: а что такое паттерны?
Я — ыы да мы ваще такое не особо проходили.
Он — ну ладно, давай тогда составь запрос SQL запрос — выбрать из таблицы USERS только тех пользователей, которые…
Я — ыы да я тут ээ.
Он, ладно — ну хотя бы в яваскрипте напиши сортировку пузырьком.
Я — ыы ну яваскрипт вроде пахож на си, там типа вместо int — var надо в цыклах писать и
Он — вы нам не подходите

И ты идешь преспокойно со всем своим опытом программирования супер ацкого файрволла-детектора в
Это они вам не подходят!
Или так: прочитал GoF, всего Фаулера, 3-томник Кнута, пересобрал FreeBSD дома, создал с друзьями Agile-группу разработки ММОРПГ, поездил по конференциям, пожал лично руку Торвальдсу пришел устраиваться на работу:
— 1С знаете?
— … 0_о
— До свидания
Нужно отвечать «нет, но через неделю буду».
А вообще – 1С это страшная хрень, с которой не интересно работать. Сто раз подумал бы перед тем как вобще идти устраиваться на работу в такое место.
Это не «хрень» а «экосистема», как сейчас модно говорить :) А её создатели — гении. Наши, местные, при чём.

Но да, программирование на 1С — то еще удовольствие, тут вы правы.
1С + программиривание = военно-полевые условия.
Очень много чего приходится делать через одно место, т.к. напрямую не поддерживается.

P.S. Сам не прогал, у жены смотрел, как запросы пишет… кошмар, одним словом.
Нужно отвечать:
— Пока нет.
Достаешь телефон. Набираешь номер.
— Танк, загрузи мне программу управления 1С
Моргаешь секунд 15 глазами и говоришь:
— Теперь знаю.
Не туда значит пошёл на работу устраиваться.
для вас отдельный совет:

не ходите устраиваться туда, где требуются знания которые вам не известны )
Иногда стоит :-) Например, если требуется программирование в VBA, C++, Delphi и Java, то вакансию создавала девочка, которая ни одно из этих слов не понимает :-)
>Познакомьтесь с UNIX. Установка Убунту и компиляция ядра – это не знакомство с UNIX. Почитайте о том инженерном и научном фундаменте который лежит в основе философии UNIX.

Неплохо было бы на этом моменте пару примеров указать, глаза всегда разлетаются в разные стороны при попытках нагуглить что почитать.
> Программируйте в команде.
Кто возьмет в команду prejunior? Ищу C# и Unity3D.
Да, те же мысли :) кто бы меня в команду взял…
друг, если ты проработал 16 месяцев программистом и сделал такие выводы, то только могу пожать твою руку.
Хм, какие-то весьма капитанские советы. На своем 2 курсе не выполнил пожалуй только пункт про отладчик. И то, скорее из «воспитания». В школе сказали: отладочная печать — наше все, с тех пор так и отлаживаю. Очень был рад, что не избаловался дебаггерами, когда стал работать Lisp-разработчиком.
Но в общем-то все по делу, от себя могу добавить — учите английский! Очень пригодится.
> Очень был рад, что не избаловался дебаггерами, когда стал работать Lisp-разработчиком.
Можно подробнее про это?
Ну, процесс отладки в лиспе несколько отличается от такового в мейнстримовых языках. И мне кажется, что если бы не привычка всегда использовать отладочный вывод, переход был бы более тяжким.
Функциональные языки, знакомо :-) Писал на лиспе, хотя и учебные проекты, но остался под впечатлением :-) В Java очень не хватает лаконичности LISP'а.
В acm меня научили, что дебажный вывод — это плохо, запускать дебаггер — это плохо, нужно уметь находить ошибки просто читая код. Это действительно работает и опытный программист в состоянии сам «промоделировать» у себя в голове код, причем на это уйдет гораздо меньше времени в сложных алгоритмах, чем при иных методах отладки
Ну это само собой разумеется. Но если долго не можешь найти баг, или если интуиция подсказывает, что проще вывести что-то, то можно и повыводить.
Как говорил мой учитель (довольно матерый ACM-щик) «дебаг-принт показывает общее поведение программы».
А какие преимущества у отладочного вывода, помимо большей труевости?

Всегда использовал его (в школе ничего не говорили, но про дебаггеры я тогда не знал), но всегда казалось что это какой-то «грязный» способ что ли.
Возможность после интересного места быстро вернуться в прошлое и поискать причины его возникновения. Не перезапуская программу.
Возможность посмотреть, почему «не так» вела себя программа у пользователя на другом континенте неделю назад (если он найдет у себя log-файл и отправит его вам).
Надо сказать, просто дико огромный опыт вы приобрели за эти 16 месяцев, если советы эти все — дело ваших рук, а не компиляция из интернетов. Нашел для себя немного нового.
Мне очень повезло с компанией, многому научился за последние 11 месяцев.
Советы хорошие. Но необязательные. Программирую 30 лет. Единственно необходимый пункт — любить и понимать линейную алгебру, математический анализ и дифференциальную геометрию.

А самое главное — смотрите нa девчонок не реже, чем в окно VS.
Это смотря каким программистом работать. Смешно, наверное, когда стоматолог рассуждает о стоматологических особенностях как об основных тонкостях медицины в целом.
Но именно к такому стоматологу очередь.
Проработал 3.5 года со специалистом 10летнего стажа, который отлично знает математику, да и весьма умен.
Работать с ним в команде было адом т.к. получить законценное задание было не реально (потому что представлять мало. Нужно уметь об этом рассказать), дождаться его части кода было не реально (потому что мало уметь кодить. Нужно уметь работать в команде и расставлять приоритеты), разрабатывать вместе с ним было не реально (т.к. обсуждения сводились не к выбору и комбинированию лучших решений, а к его «первое что пришло в голову» и последующими «да, тут лучше по-твоему» почти на кжадый пункт при комментариях остальной команды.).
Так что стаж программиста в 30 лет мне может сказать не более, чем «стаж вождения 30 лет. Но машина у меня была только первые пол года.»
Зря минусуете. Есть в этом правда. Мне тоже приходилось работать с ребятами по 12 и по 15 лет стажа. ИМХО, это непросто. Люди становятся абсолютно уверенны в своей точке зрения. Их оооочень сложно переубедить. Буквально только через архитектора или менеджера. Иначе — они мою точку зрения не принимали. И далеко не всегда эти люди были действительно гуру. Иногда да, а иногда — нет. И во втором случае не понятно, на чем основывалась их самоуверенность.
Имею диаметрально противоположный опыт: после 2-3 лет опыта у юнцов появляется маниакальная уверенность «я — гуру», «мое решение — единственно верное и лучшее».

После 10 лет опыта и смены пары-тройки векторов в IT — скорее возникает состояние «как-то дохрена всякого нового вокруг появилось» и «я знаю только то, что ничего не знаю» (с).

А алгоритмы надо учить, да. Поиск и сортировка — наше всё. =)
Хех, хорошо если через 2-3, а не раньше )
Друг жаловался на коллегу — работает программером пол года. Учился на конструктора, о программировании знаний было почти 0 до прихода на рабочее место. Прогером стал т.к. начальник так решил — некуда больше было деть.
Вот чел сделал пару формочек в QtDesigner, написал пару простых функций и теперь ходит с задранным носом и наотрез отказывается править свой говнокод, превнесенный в чужие модули.
Как-то вот так вот бывает… да…
Вообще в плане обучения новому мне очень помгали старые машинки.
Сначала во временя третих пней у меня дома стоял первый. Как следствие особо не поиграешь, зато покодил на бейсике и макросах MS Office.
Потом уже значительно позже, лет 5 назад, сидел я на машинке с 256 метрами памяти и уже 3-им пнем(уже мамонт для того времени) и возникла потребность пописать на java и только Emacs меня и спас. На той машине в то время что еклипс что нетбинс одинаково ползали, запускались по 7 минут и свопились постояно.

А вообще по теме мой совет: будьте любознательны.
Старайтесь понять как оно работает, а не как заставить его работать так как вам нужно именно сейчас.
Еще из личного опыта про отладчики: да пользоваться ими нужно уметь, но важнее уметь дебажить и без них, например используя только вывод в логи(при многопоточности или асинхронности вообще только это и остается). Вообще я бы сказал что отладчики на раннем этапе обучения зло, важно научится разделять программу на модули так, чтобы потом пройти ее шаг за шагом «в голове» не составляло труда.

Вот такое сумбурное имхо!)
Да, сейчас вот изучаю и стараюсь писать как раз так, чтобы отлаживать было нечего.
А я бы добавил такой совет:
Вы, бесспорно, должны знать как можно больше ответов на вопрос «как». Но постарайтесь при этом знать и ответ на вопрос «почему».
«я проработал 16 месяцев» — представляю себе топик спустя 10 лет… ой боюсь собственная цензура не пропустит)
так то вцелом норм советы, но… идеализированные.
Имхо стоит отдельно вынести «Научитесь пользоваться google для поиска нужной информации» (можно прочитать Google Hacks by By Tara Calishain, Rael Dornfest)
Ещё вот это:

www.catb.org/~esr/faqs/smart-questions.html

Текст намного шире самого названия, его прочтение многому мне научило в жизни.
А почему в статье нету совета «хотя бы раз в неделю изучите 1-2 алгоритма»? Ведь это основа всех основ. И мозг развивает и в карьере также пригодится.
ну, тогда нужно добавить совет «используйте клавиатуру в работе»
Однако ж вон как меня заминусовали. Видимо, не все согласны с этим
Мне кажется, без алгоритмизации в программировании вообще делать нечего — это как математика, основа основ.
Отличные советы! Жалко, самому к ним приходится идти очень долго. Но оно того стоит, пока не поймешь почему тебе нужен VCS — никогда не будешь его использовать. Пока не столкнешься с задачей, решение которой требует применение определенного паттерна — никогда не поймешь почему его нужно применять.
Насчёт паттернов сложно всё. Когда я их изучал, то с удивлением узнал, что большую часть я регулярно применяю. Да и вообще говорить «задача требует применение паттерна» несколько некорректно, по-моему. Скорее «у задачи есть типовое решение, называющийся паттерн такой-то».
все вы тут нытики такой же как и я. которым неохота начинать работать и поэтому они сидят на хабре и рассуждают на тебу какие использовать табики какой редактор круче и прочую несусветную чушь.

UFO just landed and posted this here
Второй совет важен. Ещё бы этому учили где-то.

А насчёт ещё одного иностранного — польза сомнительна. Я вот как-то изучал итальянский, потом забросил, мотивации не было — ни разу с тех пор (10+ лет) не было необходимости прочитать что-то на итальянском. Интересно — да, пользы — ноль. Лучше бы Java учил.

А приоритеты всем нужны.
UFO just landed and posted this here
> 3. Unix хорошо, но времени обычно на него нет. Но тут уже зависит от области программирования. Кому то пригодится, для кого-то трата времени.

Это ни для кого не трата времени, если вы не хотите оставаться быдлокодером, пишущим что скажет начальство так, как скажет тех.лид.

> 4. Изучить новый язык хорошо, еще лучше доскально изучить возможности своего языка программирования. А еще лучше изучить дополнительный иностранный язык. Больше пользы, больше удовольствия.

Если будете зубрить один язык рано или поздно начнёте забивать гвозди микроскопом, или месяцами сидеть и думать как молотком рассмотреть атом. Что веселее, учить ЯП или иностранные языки — тоже вопрос открытый.
UFO just landed and posted this here
UFO just landed and posted this here
> Менеджеры той компании, где я работаю, придерживаются мнения, что резюме программиста это github.

Пользователи bitbucket негодуют.

> Познакомьтесь с шаблонами (паттернами) проектирования.

Подавляющее большинство, если не все, паттерны, реализуются в ООП. Опять же, что делать программистам, работающим с другими парадигмами?
Для подавляющего большинства паттернов (архитектурных) реализация приведена для ООП.
обязательно включить в весь этот длинный список: «активное занятие спортом» — не «киберспортом»)
а именно так, чтобы в спортзале, на природе.
активный образ жизни мозги в нужное направление выпрямляет.
главное здоровье, а остальное приложиться.
Возможно я тормоз, но мне кажется, что за такое время все вышеперечисленное можно освоить только очень поверхностно.
Мир цифровых технологий развивается очень быстро, за всем не поспеете, для начала нужна специализация, которая обеспечит вас доходом и будет хорошей базой.
Вот зачем, скажите, к примеру Javascript разработчику, основательное знание Unix систем?
Люди, которые очень быстро двигаются и стараются все знать оставляют огромные пробелы в знании своих основных инструментов.
Никто не оспаривает пользу расширения кругозора, но лишняя спешка вредит, как мне кажется.

Никто же не заставляет в спешке изучать все, что приведено в статье…
Это действительно полезные советы. Особенно для начинающих айтишников.
Для некоторых многое из того, что тут описывается формируется только с многолетним опытом.
а вот для кого-то может стать очень полезным, если с умом отнестить к вышеизложеному
Дельные советы, между прочим, не смотря на множетсво критики!
Подписываюсь буквально под каждым утверждением автора!
Мой преподаватель в универе большинству из этих советов каждый день нас учил! и хвала ему, и большая благодарность. Многое из этого не раз помогло в жизни и карьере, причем моя деятельность лишь краем соприкасается с настоящим программированием!
А еще нас учили: перед тем как приступить к какому-либо проекту, нужно четко сформировать у себя видение конечного результата.
Этим советом можно принебрегать при работе над мелкими проектами. Но при работе над сложными проектами без этого подхода очень туго приходится.
Раньше не удиляла этому стоящего внимание, и все время всплывали в процесе работы «подводные камни», приходилось часто возвращаться к предыдущим контрольным точкам, и переделываить работу.
Сейчас — не сажусь за реализацию проектов, пока не сформулирую и не опишу конечный результат.
Сложности возникают, когда заказчик сам не знает чего хочет, но все же в результате долгих нервных переговоров, я выбиваю из него нужную мне информацию.
Задавайте вопросы. Естественно, если не нашли ответ в гугле. Соответственно, не задавайте вопросы, на которые может ответить гугл. Сайт StackOverflow – ваш лучший друг.

Редко на какой технический вопрос нельзя найти ответа при помощи гугла/яндекса/etc.
Отвечать на вопросы, задаваемые другими, всё же гораздо полезнее для собственного развития.
> Познакомьтесь с системами контроля версий. Хотя бы с основными – SVN, Git, Mercurial. Откройте репозиторий на своей машине и используйте его для домашних заданий и собственных проектов.

Вопрос по этому поводу. Хочу попробовать.
Как наиболее лаконично организовать систему?

Если допустим система такая

Java
.\HT1
.\HT2
C++
.\HT1
.\HT2
asm
.\HT1

То один репозиторий на язык, на конкретное домашнее или на все? Поделитесь опытом, кто использовал git в этом ключе.
Репозиторий на проект. Если часть проекта выделяется в отдельный (библиотека, фреймворк, модуль и т. п.), то новый репозиторий на новый проект, а в старом «ссылка» — субрепозиторий.
UFO just landed and posted this here

Articles