Ответы пользователя по тегу Программирование
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    @dzolotarev
    Этот мир крэшится - я собираю дампы
    Если вкратце - никак.
    А теперь поясню. Возможно, конечно, если вы работаете долгое время в одной области, на одном языке, решаете однотипные задачи, со временем рука набьется и вы сможете просто посмотрев на код, определить степень его говняности.
    Но это идеал, который, как известно недостижим. На деле жизнь швыряет вас из одной области в другую, из одного языка в другой, частенько не забыв по дороге пару раз приложить обо что-нибудь третье (это из личного 10-летнего опыта, да). И на каждом месте работы у вас будут задачи, которые вы прежде не решали и вообще понятия не имеете как решать.
    А бизнесу пофиг на это все, ему надо просто чтоб работало и вот-прям-щас, а ещё лучше - вчера. Им плевать на то, что вы, как уважающий себя инженер, хотите сделать свою работу как можно качественнее. Им надо быстро. А "качественно" в большинстве случаев несовместимо с "быстро". И вот тогда приходится идти на компромисс с самим собой и говнокодить, оставляя себе пометку исправить это в будущем, когда появится больше времени.
    Мораль сей басни такова: говнокод - это, конечно, плохо. Но если вы в таких условиях, когда без него не обойтись, говнокодьте осознанно. Говорите себе: "я знаю, что пишу в этом конкретном месте говнокод, но мне надо быстро закрыть таску. Потом я это исправлю". Можно ещё добавить от себя про гребаных капитализдов. И заведите задачу в трекере на исправление своего говнокода, или в коде TODO оставьте. Главное - осознавать, что в этом месте вы пошли на компромисс с самим собой.
    А по поводу джунов, миддлов и других неведомых зверей... А судьи кто? Кто определяет джун вы, миддл или ещё кто? Как здесь уже писали у всех свои критерии оценки. И нигде эти критерии не формализованы. Это в далёкой великой стране были программисты 1-го и т.д. разрядов.
    На мой взгляд, все эти джуны и миддлы - писькомерство сплошное. Главное - твои инженерные навыки, то, как ты умеешь решать задачи без привязки к языку и окружению. А то сегодня писал системный софт на плюсах, завтра уже пишешь распределеные сервера на эрланге, попутно окунувшись в десктоп. А послезавтра - вообще бэкенд на Go, по дороге вляпавшись в С# и даже поадминив линукс-сервера и понастраивав телеком-железки. И вот как тут оценить, джун ты, миддл или ещё какая неведома зверушка? Мне кажется - никак.
    Поэтому мой совет: не забивайте голову ненужной ерундой на тему кем себя называть.
    Ответ написан
  • Книга о том как правильно должен работать программист?

    @dzolotarev
    Этот мир крэшится - я собираю дампы
    1. Да никак. Весь этот тайм-менеджмент - фигня полная, ни разу не работает. Просто делай свою работу и не забывай про себя и семью
    2. Баги будут всегда, человек не может не делать ошибок. Главное, по возможности, их исправлять вовремя и не повторять
    3. По идее, этим должен заниматься тот, кто ставит задачи. Твоя задача: выполнять их по степени важности и срочности. А вообще - просто делай свою работу.

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