Я немного опытный разработчик, имеющий около 5 лет опыта работы с PHP и немного меньше по Java, C #, и пытаюсь выучить немного Python в настоящее время. С самого начала моей карьеры программиста время от времени коллеги-программисты говорили мне, что программирование подходит для нескольких первых лет карьеры (большинство из них принимают это за 5 лет) и что нужно менять направление после Это. Причина, которую они представляют, включает головные боли и нагрузки, связанные с программированием. Они также говорят, что программисты менее общительны и, как правило, не любят уделять время своим семьям и т. Д., И особенно: «Да ладно, ты не можешь заниматься программированием всю свою жизнь!»
Я несколько запутался здесь и должен спросить других об этом. Если я оставлю программирование, то что мне делать ?! Я думаю, что преподавание может быть хорошим вариантом в этом случае, но, возможно, потребуется сначала получить степень доктора философии. Также следует отметить, что в моей стране (Пакистане) жизнь программиста не очень хорошая, поскольку обычно им приходится давать 2-3 дополнительных часа в офисе для выполнения срочных задач программирования. У меня есть ощущение, что ситуация несколько схожа и в других странах и регионах.
Как вы думаете, будет ли справедливым совет сменить карьеру с программирования на что-то еще, проведя 5 лет в этой области?
ОБНОВИТЬ
Ух ты ... Я никогда не знал, что люди могут иметь 40-летний опыт работы в этой области. Я одновременно взволнован и поражен тем, что люди делают это с 1971 года ... Это означает, что за 15 лет до моего рождения! Приятно иметь возможность общаться с такими опытными людьми, у нас нет такого шанса здесь, в Пакистане.
Еще раз спасибо за помощь и обмен. Это был хороший опыт, чтобы подумать об этом.
источник
Ответы:
Я не думаю, что это вопрос, на который можно дать общий ответ, который всегда верен, за исключением, возможно, векового «Это зависит».
Самый простой совет: если программирование - это то, что вы любите делать больше всего, не останавливайтесь, если это не изменится.
Есть много других факторов, которые следует учитывать, таких как рынок труда, возможности продвижения по службе, местоположение и, конечно, зарплата, но самым важным при принятии решения о карьере является вопрос: «Это сделает меня счастливым ?»
источник
У нас есть несколько программистов, где я работаю в возрасте 50 лет, которые программируют более 20 лет. Если это то, что вы хотите сделать, не позволяйте никому говорить вам, что это подходит только для молодежи.
источник
Я перебираю код уже 21 год, так что я думаю, что у меня есть право комментировать это.
Во-первых, нетривиальное количество людей, начинающих как программисты, полностью намеревающиеся перейти на руководящую должность через несколько лет. Они не пишут код, потому что им нравится писать код, они пишут код, потому что считают его необходимым шагом на пути к своей реальной цели. Я подозреваю, что это люди, которые говорят вам как можно быстрее сойти с трека кодирования.
Кроме того, есть такие люди, как я, которым нравится программировать ради них самих, и чьи навыки людей, скажем так, недостаточны для руководящей должности (однажды я пытался, и это было катастрофой для всех участников).
Можно остаться на техническом пути и аванс в оплате и ответственности. И есть много вакансий для пожилых парней. Мне 46 лет, и все, кроме одного парня из моей команды, старше меня.
В то время как я знал нескольких более старых программистов, которые попадают в стереотип MIT übergeek, я уверен, утверждая, что это не так в целом. Я и большинство знакомых мне программистов имеют свой возраст, имеют семьи, берут время, которое нам нужно, и обычно ведут нормальную жизнь. Мы не тусовочные животные, но мы и не монахи.
Да, там много плохих заданий по программированию. Тем не менее, в отрасли предпринимаются реальные усилия, чтобы сбалансировать работу и личную жизнь, и многие компании-разработчики делают все возможное, чтобы избежать сценариев марша смерти. Всегда будут спринты (я сейчас нахожусь в середине, это просто природа бизнеса), но между марафонов становится все меньше и меньше.
источник
Это звучит для меня как совет классической крупной компании, который все еще распространялся спустя десятилетия.
По сути, одна из проблем с карьерным ростом заключается в том, что многие компании не созданы для того, чтобы предлагать карьеру (в отличие от работы) разработчикам. Во многих других профессиях вы, как правило, медленно продвигаетесь вверх по уровням либо дополнительной ответственности менеджмента, либо специализаций, которые требуют дополнительного опыта и сертификатов для получения, если вы хотите остаться в роли неуправляющего. Важная часть, однако, заключается в том, что в этих областях наблюдается прогресс в карьере, например, «я стану партнером однажды» или «Я открою собственную практику».
По какой-то причине многие компании, похоже, приняли мышление, что «кодирование» 1 - это просто то, что вы заставляете делать пул печатания в соответствии с подробными спецификациями, которые выдвигает архитектор программного обеспечения. Поскольку это рассматривается как занятие низкого уровня, вы не получите никакого карьерного роста, как кто-то, кто пишет программное обеспечение для жизни, если вы в основном не перестанете быть практиком и перейдете на уровень управления.
Что меня смущает, так это то, что IBM заметила еще в 1970-х годах, что не предлагая карьеру , не относящуюся к менеджменту, у них осталась куча паршивых менеджеров, которые раньше были чрезвычайно хорошими разработчиками. Это было известно в отрасли в течение долгого времени, но меморандум либо не попал в отдел кадров, либо люди в основном не заботятся об этой проблеме.
Сейчас я занимаюсь профессиональной разработкой программного обеспечения с конца 1980-х / начала 1990-х годов, и я до сих пор в основном программирую на жизнь. Да, я «потратил время» на управление на разных этапах своей карьеры, но я обнаружил, что мне легче создавать программное обеспечение (и, возможно, немного заниматься управлением), чем подниматься по той «официальной» карьерной лестнице, которая должна быть.
Есть компании, которые осознают ценность, которую опытные разработчики программного обеспечения могут принести на стол. Хитрость заключается в том, чтобы найти их, если вы хотите иметь долгосрочную карьеру в разработке программного обеспечения. Я не думаю, что когда люди выходят из «кодирования» через 4-5 лет, это действительно хорошая идея, если мы не хотим постоянно повторять ошибки прошлого, потому что о них нет воспоминаний.
1 Я использую это как сокращение для разработки программного обеспечения и чтобы показать, как часто люди, не вовлеченные в него, видят занятие - процитировать PHB «если я не могу понять это, это должно быть легко».
источник
Нет, я думаю, что это паршивый совет. Как долго люди, дающие этот совет, программировали? Это было бы одним из моих возражений. Я работал в США и Канаде в качестве разработчика и действительно не вижу проблем с этим в течение всей своей жизни, если я выберу это в качестве карьеры. Я работаю разработчиком с 1998 года, поэтому у меня есть опыт работы более 5 лет, и я все еще делаю то, что делаю. Могут быть различные переходы при переходе с места на место или выяснении того, какой прогресс они хотят достичь, например, стать менеджером, аналитиком или архитектором.
ИМО, программисты могут быть довольно социальными, хотя ключ в том, какую группу мы изучаем здесь. Я думаю, что собрание фанатов "Star Trek", которые также являются программистами, может устроить веселую вечеринку, хотя другие могут подумать, что это неубедительно.
Причиной расспросов об опыте является то, что он может помочь в предоставлении контекста для их совета. У всех есть предубеждения, которые не следует здесь забывать. Люди должны быть в состоянии следовать своим увлечениям, а для некоторых программирование - это их страсть. Я видел разработчиков, которые были настолько взволнованы разработкой программного обеспечения, что это было довольно заразно. Некоторые люди могут прогрессировать в других областях, а другие могут быть разработчиками в течение десятилетий. То, что работает для одного, может не работать для другого.
источник
Обычно, когда люди дают такой совет («Не будь обезьяной кода навсегда!»), Они не означают, что вы должны заниматься чем-то, не связанным с программированием, а переходят на руководящую должность, где вы тратите больше времени на планирование разработки и управления. команды, чем на самом деле кодирование. Это хорошо, и многие люди в конечном итоге предпочли бы эту альтернативу, но многие программисты абсолютно ненавидят эти обязанности типа «бизнес». Если вы любите программировать, у вас все еще есть возможности для продвижения, и старшие программисты во многих организациях не слишком отстают от своих менеджеров по зарплате и выплатам. В любом случае, когда вы приобретете больше опыта, вам будут предложены предложения и возможности для продвижения, вероятно, по обе стороны спектра. Используйте каждую возможность в каждом конкретном случае и решите, хотите ли вы взять на себя эту конкретную роль. Вы не сделали это звучит так, как будто вы ненавидите программирование в целом, но более того, вы боитесь того, что другие люди говорят вам о том, как обстоят дела.Не слушай их . Они не вы, и если вы любите кодировать, то продолжайте кодировать. В Programmers SE есть множество программистов, которые любят то, что они делают каждый день, и делают это в течение многих лет.
источник
Я просто высказывал недовольство всеми ответами, в которых говорится о некоторой вариации «просто продолжайте делать это, если вам это нравится», потому что я думаю, что это в конечном итоге правильный ответ - но потом я на минутку подумал об альтернативном представлении, чтобы посмотреть, смогу ли я придумать хорошего Devil's Advocate против опции «продолжай программировать» ....
Я думаю, что идея «продвигаться вперед» в программировании на самом деле не настолько уникальна для программирования. Скорее, это общий совет карьерного роста для очень многих технических профессий - по сути, любой, которая имеет тенденцию быть самоограничивающей и достаточно общей, чтобы ни один человек в действительности не стал мега-гуру в этом. Программирование, однако, может как бы посередине упасть. В этом смысле есть аргументы как за, так и против.
Позвольте мне объяснить, сравнивая быть хирургом и бухгалтером:
Кардиохирург, если она станет всемирно известным и выдающимся специалистом в своей области, может сделать очень хорошую и продуктивную карьеру, просто будучи кардиохирургом. Она может придумать специальную новую процедуру, которая революционизирует кардиохирургию и кардиологию, и продолжать спасать жизни, делая эти операции. Короче говоря, карьера более или менее начинается и заканчивается фактически выполнением технической работы, которую вы делаете лучше всего . Помимо, возможно, чтения лекций или написания о новой процедуре, которую она придумала - карьера в целом остается той же - технической.
С другой стороны, бухгалтер, вероятно, хочет заниматься классической, бухгалтерской работой низкого уровня, такой как налоговые декларации, только в первые годы своей карьеры. Я тоже не думаю, что бухгалтеры просто хотят быть обезьянами в налоговых декларациях за всю свою карьеру. Они предпочли бы перейти на более высокий уровень управления или основать свои собственные фирмы. В любом случае, шансы на то, что «естественный» карьерный ход для многих бухгалтеров - это не стандартная, базовая «техническая» работа и «повышение» до чего-то более управленческого и стратегического.
Дело в том, что если подумать об этих двух профессиях: с одной стороны, можно продолжать делать одно и то же на всю жизнь. Для других это выглядит непривычно. Я думаю, что это ключ - вот почему люди дают этот совет. У них в голове есть идея, что быть программистом - это грубая инженерная роль низкого уровня, и что вы не очень амбициозны в своей карьере, если просто продолжаете заниматься обезьяной кода всю жизнь. Для многих людей эта идея, вероятно, рождена из невежества. Для других, может быть, они просто хотят престижа двигаться вверх по иерархии управления.
В любом случае, я думаю, что это основное происхождение этого явления. Люди склонны считать многие технические профессии естественными ограничителями. Что по мере того, как люди становятся старше, им все равно не следует выполнять основную техническую работу, а скорее переходить на более высокий уровень управления или чего-то более высокого уровня, такого как ведение собственного бизнеса.
источник
Либо вы увлечены программированием, и в этом случае нет никаких причин прекращать это делать, никогда.
Или нет, в этом случае вам не следует делать это в первую очередь.
Если в какой-то момент страсть освобождает место для других вещей, это нормально, и когда это происходит, непременно найдите что-то еще, но в то же время наслаждайтесь!
источник
Если вы состоите в браке и / или имеете детей, то, скорее всего, вы покинете программу через несколько лет. Марши смерти являются нормой в этой отрасли, а не исключением, и многим супругам / детям не нравится, когда папа / мама так далеко от дома. Это причина того, что многие разработчики уходят от программирования к 30 годам.
Да, такого рода провалы со стороны менеджеров очень распространены - даже несмотря на то, что за последние 150 лет было четко задокументировано, что режим «хруста» является худшим из возможных способов выполнения работы . В США, согласно федеральному закону, все программисты «освобождены», что означает, что при отсутствии профсоюзного контракта мы не получаем сверхурочных.
http://codes.lp.findlaw.com/uscode/29/8/213
Мой совет - всегда иметь какой-то «План Б» - то, что вы будете делать, когда захотите или будете вытеснены. Для некоторых людей это включает переключение на управление / темную сторону. Иногда они делают это, потому что они не делают, не будут или не могут идти в ногу с изменениями в технологии. Иногда они делают это, потому что хотят решить проблемы, слишком большие для одного человека.
Если вы пришли из культуры, где ваши прошлые полномочия - это все, что имеет значение, и как только вы «взяли» курс по предмету, вам больше никогда не придется его изучать (я называю это теорией образования вакцин ), тогда вы будете обнаружите, что через несколько лет то, что вы узнали, бесполезно; для этой культурной точки зрения вам придется покинуть профессию, если «позор» постоянного обучения не беспокоит вас. Честно говоря, это обычно американские менеджеры, которые ходят в бизнес-школу с очень высоким статусом, которые страдают от этого, но я сталкивался с людьми, оскорбленными тем, что им пришлось заново учиться тому, что они взяли за годы до этого.
источник
Я никогда этого не слышал, и все это звучит смешно.
Если вы программист и вам это нравится, просто продолжайте в том же духе ... нет абсолютно никакой причины произвольно бросать и заставлять себя пытаться найти какую-то другую карьеру, чтобы заменить ее.
источник
Многие люди в Пакистане и Индии, кажется, переходят в другие ИТ-профессии через несколько лет. С индийскими компаниями, с которыми я работаю, у них есть политика только найма программистов; Все бизнес-аналитики, архитекторы, менеджеры проектов, администраторы баз данных и другие специалисты изначально были программистами. Это напоминает многие корпоративные магазины обработки данных в США до середины и конца 1980-х годов. Так что в организации такого типа, да, это ожидаемая норма «двигаться дальше», иначе может показаться, что вы не очень успешны. Мы пытаемся изменить это мышление, потому что в нашей группе мы считаем, что опытные разработчики чрезвычайно полезны для проектов. Пять лет - едва достаточное время, чтобы действительно хорошо справиться со своей работой в этой области.
В любом случае, я бы не позволил другим рассказать вам, что вы должны делать - хотя, если вы работаете в организации, как я описал, вам, возможно, придется подумать о долгосрочной жизнеспособности карьеры в программировании, если это не ожидается или не соблюдается, где ты.
источник
Я работаю разработчиком около десяти лет, поэтому, как и многие другие, которые уже разместили здесь, у меня есть немного опыта, относящегося к этому вопросу. Примерно через 5 лет я обнаружил, что мой интерес к этой области начал значительно снижаться. Я был одним из старших разработчиков в моей компании и был там довольно долго. Мне казалось, что мы всегда делали одни и те же старые вещи даже при переходе с Visual Basic 6 на C #, и я становился все более и более незаинтересованным, тратя слишком много времени на просмотр веб-сайтов и т. Д.
В компании, в которой я работал, никто не обращал внимания на то, что происходило в сообществе разработчиков за пределами нашего офиса. Такие концепции, как TDD и остальные практики XP, становились мейнстримом, шаблоны проектирования, SOLID , рефакторинг и тому подобное приобретали все большее значение. NET CLR принесла радость от дженериков, но мы ничего не знали об этом. Я свободно признаю, что я был частью этой проблемы, я не смотрел на то, что делали другие люди, но никто и не был в компании, включая разработчиков архитектуры программного обеспечения.
Поработав таким нерешительным образом в течение нескольких лет в нескольких других компаниях с похожим стилем, я обнаружил, что ищу новую работу и вижу множество терминов, которые ничего не значат для меня. К этому моменту я понял, что мне нужно многому научиться, и приступил к ускорению. Открывая блогосферу, подписываясь на подкасты, такие как .NET Rocksучастие в нескольких собраниях групп пользователей и другие подобные мероприятия позволили мне освоить лучшие отраслевые практики. При этом я начал восстанавливать свой интерес к разработке программного обеспечения. Незамедлительность тестирования некоторого нового кода с помощью структуры TDD, рефакторинга, чтобы придумать более чистое решение, и т. Д. Сделали весь опыт намного более увлекательным и подтолкнули меня к поиску работы, где такие навыки были бы желательны. Теперь впервые за много лет я люблю свою работу. То, о чем я никогда не думал, я бы сказал несколько коротких лет назад.
Смысл, после всех моих болтовней, состоит в том, чтобы постараться поддерживать связь с тем, что происходит за пределами вашей компании, за пределами вашей страны, даже если некоторые из ваших проблем могут быть весьма специфичными для конкретной культуры. Если вы можете найти интерес, волнение и мотивацию в том, что происходит, вы можете направить часть этого в свою повседневную рутину и сделать свою работу более приятной (и, возможно, сделать себя более эффективным и лучшим разработчиком, чем ваши коллеги, или даже помочь вытащить их с собой). Если после всего этого вы не испытываете энтузиазма к предмету, то, возможно, жизнь кодирования не для вас.
источник
В вашей карьере программиста вы (надеюсь) перейдете от базовой позиции начального уровня «Обезьяна кода» к старшему программисту, когда вы полностью познакомитесь с выбранным языком и использованием шаблонов проектирования, добавите навыки анализа / проектирования в станьте аналитиком программного обеспечения, соберите у некоторых людей навыки и сбор требований и станьте бизнес-аналитиком, затем смешайте аппаратную архитектуру и станьте системным аналитиком, и в этот момент вы получите шесть цифр и получите очень высокий спрос. Или, начиная со старшего, вы можете продолжить надзорную иерархию до руководителя группы, а затем менеджера проекта.
... но вы ВСЕГДА будете "программировать". У вас ВСЕГДА будет ситуация, когда вам лично нужно будет сесть и написать какой-нибудь код. Только после того, как вы выйдете за рамки того, чтобы стать частью команды разработчиков программного обеспечения, надзирать за командой разработчиков программного обеспечения и заниматься деньгами и логистикой проекта, вы перестанете делать это ежедневно и, возможно, перестанете называть себя «программистом».
источник
Программирование ничем не отличается от всего остального в жизни: некоторые вещи вы будете делать вечно, а другие более эфемерны. Программируйте столько, сколько вам нравится. Однажды вы можете чувствовать себя сытым, как после хорошей еды, и просто естественным образом перейти к чему-то еще, что вас привлекает. Но до тех пор я не стал бы слишком беспокоиться об этом. Как свидетельствуют другие ответы, не редкость наслаждаться карьерой программиста в течение многих десятилетий. :-)
источник
Есть много людей, которые только начинают программистскую карьеру, глядя на процветающий IT-сектор. Они на самом деле не заинтересованы в программировании, но они делают это просто, чтобы заработать на жизнь. Такие люди сыт по горло своей работой через некоторое время и могут дать вам такой совет.
Я давно программирую. Я начал программировать сам, когда учился в школе, и я все еще этим занимаюсь и буду заниматься этим всегда. Сейчас я учусь в университете и иногда целый день сижу пишу код не для того, чтобы выполнять свои задания или зарабатывать, а потому, что мне это нравится. Я не чувствую, что я что-то упускаю.
Ответ прост - если вам это нравится, делайте это, если вам не нравится, не делайте этого. Если вам больше нравятся управленческие вещи, чем программирование, переход к менеджменту не помешает после 5 лет опыта программирования.
Вы можете обнаружить, что некоторые программисты не очень общительны. Но это естественно для них. Они проводят много времени на отвратительных вещах, поэтому их социальные навыки немного развиты. (Google «Проблемы умных людей», чтобы узнать больше.) Если вы сейчас общаетесь, я не думаю, что вы станете менее общительным в будущем из-за программирования. Единственное, что ты проводишь на работе. Если вы думаете, что проводите весь день в офисе, тогда есть проблема. Из-за характера заданий на программирование вам, возможно, придется иногда сидеть на часах. Но если это происходит очень часто на вашем текущем рабочем месте, вы можете попробовать перейти на другую работу.
источник
Не знаю о ситуации в Пакистане, но в моей стране эта профессия очень дурная и хуже оплачиваемая. Я буду программировать наверняка всю свою жизнь и изучать новые языки, потому что это то, что мне действительно нравится. Вопрос в том, придется ли мне переходить на другую работу и писать код только как хобби. Или, может быть, я сбегу из своей страны, кто знает ... Но программирование - это способность делать вещи, за которые должны платить другие люди.
источник
Просто еще одна мысль: нет ничего плохого в том, чтобы продвигаться вверх по корпоративной лестнице, занимаясь кодированием в свободное время. Я считаю, что кодирование - это хороший релиз от утомительных деловых встреч по спецификациям и анализу, которые проводятся в качестве руководителя группы технических услуг. Я на самом деле оказался в этой теме, разыскивая что-то в Stack Overflow о Ruby on Rails, чему я очень хорошо учусь.
Кроме того, оставаясь острым с технической стороны, вы продолжите развивать сильные технические навыки, которые помогут в будущем. Программисты, как правило, лучше уважают менеджера, который может говорить и говорить и гулять. У меня такое ощущение, что человек, который сказал вам этот совет, не попадает в эту категорию.
источник
То, что ваши друзья говорят о программистах, одинаково применимо к любому, кто глубоко занят в любой сложной области.
Итак, ваш вопрос на самом деле: «Хочу ли я иметь карьеру, которая требует высокой степени преданности, чтобы другие области моей жизни могли быть несколько скомпрометированы, или я хочу сделать что-то, о чем я могу полностью забыть, когда уйду с работы в ночь и вернуться на следующее утро?
Вы должны хорошо знать себя, чтобы ответить на этот вопрос, и ответ может со временем измениться.
ИМО, если вы чувствуете себя удовлетворенным и испытанным как программист, выбирайте это - не беспокойтесь об этом, пока не обнаружите, что жаждете перемен (или не можете найти работу ...) - если и когда это время придет, придет.
НТН
источник
Мой отец работает программистом в течение последних 24 лет. Раньше он говорил мне только одну вещь: «Слишком много всего ни к чему хорошему». Но это не подходит для программирования.
источник
Программирование - действительно сложная область и с небольшим вознаграждением, если сравнивать ее с другими профессиями, особенно в Пакистане. Когда я был в Пакистане, я слышал о молодых талантливых программистах, которым давали хорошую зарплату (не так уж и много), но им пришлось брать с них много масла. Я лично не хотел бы программировать в течение длительного времени. Но тогда я должен что-то делать :) И программирование это весело, кстати.
Вы получаете большой опыт, как вы стареете, что входит в ваше резюме. Я слышал это, и я думаю, что это не правда. Конечно, если вы находитесь в состоянии ума, в котором вы не можете сосредоточиться или потерять интерес, вы не сможете программировать. Таким образом, ваша общественная жизнь, особенно проблемы и интересы, могут сильно повлиять на ваши навыки в этой области.
Я бы лично отошел от программирования и пошел на государственную службу, но тогда программирование - это тоже весело. И ты должен быть немного сумасшедшим, чтобы быть программистом.
источник
По моему опыту, на руководящих должностях в области ИТ есть два типа специалистов
Все зависит от того, куда вы хотите перейти. Если вы предвидите, что пишете код до выхода на пенсию, вам нужен последний вариант. Но если вы хотите быть руководителем группы и управлять людьми вместо кода, первый вариант будет лучшим вариантом.
Там нет правильного ответа. Многим из нас здесь действительно нравится писать код и программировать, решать мелкие проблемы. Но есть также много людей, которым нравится «большая картинка», например, управление людьми / проектами.
Это не просто сторона развития ИТ. Вы видите эту же «профессиональную развилку в дороге» в других аспектах, таких как сетевое взаимодействие, администрирование баз данных, системное администрирование и т. Д.
источник