Comments 33
Не совсем согласен. Чаще стоит сначала самостоятельно оценить проблему " незамыленным" взглядом, а только потом ознакомиться с другими подходами.
По моему мнению, некоторые из лучших идей предлагаются именно новичками. Они видят возможность улучшить существующие вещи, к которым уже привыкли опытные люди со сформировавшимся мнением.
Выше на два пункта.
Но даже теперь я продолжаю сомневаться в себе. Дело в том, что это чувство никогда не уходит, так что старайтесь не обращать на него внимания
Я думаю, что это ошибочный совет. Нужно не перестать обращать внимание на это чувство, а использовать его, чтобы разобраться в чём дело. Ведь не спроста же оно возникло? Я недавно размышлял на тему возникновения этого чувства и пришёл к следующему выводу. Когда вы учитесь программировать по книгам или в институте, то при формулировке задачи пытаетесь найти набор ключевых слов, которые подскажут вам решение или применение тех или иных технологий. Но в задачах, которые вам попадаются в реальной жизни может не быть знакомых вам ключевых слов, либо они будут использованы в неверном контексте, что ещё больше сбивает с толку. Так что по-хорошему, чтобы вернуть себе чувство уверенности, нужно научится правильно интерпретировать задачу в свой опыт. А опыт у вас есть уже с рождения.
Я бы на его месте советовал изучать парадигмы программирования. А новый язык стоит изучать, если он построен на неизученной парадигме.
Хоть это и более долгий путь, но было бы также полезным поизучать другие отрасли программирования. Например, в геймдеве чаще предпочитается использование композиции вместо наследования, что позволяет избегать сложных иерархий классов и зависимостей.
C# и Java да, можно сказать только синтаксисом, но справедливо ли так говорить про Go и Haskell, например?
Композиция вместо наследования много где предпочитается, это один из советов банды четырех.
Не совсем верная аналогия. Молоток и пассатижи все-таки предназначены для выполнения разных работ. Да, можно пассатижами забивать гвозди, но лучше использовать для этого молоток.
Для обеспечения полиморфизма и повторного использования кода можно использовать и композицию, и наследование. Чаще всего композиция предпочтительнее, дизайн становится гибче. Да, в некоторых случаях наследование окажется удобнее, но таких случаев меньше.
Создатели реакта, например, сознательно убрали возможность наследовать компоненты, оставив только композицию.
Невозможно взять и не тратить время на мишуру. Нужно сначала изучить многое, иначе не будет понятно, что такое мишура. Нельзя взять и не заморачиваться на кодестайле. Нужно сначала научиться ставить каждый символ на свое место. Нельзя сразу взять и стать уверенным в себе. Нужно сначала понять, чего ты стоишь. Нельзя взять и начать писать программы просто, нужно сначала пройти путь от простого к сложному и обратно. Нельзя стать программистом, срезав путь. Чтобы срезать пути, нужно изучить их, пройдя прямой дорогой.
Работая в одной команде и одном стеке технологий годами, можно застрять в развитии.
Если брать проекты, которыми уже занимались другие команды разработчиков, можно почерпнуть для себя много полезного — и по архитектурным решениям задач, и по инструментам.
Ну и на своей работе, стараться выбирать себе задачи посложнее и требующие изучения новых областей. Так ваш профессиональный уровень быстро вырастет.
C чего начать? Как находить и забирать небольшие, но интересные проекты «на вечер»?
При условии отсутствия какого-либо опыта с фрилансом конечно же.
Как начать — зарегистрироваться на бирже фриланса. Брать можно небольшие проекты, либо сайты «на поддержку». В основном заказчиков интересует, сколько часов в неделю можете работать. Кого-то может устроить неспешная работа по выходным и час-два в будни.
От себя могу порекомендовать брать эпизодически фриланс-проекты, даже если у вас есть постоянная работа.Я поэтому обычно советую менять место работы раз в пару лет. Это в любому случае хорошо бы делать, чтоб получить повышение з/п, так как редко можно особо большую прибавку выбить на текущем месте.
Работая в одной команде и одном стеке технологий годами, можно застрять в развитии.
От себя могу добавить несколько пунктов:
1) Не растекайтесь мыслью по древу. Сконцентрируйтесь на 1 области. Не языке, а именно области. Сейчас всё очень компактно и локанично. Нету того, что все всё пишут на С и без него никуда.
2) Примите, как правило, что существуют реальные задачи, которые можно решить за 1-2-4 часа. Не превращайте изучение технологий в прожигание часов и дней. Если вы не можете что-то понять или выучить за 1-2-4 часа, то решайте конкретно эту проблему. А не "ночку посижу, поучу и пойму".
3) Отдыхайте. Человеческий мозг плохо работает после 3-4 часов неприрывной нагрузки.
4) Добейте уже до конца слепую печать. Если еще не добили.
5) Правило 21 дня. Привычка прививается за 21 день. Это касается всего. Иностранного языка, качества кода, питания, сна и вообще всего. Если у вас есть проблема в работе, то её можно исправить за 21 день. Если не исправилось, то значит проблема в другом.
6) Поборите рассеянность и перестаньте отвлекаться.
7) Не берите работу на дом.
Идеализированно получилось, но если убрать бытовые причины и ссоры с коллегами и коллективом, то работает.
Советы из статьи реально странные:"Я стал лучше программировать из-за того, что всё время стал учить С, писать GCC и читать СЕКП". Понятно, что чтобы лучше программировать нужно больше программировать. Но про перегорание не сказано. А оно лечится не просто. И посреди проекта взять и слинять на месяц никто не даст.
Возможно, вы просто не в той области смотрите? Попробуйте посмотреть на область тестирования и верификации программного обеспечения. Там интересно и есть чем заняться.
Как я стал лучше программировать