Sou um desenvolvedor pouco experiente, com aproximadamente 5 anos de experiência em PHP e um pouco menos em Java, C # e tentando aprender alguns Python atualmente. Desde o início da minha carreira como programador, de tempos em tempos me disseram por colegas programadores que a programação é adequada para os primeiros anos de uma carreira (a maioria leva 5 anos) e que é preciso mudar a direção depois isto. A razão pela qual eles apresentam incluem dores de cabeça e pressões associadas à programação. Eles também dizem que os programadores são menos sociais e geralmente não gostam de dar tempo para suas famílias, etc. e especialmente "Ah, vamos lá, você não pode programar sua vida inteira!"
Estou um pouco confuso aqui e preciso perguntar aos outros sobre isso. Se eu sair da programação, o que eu faço ?! Eu acho que o ensino pode ser uma boa opção nesse caso, mas talvez seja necessário primeiro obter um doutorado. Também pode ser digno de nota que, no meu país (Paquistão), a vida de um programador não é muito boa, pois normalmente eles precisam dedicar 2-3 horas extras no escritório para realizar tarefas urgentes de programação. Sinto que a situação também é semelhante em outros países e regiões.
Você acha que é aconselhável mudar de carreira de programação para outra depois de passar 5 anos nesse campo?
ATUALIZAR
Oh uau ... Eu nunca soube que as pessoas podem ter mais de 40 anos de experiência neste campo. Estou animado e surpreso ao ver que as pessoas estão fazendo isso desde 1971 ... Isso significa 15 anos antes do meu nascimento! É bom poder conversar com pessoas tão experientes que não temos essa chance aqui no Paquistão.
Obrigado novamente por toda a ajuda e compartilhamento. Foi uma experiência agradável ter seus pensamentos sobre isso.
fonte
Respostas:
Não acho que seja uma pergunta que possa receber uma resposta geral sempre correta, exceto, talvez, pelo antigo "Depende".
O conselho mais simples é: se a programação é o que você mais gosta de fazer, não pare, a menos que isso mude.
Existem muitos outros fatores a serem considerados, como mercado de trabalho, oportunidades de promoção, localização e, claro, salário, mas a coisa mais importante em qualquer decisão de carreira é a pergunta "Isso vai me fazer feliz ?"
fonte
Temos vários programadores em que trabalho na casa dos 50 anos que programam há mais de 20 anos. Se é isso que você quer fazer, não deixe ninguém lhe dizer que isso é apropriado apenas para os jovens.
fonte
Estou lançando código há 21 anos, então acho que estou qualificado para comentar sobre isso.
Primeiro de tudo, há um número não trivial de pessoas que começam como programadores com total intenção de mudar para uma posição de gerenciamento depois de alguns anos. Eles não escrevem código porque gostam de escrever código, escrevem código porque o veem como um passo necessário no caminho para seu objetivo real. Eu suspeito que essas são as pessoas que estão dizendo para você sair da faixa de codificação o mais rápido possível.
Existem pessoas como eu que gostam de programar por si mesmas e cujas habilidades são, digamos, menos que adequadas para um cargo de gerência (tentei uma vez e foi um desastre para todos os envolvidos).
É possível permanecer na pista técnica e avançar em remuneração e responsabilidade. E há muitas posições para homens mais velhos também. Tenho 46 anos, e todos, exceto um dos outros caras do meu time, são mais velhos do que eu.
Embora eu conheça alguns programadores mais antigos que se enquadram no estereótipo do MIT übergeek, sinto-me confiante em afirmar que isso não é verdade em geral. Eu e a maioria dos programadores que conheço da minha idade, temos famílias, tiramos o tempo necessário e geralmente levamos uma vida normal. Não somos animais de festa, mas também não somos monges.
Sim, existem muitos trabalhos de programação ruins por aí. No entanto, existe um esforço real da parte do setor para equilibrar a vida profissional e pessoal, e muitas empresas de software estão fazendo o que podem para evitar os cenários da marcha da morte. Sempre haverá corridas (estou no meio de uma agora, é apenas a natureza dos negócios), mas as maratonas estão se tornando cada vez menos distantes.
fonte
Parece-me o conselho clássico de grandes empresas que ainda está sendo lançado após décadas.
Basicamente, um dos problemas com a progressão na carreira é que muitas empresas não estão preparadas para oferecer uma carreira (em oposição a um emprego) para desenvolvedores. Em muitas outras ocupações, você tende a avançar lentamente através de camadas de responsabilidade de gerenciamento ou especializações adicionais que exigem experiência e certificações adicionais para obter se você deseja permanecer em uma função de não gerência. A parte importante, no entanto, é que há uma progressão de carreira conhecida nesses campos, como "farei parceria um dia" ou "vou abrir minha própria clínica".
Por alguma razão, muitas empresas que parecem ter adotado a mentalidade de que "codificação" 1 é apenas algo que você solicita ao pool de digitação de acordo com as especificações detalhadas que o arquiteto de software lançou. Como é visto como uma ocupação de baixo nível, você não progride na carreira como alguém que escreve software para ganhar a vida, a menos que você pare de ser um profissional e passe para a camada de gerenciamento.
O que eu acho desconcertante é que a IBM notou, nos anos 70, que não oferecer uma carreira que não fosse de gerenciamento os deixava com um monte de gerentes ruins que costumavam ser desenvolvedores extremamente bons. Isso é conhecido na indústria há muito tempo, mas o memorando não chegou ao RH ou as pessoas basicamente não se importam o suficiente com esse problema.
Agora, desenvolvo software profissionalmente desde o final dos anos 80 / início dos anos 90 e ainda programa principalmente para ganhar a vida. Sim, eu "dediquei tempo" ao gerenciamento em vários estágios da minha carreira, mas achei que estou mais feliz criando software (e possivelmente fazendo um pouco de gerenciamento ao lado) do que escalando o que a carreira 'oficial' deveria estar.
Existem empresas por aí que reconhecem o valor que os engenheiros de software experientes podem trazer para a mesa. O truque é encontrá-los se você quiser ter uma carreira de longo prazo no desenvolvimento de software. Eu não acho que ter pessoas que saem da 'codificação' após 4-5 anos é uma boa idéia, a menos que desejemos repetir constantemente os erros do passado, porque não há memória deles.
1 Estou usando isso como uma abreviação para o desenvolvimento de software e para mostrar como a ocupação é frequentemente vista por aqueles que não estão envolvidos nela - para citar o PHB "se não consigo entender, deve ser fácil".
fonte
Não, acho que é um péssimo conselho. Há quanto tempo as pessoas que dão esse conselho estão programando? Essa seria uma das minhas respostas. Eu trabalhei nos EUA e no Canadá como desenvolvedor e realmente não vejo problema em fazer isso por toda a minha vida, se eu escolher que essa é minha carreira. Sou desenvolvedor desde 1998, então tenho muito mais de 5 anos em campo e ainda faço o que faço. Pode haver várias transições que se tem de ir de um lugar para outro ou descobrir que tipo de progressão eles querem ter, por exemplo, tornar-se gerente, analista ou arquiteto.
Na IMO, os programadores podem ser bastante sociais, embora a chave seja que tipo de grupo estamos examinando aqui. Uma coleção de fãs de "Jornada nas Estrelas", que também são programadores, poderia ter a festa que eu imagino, embora outros possam pensar que isso é ruim.
O motivo para perguntar sobre a experiência é que ela pode ajudar a fornecer contexto para seus conselhos. Todo mundo tem preconceitos que não devem ser esquecidos aqui. As pessoas devem ser capazes de seguir suas paixões e para algumas pessoas a programação é sua paixão. Vi desenvolvedores que estavam tão empolgados com o desenvolvimento de software que foram bastante contagiosos. Algumas pessoas podem progredir em outros campos e outras ainda desenvolvedores por décadas. O que funciona para um pode não funcionar para outro.
fonte
Geralmente, quando as pessoas dão esse tipo de conselho ("Não seja um macaco de código para sempre!"), Elas não significam que você deva buscar algo não relacionado à programação, mas escolhe um cargo de gerência em que passa mais tempo planejando o desenvolvimento e o gerenciamento. equipes do que realmente codificação. Isso é bom, e muitas pessoas preferem essa alternativa eventualmente, mas muitos programadores detestam essas responsabilidades do tipo "comercial". Se você gosta de codificar, ainda há espaço para avançar, e os programadores seniores de muitas organizações não estão muito atrás dos gerentes em termos de salário e benefícios. De qualquer forma, à medida que você ganha mais experiência, você recebe ofertas e oportunidades para avançar, provavelmente nos dois lados do espectro. Aproveite cada oportunidade caso a caso e decida se deseja assumir esse papel específico. Você não fez parecer que você odeia programação em geral, mas tem mais medo do que as outras pessoas estão dizendo sobre como as coisas são.Não os escute . Eles não são você e, se você gosta de codificar, continue codificando. Existem muitos programadores no Programmers SE que adoram o que fazem todos os dias e o fazem há muitos anos.
fonte
Eu estava apenas votando todas as respostas que dizem alguma variação de "continue fazendo isso se você o ama", porque acho que essa é a resposta certa - mas depois pensei na visão alternativa por um minuto, para ver se consigo invente um bom advogado do diabo contra a opção "continuar programando" ...
Eu acho que a idéia de "subir e sair" da programação não é tão exclusiva da programação. Em vez disso, é um conselho geral de progressão na carreira para muitas profissões técnicas - essencialmente, todas as que tendem a ser autolimitadas e gerais o suficiente para que ninguém se torne realmente um mega guru. A programação, no entanto, pode cair no meio. Existem argumentos a favor e contra nesse sentido.
Deixe-me explicar comparando ser cirurgião versus contador:
Um cirurgião cardíaco, se ela se tornar mundialmente reconhecida e ótima em seu campo, pode ter uma carreira muito boa e produtiva simplesmente sendo cirurgião cardíaco. Ela pode criar um novo procedimento especial que revoluciona a cirurgia cardíaca e a cardiologia, e continua a salvar vidas fazendo essas operações. Em suma, a carreira mais ou menos começa e pára na realização do trabalho técnico que você faz melhor . Além de talvez dar palestras ou escrever sobre o novo procedimento que ela criou - a carreira continua basicamente a mesma - técnica.
Um contador, por outro lado, provavelmente só quer fazer um "trabalho contábil" clássico e de baixo nível, como declarações de impostos pessoais apenas nos primeiros anos de sua carreira. Eu também não acho que os contadores possam simplesmente querer ser macacos que processam números de declarações fiscais durante toda a sua carreira. Eles preferem subir na gerência ou abrir suas próprias empresas. De qualquer forma, é provável que uma mudança de carreira "natural" para muitos contadores esteja fora do padrão, do trabalho "técnico" básico e "suba" para algo mais gerencial e estratégico.
O ponto é que, se você pensar nessas duas carreiras: para uma, não há problema em continuar fazendo a mesma coisa pela vida toda. Para o outro, parece ambicioso. Eu acho que essa é a chave - é por isso que as pessoas dão esse conselho. Eles têm uma ideia em mente de que ser programador é um papel de engenharia de baixo nível e que você não é realmente ambicioso com sua carreira se continuar fazendo o trabalho de código por toda a vida. Para muitas pessoas, essa ideia provavelmente nasceu da ignorância. Para outros, talvez eles apenas desejem o prestígio de subir na hierarquia de gerenciamento.
De qualquer forma, acho que essa é a origem básica desse fenômeno. As pessoas tendem a pensar em muitas profissões técnicas como naturalmente limitantes. Que, à medida que as pessoas envelhecem, elas ainda não deveriam estar fazendo o trabalho técnico pesado, mas passam para a gerência ou para algo "de nível superior" em geral, como administrar seus próprios negócios.
fonte
Ou você é apaixonado por programação; nesse caso, não há motivo para parar de fazê-lo.
Ou não, nesse caso, você não deveria estar fazendo isso em primeiro lugar.
Se, em algum momento, a paixão abrir espaço para outras coisas, tudo bem, e quando isso acontecer, encontre todos os meios para fazer, mas, enquanto isso, aproveite!
fonte
Se você é casado e / ou tem filhos, provavelmente sairá da programação depois de alguns anos. As marchas da morte são a norma nesse setor, não a exceção, e muitos cônjuges / filhos não gostam de ter papai / mamãe longe de casa. É por isso que muitos desenvolvedores deixam a programação aos 30 anos.
Sim, esse tipo de confusão por parte dos gerentes é muito comum - embora tenha sido claramente documentado nos últimos 150 anos que o modo crunch é a pior maneira possível de realizar o trabalho . Nos EUA, por estatuto federal, todos os programadores são "isentos", o que significa que, na ausência de um contrato sindical, pelo contrário, não temos horas extras.
http://codes.lp.findlaw.com/uscode/29/8/213
Meu conselho é sempre ter algum tipo de "Plano B" - algo que você fará quando quiser sair ou será empurrado para fora. Para algumas pessoas, isso envolve mudar para o lado obscuro ou de gerenciamento. Às vezes, eles fazem isso porque não fazem, não querem ou não conseguem acompanhar as mudanças na tecnologia. Às vezes, eles fazem isso porque querem resolver problemas grandes demais para uma pessoa resolver.
Se você vem de uma cultura em que sua credencial passada é tudo o que importa, e depois de "fazer" um curso sobre um assunto, você nunca mais precisa estudá-lo (eu chamo isso de teoria da educação em vacinas ), então você descubra que depois de alguns anos o que você aprendeu não é útil; para esse ponto de vista cultural, você terá que deixar a profissão, a menos que a "vergonha" de aprender constantemente não seja algo que o incomode. Para ser honesto, geralmente são os gerentes americanos que frequentam uma escola de negócios de status muito elevado que sofrem com isso, mas eu me deparei com pessoas ofendidas por ter que reaprender algo que haviam tomado anos antes.
fonte
Eu nunca ouvi isso, e tudo isso soa ridículo.
Se você é um programador e gosta, continue ... não há absolutamente nenhuma razão para sair arbitrariamente e forçar-se a lutar para encontrar outra carreira para substituí-la.
fonte
Muitas pessoas no Paquistão e na Índia parecem se mudar para outras profissões de TI depois de alguns anos. Com as empresas indianas com quem trabalho, elas têm uma política de contratar apenas programadores; todos os analistas de negócios, arquitetos, gerentes de projeto, administradores de banco de dados e outros especialistas começaram originalmente como programadores. Isso é remanescente de muitas lojas de processamento de dados corporativos nos EUA até meados da década de 1980. Portanto, nesse tipo de organização, sim, é a norma esperada "seguir em frente", caso contrário, parece que você não tem muito sucesso. Estamos tentando mudar essa mentalidade porque, em nosso grupo, consideramos os desenvolvedores altamente experientes extremamente vantajosos para os projetos. Cinco anos mal são tempo suficiente para ser realmente bom no seu trabalho neste campo.
De qualquer forma, eu não deixaria que os outros lhe dissessem o que você deveria fazer - embora, se você trabalha em uma organização como a que descrevi, seja necessário considerar a viabilidade a longo prazo de uma carreira em programação, se isso não for esperado ou respeitado. tu es.
fonte
Trabalho como desenvolvedor há cerca de uma década. Assim como muitos outros que já postaram aqui, tenho um pouco de experiência pertinente à pergunta. Por volta dos 5 anos, eu realmente descobri que meu interesse no campo começou a diminuir consideravelmente. Eu era um dos desenvolvedores seniores da minha empresa e estava lá há um bom tempo. Parecia que estávamos sempre fazendo as mesmas coisas antigas, mesmo ao mudar do Visual Basic 6 para C #, e fiquei cada vez mais desinteressado, gastando muito do meu tempo navegando em sites etc.
A empresa em que trabalhei não tinha ninguém prestando atenção no que estava acontecendo na comunidade de desenvolvimento fora de nosso escritório. Conceitos como TDD e o restante das práticas do XP estavam se tornando populares, padrões de design, SOLID , refatoração e similares ganhavam importância, o .NET CLR introduziu a alegria dos genéricos, mas não sabíamos nada disso. Admito livremente que fiz parte do problema, não estava olhando para o que as outras pessoas estavam fazendo, mas também não havia mais ninguém na empresa, incluindo os tipos de arquiteto de software.
Depois de flutuar dessa maneira tímida por alguns anos e em algumas outras empresas com estilos semelhantes, me vi procurando um novo emprego e vendo uma carga de termos que não significavam nada para mim. Nesse ponto, percebi que tinha muito a aprender e decidi me atualizar. Descobrindo a blogosfera, assinando podcasts como o .NET Rocks, participando de algumas reuniões de grupos de usuários e outras atividades desse tipo me acompanharam das melhores práticas do setor. Ao fazer isso, comecei a recuperar meu interesse no desenvolvimento de software. O imediatismo de testar algum código novo com uma estrutura TDD, refatorar para criar uma solução mais limpa etc. tornou toda a experiência muito mais divertida e me levou a procurar um emprego em que essas habilidades fossem desejáveis. Agora, pela primeira vez em anos, eu amo meu trabalho. Algo que eu nunca pensei que diria alguns anos atrás.
O ponto, depois de toda a minha tagarelice, é tentar manter contato com o que está acontecendo fora da sua empresa, fora do seu país, mesmo que alguns dos seus problemas possam ser bastante específicos da cultura. Se você puder encontrar interesse, entusiasmo e motivação no que está acontecendo, poderá canalizar parte disso de volta à sua rotina diária e tornar sua vida profissional mais agradável (e possivelmente se destacar como um desenvolvedor mais eficiente e melhor do que seus colegas, ou até mesmo ajudá-los a acompanhá-lo). Se você não sentir entusiasmo pelo assunto depois de tudo isso, talvez a vida de codificação não seja para você.
fonte
Em sua carreira como programador, você (esperançosamente) passará da posição básica de "código-macaco" de nível básico para o programador sênior à medida que se familiarizar totalmente com o idioma escolhido e o uso de padrões de design, adicione habilidades de análise / design a torne-se analista de software, adquira habilidades de algumas pessoas e coleta de requisitos e torne-se analista de negócios, depois misture alguma arquitetura de hardware e torne-se analista de sistemas; nesse ponto, você estará fazendo seis dígitos e com uma demanda muito alta. Ou, no Senior, você pode continuar na hierarquia de supervisão para liderar a equipe e, em seguida, gerente de projeto.
... mas você SEMPRE estará "programando". Você sempre terá uma situação em que pessoalmente precisará sentar e escrever algum código. Somente quando você avança além do ponto de fazer parte de uma equipe de software, para supervisionar uma equipe de software e lidar com o dinheiro e a logística do projeto, você para de fazê-lo diariamente e, provavelmente, para de se chamar de "programador".
fonte
Programar não é diferente de qualquer outra coisa na vida: algumas coisas que você fará para sempre, enquanto outras são mais efêmeras. Programe pelo tempo que quiser. Um dia você pode se sentir satisfeito, como depois de uma boa refeição, e naturalmente seguir adiante para outra coisa que o envolva. Mas até então eu não me preocuparia muito com isso. Como evidenciado por outras respostas, não é incomum desfrutar de uma carreira de programação por muitas décadas. :-)
fonte
Há muitas pessoas que iniciam uma carreira de programação olhando para o setor de TI em expansão. Eles não estão realmente interessados em programação, mas fazem isso apenas para ganhar a vida. Essas pessoas ficam cansadas de seu trabalho depois de algum tempo e podem lhe dar esse conselho.
Estou programando há muito tempo. Comecei a me programar quando estava na escola e ainda o faço e continuarei fazendo isso para sempre. Estou estudando na universidade agora e às vezes fico o dia inteiro escrevendo código para não concluir minhas tarefas ou ganhar dinheiro, mas porque eu amo isso. Não sinto falta de nada.
A resposta é simples - se você gosta, não gosta. Se você gosta mais de coisas relacionadas ao gerenciamento do que à programação, não há mal em mudar para o gerenciamento após cinco anos de experiência em programação.
Você pode achar que alguns programadores não são muito sociais. Mas isso chega a eles naturalmente. Eles gastam muito tempo com coisas nerds e, portanto, suas habilidades sociais são um pouco subdesenvolvidas. (Google "problemas de pessoas inteligentes" para saber mais.) Se atualmente você é social, acho que não se tornaria menos social no futuro por causa da programação. A única coisa é o tempo que você gasta no trabalho. Se você acha que está passando o dia inteiro no escritório, há um problema. Devido à natureza dos trabalhos de programação, às vezes é preciso ficar horas extras. Mas se isso acontecer com muita frequência no local de trabalho atual, você pode tentar mudar para outro emprego.
fonte
Não sei a situação no Paquistão, mas no meu país essa profissão é muito ruim e mal paga. Vou programar com certeza toda a minha vida e aprender novos idiomas, porque é algo que realmente gosto. A questão é se terei que mudar para um trabalho diferente e escrever código apenas como um hobby. Ou talvez eu fuja do meu país, quem sabe ... Mas programar é ter o poder de fazer coisas pelas quais outras pessoas têm que pagar.
fonte
Apenas mais um pensamento: não há nada de errado em subir a escada corporativa durante a codificação no seu tempo livre. Acho que a codificação é uma boa versão das reuniões de análise e especificação de negócios tediosas que acompanham a liderança de uma equipe de serviços técnicos. Na verdade, acabei neste tópico procurando algo no Stack Overflow sobre Ruby on Rails, que estou me divertindo muito aprendendo.
Além disso, mantendo-se perspicaz no lado técnico, você continuará desenvolvendo fortes habilidades técnicas que ajudarão no futuro. Os programadores tendem a ter um melhor respeito por um gerente que pode falar e conversar. Sinto que a pessoa que lhe disse esse conselho não se enquadra nessa categoria.
fonte
O que seus amigos dizem sobre programadores é igualmente aplicável a qualquer pessoa que esteja profundamente envolvida em qualquer campo desafiador.
Portanto, sua pergunta é realmente: "Quero ter uma carreira que exija um alto grau de dedicação, de modo que outras áreas da minha vida possam ficar um pouco comprometidas, ou quero fazer algo que possa me esquecer completamente quando deixar o trabalho em noite e voltar na manhã seguinte? "
Você precisa se conhecer bem para responder a essa pergunta, e a resposta pode mudar com o tempo.
A IMO, desde que você se sinta satisfeito e desafiado como programador, faça o mesmo - não se preocupe, a menos que se sinta ansioso por uma mudança (ou não consiga encontrar trabalho ...) - se e quando vem, virá.
HTH
fonte
Meu pai trabalha como programador nos últimos 24 anos. Ele costumava dizer apenas uma coisa para mim: "Demais é bom para nada". Mas não é adequado para programação.
fonte
A programação é realmente um campo difícil e com pouca recompensa quando você o compara com outras profissões, especialmente no Paquistão. Quando eu estava no Paquistão, ouvi falar de jovens programadores talentosos que recebiam um bom salário (não é tão bom assim), mas tinham que tirar muito petróleo deles. Eu, pessoalmente, não gostaria de programar por um longo tempo. Mas então eu faço alguma coisa :) E a programação é divertida por sinal.
Você adquire muita experiência à medida que envelhece, de modo que isso aconteça em seu currículo. Ouvi isso e acho que não é verdade. É claro que se você estiver em um estado de espírito em que não é capaz de se concentrar ou perder interesse, não pode realmente programar. Portanto, sua vida social, especialmente problemas e interesses, pode influenciar bastante suas habilidades nessa área.
Eu pessoalmente mudaria um pouco da programação e iria para o serviço público, mas a programação também é divertida. E você tem que ser um pouco louco para ser um programador.
fonte
Na minha experiência, existem dois tipos de profissionais em posições de TI sênior.
Tudo depende de onde você deseja se ramificar. Se você se prevê escrevendo código até a aposentadoria, deseja a última opção. Mas se você quer ser o líder da equipe e gerenciar pessoas em vez de código, o primeiro seria a melhor opção.
Não há resposta certa. Muitos de nós aqui realmente gostamos de escrever código e programação, resolvendo os problemas básicos. Mas também existem muitas pessoas que apreciam o lado "pictuer maior", como gerenciar pessoas / projetos.
Este não é apenas o lado do desenvolvimento da TI. Você vê essa mesma "bifurcação profissional na estrada" em outros aspectos, como rede, administração de banco de dados, administração de sistema etc.
fonte