• Нужен ли свой хедхантер для технарей?

    @coodan
    Вряд ли имеет смысл. Проще при необходимости кидать клич в специализированных форумах. В смысле, туда, где сидят нужные специалисты и трут свои специализированные проблемы.

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

    @coodan
    Думаю, учиться. В том смысле, что пока есть время, пробовать и так и эдак. Посмотреть на подводные камни. Найти для себя лучшее решение. А потом воспроизводить его, не задумываясь, на автомате.

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

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

    @coodan
    Программировать, конечно. В первую очередь.

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

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

    Для профессионала программирование, конечно, это чистая практика, ремесло. Для любителя может быть искусством. Но вряд ли для кого-то, кроме академической среды, может быть наукой.
    Ответ написан
    Комментировать
  • Как урезать свой перфекционизм?

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

    Для таги к совершенству советую на С++ перейти, там этого добра много.

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

    @coodan
    Значится, так.

    Имеем из коллективной мудрости - нужно ТЗ, все работы выполняем по этому ТЗ.

    Отсюда видим ошибку - первым ТЗ подтерлись, из лучших побуждений. А ну бы их на фиг, такие побуждения.

    Что делать - привести ТЗ в соответствие текущему проекту. И жестко апеллировать к нему, как к ТЗ для v.1. Клиент ведь грозится платить после v.1? Выпустить v.1 и посмотреть, а нужна ли она или это просто вынос мозга? Если нужна, заключать договор и писать уже следующие версии. Не нужна - перестать терять время и убивать свою самооценку работой с людьми, которым Ваша работа не нужна.
    Ответ написан
    Комментировать
  • Как правильно оформить "лицензию" на скрипт?

    @coodan
    Злые какие все :)

    Почему это зарплату за код получил? Платили, может, ему не за это. Может, он вообще не программист.

    Но авторское свидетельство в этом случае и правда лишнее. Много хлопот. Коли клюнуло, надо о продвижении по службе договариваться. А без денег на хрен посылать. Мое мол и все. И не такое еще могем. И без меня работать не будет. Ну или не связываться вовсе.
    Ответ написан
    Комментировать
  • Нормализация БД. Зло или добро?

    @coodan
    Согласен. Очень плохая практика, и ее рост ничего не доказывает.

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

    Чувак просто слышал звон, да не знает где он. Взял мощную СУБД, а освоить мозгов не хватило. Вот и хвастается теперь своим невежеством, полагая, что он самый умный, а остальные дураки все.
    Ответ написан
    Комментировать
  • Как лучше построить изучение программирования?

    @coodan
    Присоединяюсь, если Вы недовольны качеством своего кода и думаете над тем, как его улучшать, то он будет улучшаться. Он уже улучшается.

    Согласен и с тем, что на Вашем этапе, похоже, стоит много читать хороших исходных кодов и смотреть как у них сделано и для чего. Плюс набивать глаз на то, как должен в общем выглядеть хороший код на Вашем языке. Развивать эстетическое чувство.
    Ответ написан
    Комментировать
  • Что учить, никак не определюсь?

    @coodan
    На мой взгляд, перспективность java сильно преувеличена. Да, была перспективна. А сейчас мы наблюдаем ее медленную смерть. Тревожным звоночком является то, что уже не на каждом компьютере она запускается без танцев с бубном. А ведь это было залогом популярности. И возникает вопрос - зачем тогда привязываться...

    Если нравится С++, если Вы его понимаете и он Вам близок - обязательно продолжайте. Он ведь как раз для таких людей.

    А изучите его в деталях, пройдет несколько лет - вот тогда поглядим, что там будет с java, где она будет и какой язык будет перспективно потрогать поближе.
    Ответ написан
    Комментировать
  • Программирование и практика?

    @coodan
    Делай то, от чего будет реально переть. А еще лучше то, от чего будет переть нереально.

    И делай это на С++, в его современном варианте. Забей на старые книги, ищи новые.

    Так ты, если захочешь когда работать программистом, будешь иметь хорошо структурированное мышление и эффективный инструмент. А не захочешь - будет у тебя классная игрушка.
    Ответ написан
    Комментировать
  • Вы тоже постоянно всё забываете из программирования?

    @coodan
    Конечно. Откроешь свой старый код - как будто кто другой писал. Большая радость, если написан хорошо - так сразу приятно :) Ай да Пушкин, ай да сукин сын, думаешь :) Кстати, Пушкин тоже, наверняка, забывал чего писал - а потом натыкался, и если хорошо, то радовался :)))

    Если написано хорошо, то и неважно, кто писал - поправить несложно. Беда, если написано плохо, скомкано, перемешано, не структурировано - тогда с рефакторинга начинать нужно.

    В целом, проблемы не составляет. Во-первых, к тому времени нормы языка измениться могут - а ты старые забыл, не мешают. А во-вторых, это только кажется, что все забыл - с каждым разом все мощнее и мощнее получается, многие непонятные раньше вещи с первого раза понятными и красивыми становятся. Вот раньше не знал почему так делают - а теперь увидел, поразился и не понимаешь уже, как по-другому можно. Новый виток новые возможности.
    Ответ написан
    Комментировать
  • Базовые знания алгоритмов?

    @coodan
    Интересный вопрос. Может быть, если есть интерес общего плана, стоит посмотреть в сторону языков программирования, более ориентированных на работу с алгоритмами.

    Например, С++ с его STL. В основе STL - так называемые контейнеры. Контейнер в понимании STL - это некоторый объект, который содержит другие объекты. А к этим контейнерам есть так называемые алгоритмы. Алгоритм в понимании STL - это некоторый код, который будет работать с объектами из контейнера в заданном диапазоне. То есть, одной строчкой натравливаешь нужный алгоритм на нужный контейнер и говоришь - копать от сих до сих - и все, дело в шляпе. Самые нужные алгоритмы уже заданы - та же сортировка различными способами, например. Сомневаюсь, что можно сделать ту же сортировку более надежно и эффективно, чем это сделали разработчики библиотеки. При желании можно задавать собственные алгоритмы.

    Ориентация языка на работу с алгоритмами не поможет, конечно, более глубоко их понимать и создавать. Но от изобретения велосипедов убережет. И мысль в нужном направлении направит.
    Ответ написан
    Комментировать
  • Как развиться от фрилансера до серьезной компании?

    @coodan
    Вообще, поостерегся бы нанимать менеджера. Дело в том, что пока ты будешь кодить, ситуация будет выходить из-под контроля.

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

    Может быть, тебе из своей лояльной команды кого-то выдвинуть, в ответственные? Тогда и сам в коде ковыряться будешь, и дело будет организовываться квалифицированным человеком, и голову морочить не будут. А самому в архитекторы уходить, да, и самые ответственные участки кода, если никого сильнее нет.

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

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

    Другое дело, если в отдельной комнате сидит девочка на телефоне. Шеф, например, уходит программировать на три часа - а она отвечает, занят, подождите, пожалуйста, он сразу перезвонит, объясните, пожалуйста, по какому вопросу, я сразу же передам. И список пишет, кому позвонить нужно, кто звонил, чего хотел. Голову поломал, покодил, вышел отдохнуть. Отчего бы людЯм не перезвонить - развеяться.

    UPD2. Кстати, и с отчетами дело наладится. И отошлет кому надо. И сотрудникам напомнит - деликатно, когда они из кода вынырнут. И за сроками проследит.

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

    Да и чашку кофе будет кому вовремя подать.
    Ответ написан
    Комментировать
  • Как вы живете с большим количеством открытых вкладок браузера?

    @coodan
    Хреново живем. Постоянно глючит. Во всем создатели браузеров виноваты - ну не понимают они, что сотни две вкладок раскрыть чрезвычайно важно - хотя сами все, наверняка, так и сидят.

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

    @coodan
    Страшно заинтригован, а зачем Вам неудобный стул? Вы - мазохист?
    Ответ написан
  • Можно ли быть программистом, поступив на прикладного математика?

    @coodan
    Естественно, для того, чтобы заниматься программированием, стоит пойти на математика. Так твои возможности будут гораздо больше. А кнопку на кнопку мышью фигачить - дело нехитрое.

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

    @coodan
    Советую забить, а лучше найти себе программиста-единомышленника, с коим и поделывать вместе какие-нибудь вещицы, интереса ради. Попадется хороший - узнаешь, как надо программировать. Попадется плохой - узнаешь как не надо программировать.
    Ответ написан
    Комментировать
  • Куда пойти после 4-ех лет фриланса?

    @coodan
    Думаю, стоит обойти всех. И выбрать кто понравится. Не загадывать.
    Ответ написан
    Комментировать
  • Как развить программистское мышление?

    @coodan
    Забей на чужие решения и не парься. Пиши свое решение. Переделывай его. До тех пор, пока оно не понравится тебе своей красотой. И тогда смотри чужой код. Как ценитель, а не слепой копировщик.

    Смотри, что лучше и красивее у них. Перенимай. Понять это ты сможешь, только сравнив со своим красивым решением.
    Ответ написан
    Комментировать
  • Как всё успевать и не быть роботом?

    @coodan
    Думаю, ответ Андрея Плетенева и есть самое важный, и если бы это был мой выбор, он, без сомнения, был бы выбран лучшим.

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

    Ты хочешь из фриланса построить себе тюрьму? Зачем?

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

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

    Взять, например, фитнес. Можно платить за пафоснейший фитнес - возможно, кому-то он полезен с точки зрения заведения деловых знакомств - но только не программисту - а можно просто бегать. Бегать всегда, вместо хотьбы. Бегать по своим делам. В магазин - с рюкзаком - будет бег с утяжелением. Для разнообразия, пробегая площадки, заниматься и там. Лучше узнавать свой район и соседние районы. И то и другое даст тебе необходимую нагрузку - но одно будет питать твое самолюбие - а заодно истощать кошелек и побуждать тебя еще глубже погружаться в суетный бег в колесе - купил-заработал-купил, а другое сделает тебя более мобильным и свободным.

    То же и с остальными вопросами. Их постановка говорит о вовлеченности в суету. А бегая в колесе очень сложно из него выпрыгнуть - нужно остановиться и тогда из стоящего колеса выйти станет легко. Если только ты действительно этого хочешь.
    Ответ написан
    Комментировать