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

Смотря на молодых разработчиков, я вижу у них следующие недостатки:

  • Они могут просто не знать о некоторых областях программирования. Например я встречался с тем, что хорошие молодые разработчики совершенно ничего не знают про SQL, и там где можно решить задачу одной строчкой городят целый лес. Или наоборот пишут многоэтажный SQL там где хорошо бы этого не делать, чтобы не размазывать логику и не нагружать базу данных. Наверное, это относится к кругозору и общей начитанности и до определенного времени просто нельзя разобраться во всех необходимых областях. На мой взгляд при должном старании на устранения этого недостатка требуется 3-5 лет.
  • Молодые разработчики могут не уметь работать в команде. Просто не понимают, как правильно взаимодействовать с начальством и коллегами. Тут может потребоваться довольно много времени на то, чтобы овладеть этим навыками. Это может приводить к частой смене работы. Может никогда не закончиться, а может человек этому научится еще в детском саду или школе или институте.
  • Неопытные разработчики могут быть крайне самонадеянны, но не факт что это недостаток. Некоторые задачи требуют определенного уровня безответственности, чрезмерной самоуверенности. Но таких задач мало.

Но у начинающих программистов есть и очевидные достоинства:

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

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