Como jovem desenvolvedor, devo me preocupar em ter que usar tecnologia "fora de moda" no trabalho? [fechadas]

11

Sou recém-formado (em maio último!). Enquanto eu ainda estava na escola, queria ter um emprego antes de me formar e, muito cedo (provavelmente muito cedo) em minha busca de emprego, decidi por um em uma região na qual esperava mudar para depois da graduação .

No entanto, tenho adivinhado esta decisão há meses, por várias razões. Uma é que não sou muito desafiado no trabalho e sinto que não melhorei muito em programação desde o início aqui. No entanto, sempre posso ter tempo para trabalhar em código aberto (e no passado) fora do meu trabalho, por isso tenho um local para contornar essa decepção. Mais importante, estou preocupado com o fato de que meu trabalho é basicamente trabalhar em um aplicativo da web Perl antigo e barulhento (usando Mason e um ORM estranho interno).

Estou dando um tiro no pé aqui trabalhando com uma tecnologia que não é mais popular e que realmente não me ajudará a conseguir um emprego no futuro? Eu raramente vejo trabalhos em Perl e, quando vejo, geralmente está fazendo algo em que não estou interessado (coisas de desenvolvimento da Web de front-end).

Programação de sistemas, visualização, programação de rede ou, pelo menos, material de desenvolvimento web de back-end são os tipos de tópicos nos quais eu realmente gostaria de trabalhar - não parece que minha experiência atual de trabalho esteja me ajudando a ocupar cargos com essas coisas. .

Schwern
fonte
12
Você está atirando no próprio pé, não, claro que não. Alguém tem que fazer o que você está fazendo, às vezes você tem que fazer esse tipo de trabalho para ter experiência, MAS, se o seu infeliz procurar outro trabalho. É possível gostar do seu trabalho e ser pago por ele. Nem todo trabalho oferece um desafio, é assim que o mundo é, não há nada de errado em usar ferramentas internas e Perl.
Ramhound
13
Pelo menos não é MUMPS!
Martin Beckett
1
Estou infeliz, não por causa do Perl (que é realmente divertido), mas porque não estou crescendo como programador. Eu posso trabalhar em coisas fora do trabalho para me aperfeiçoar - é muito difícil, já que tenho pouco tempo (também sou músico profissional, por isso estou dando risadas, ensinando, gravando e estudando em um conservatório local durante a maior parte do tempo). tempo que eu não estou trabalhando). Acho que estou dizendo que quero um emprego que funcione para mim a esse respeito e tenho medo de como minha posição atual afetará minha capacidade de encontrar um emprego como esse.
Schwern
5
@ schwern: O que eu não me preocuparia. Basta colocar esses idiomas no seu currículo e solicitar seu próximo emprego. :-)
Giorgio
7
Perl é essencialmente a fita adesiva da programação que nunca é demais conhecer e pode ser e é usada para praticamente qualquer coisa.
Ryathal 13/12/19

Respostas:

51

Antes de tudo, pare de pensar que seu trabalho não está contribuindo para o seu emprego dos sonhos! Todo trabalho faz! Tudo depende apenas de você!

  • Este é o seu primeiro emprego após a formatura e todos podem entender que você não teve uma boa escolha ou pode ter considerado outros fatores, como mudar para o local onde gostaria de ficar. Esta é uma "desculpa" válida, você pode mencionar se for solicitada diretamente durante uma entrevista de emprego.
  • Todo trabalho de programação contribui para a sua experiência como desenvolvedor. Existem muitas coisas independentes de idioma que todo desenvolvedor precisa aprender sozinho (implementando arquiteturas fracamente acopladas, depurando e criando um perfil do código, escrevendo testes de unidade etc ...) que podem ser aprendidas em QUALQUER idioma , e Perl não é o pior usar. Eu praticava todos os três no desenvolvimento de VBA para o MS Access e isso foi muito divertido.
  • Isso não é produtivo, afinal : contanto que você considere seu trabalho atual chato e inútil, não aprenderá muito com ele. Em muitos casos, seu futuro empregador estaria interessado em sua "curva de aprendizado" - quão rápido você é em dominar novas tecnologias, não em quão chato foi seu último emprego!

Portanto, as maneiras que ajudam você são as seguintes:

  • Tente dominar o idioma com o qual você está trabalhando o mais profundamente possível . Assista à tag perl no site SO e tente responder à pergunta que as pessoas fazem lá. Leia artigos sobre muitos recursos para desenvolvedores, etc. Tente se tornar um guru nessa área!
  • O Perl é uma linguagem de múltiplos paradigmas, agora suportando OOP e muitos outros paradigmas. Tente separá-los do idioma e olhe para eles individualmente. Que tipo de herança possui Perl? Quais são os diferentes tipos de modificadores de acesso disponíveis aqui para classes e membros da classe etc? É fortemente digitado ou não? Muitos idiomas funcionam da mesma maneira, desde que você saiba como ele funciona em geral, você capturará facilmente a diferença em outros idiomas. .
  • Adquira um profundo conhecimento do seu sistema atual : por que ele é implementado no Perl? Como diferentes aspectos, como desempenho, segurança e confiabilidade, são resolvidos aqui? Quais são os problemas não resolvidos, advertências, possíveis violações? Como você lidaria com eles? Talvez exista alguma refatoração razoável da base de código atual.

E não permaneça neste trabalho por muito tempo se estiver insatisfeito com ele - apenas o suficiente para aprender habilidades básicas, mostrar sua vontade de aprender e sua força de vontade para superar o embotamento de suas tarefas!

Quando você se candidata ao seu segundo emprego em um futuro mais ou menos próximo, ainda pode ser tratado como um desenvolvedor júnior! Você deve tentar enfatizar o que aprendeu em seu primeiro emprego, como lidou com os problemas de manutenção do código legado e do sistema brownfield, como conseguiu ampliar seus horizontes e quais novos recursos interessantes você aprendeu lá.

Nunca, nunca diga durante a entrevista de emprego que você está entediado com o seu emprego atual e essa é a razão pela qual você está procurando outra coisa. "Chato" é tão subjetivo e geralmente significa que você não é bom o suficiente para enfrentar o desafio de aprender as coisas na sua posição atual e aplicá-las de acordo. Mostre sua vontade de aprender, de expandir seu conhecimento e você conseguirá o emprego dos seus sonhos, tenho certeza.

Alexander Galkin
fonte
2
+1 para qualquer conselho que sugira que os graduados sigam as decisões, mesmo que se arrependam mais tarde. Perdi a conta do número de candidatos que entrevistei que deram um tiro no pé durante a entrevista. Se um candidato admitir estar entediado com o nível de trabalho esperado de um graduado, fica na mente dos entrevistadores que eles ficarão satisfeitos se eu os empregar. Meu conselho a qualquer novo funcionário, graduado ou não, é procurar desafios no trabalho e envolver-se plenamente. Na pior das hipóteses, eles ganharam uma grande indicação e, na melhor das hipóteses, avanços e maiores desafios.
S.Robins
Seu entusiasmo acabou de fazer o meu dia. +1 para obter conselhos muito sólidos.
Raveline
I entrevistar regularmente candidatos para uma das maiores empresas de software, e isso definitivamente não machucar um candidato ter saído da faculdade em um trabalho que é essencialmente um padrão de exploração.
Chris Pitman
1
+1 - Pessoas fortes não ficam lá e esperam que as oportunidades venham bater, elas se levantam e as criam.
Desolate Planet
7

Os primeiros trabalhos na indústria de software costumam ser de baixa qualidade. Enquanto aprender algumas habilidades de programação, a educação mais importante que você está recebendo é como trabalhar em uma empresa.

Aparecer regularmente, trabalhando mais de 8 horas por dia, usando software de controle de origem, lidando com chefes e colegas de trabalho, recebendo essa ligação às 3h da manhã porque o servidor de produção caiu e precisa ser corrigido ... essas são as habilidades que você precisa ' está aprendendo com seu primeiro emprego.

Dito isto, se você está entediado e não está gostando do que faz, saia. Se você acha que esse trabalho não o ajudará a alcançar seu objetivo de carreira, desista. Existem muitos empregos por aí para pessoas talentosas.

briddums
fonte
6

Considerarei diferentes aspectos da sua pergunta separadamente:

  1. Seu primeiro emprego nunca será muito desafiador. O motivo é que a universidade está ensinando o que você precisa em 30 anos, enquanto as empresas precisam trabalhar com a tecnologia que já está disponível. Espera-se que o material de 30 anos seja mais avançado que o atual estado da arte. O período de meio ano também faz com que o trabalho seja diferente do que você está acostumado na universidade.
  2. O aprendizado é praticamente feito no seu próprio tempo. É um fato lamentável, mas o custo das pessoas é tão alto que elas devem estar sempre fazendo algo produtivo. A melhor alternativa seria se conseguir combinar aprendizado e desenvolvimento produtivo, mas você estará trabalhando com tecnologia que ainda não conhece e isso pode causar problemas simplesmente porque você não entende a tecnologia que está usando. Se você deseja criar coisas que realmente funcionem, o aprendizado deve ser feito fora do ambiente de produção. Em muitas empresas, isso significa apenas que é seu tempo livre.
  3. Você deve considerar o perl apenas como um desafio - como melhorar suas práticas de trabalho para que sejam úteis não apenas para o perl, mas para qualquer novo sistema que você encontre nos próximos 30 anos.
  4. Ao aprender coisas novas, concentre-se nos fundamentos. O Perl tem expressões regulares, tabelas de hash e muitas boas estruturas de dados. Todo o conhecimento de como fazer o melhor uso deles é útil no futuro.
tp1
fonte
O ponto 2 me assusta um pouco. Eu sempre tive um talento especial para programar desde que eu era muito jovem - não era algo em que eu trabalhasse muito, mesmo na universidade. Tocar música, que consome a grande maioria do meu tempo livre (praticando, ensinando, estudando, gravando etc.), parece estar no caminho de minhas aspirações de carreira. Existe um trabalho em que eu ainda possa aprender muito (não apenas sobre processos, mas habilidades difíceis) em algum lugar? Na academia, talvez?
Schwern
1
Claro que existem empregos que oferecem oportunidades de aprendizado. Não são apenas bons desenvolvedores caros, eles também são raros - muitos lugares procuram pessoas para treinar até níveis mais altos ao recrutar. Isso pode ser feito internamente por meio de orientação ou com treinamento externo (ou ambos).
FinnNk
O material da música também será útil. Você talvez ainda não perceba, mas ensinará a você o tempo exato e outras coisas que as pessoas fora dos círculos musicais precisam usar matemática pesada para resolver. A programação avançada depende muito de ambos os aspectos.
tp1 13/12/11
2
@schwern A chave é encontrar um emprego em que você trabalhe com pessoas inteligentes . Então você aprenderá apenas sendo exposto a eles, enquanto realiza seu trabalho do dia a dia.
precisa
5

O que você chama de tecnologia "fora de moda" é o que a maioria desse setor trata. O motivo é simples: há mais desenvolvimento feito para manter os sistemas existentes do que os novos. E mesmo ao desenvolver novos, muitas vezes eles serão desenvolvidos usando tecnologias mais antigas, mas comprovadas e que se encaixam em uma paisagem arquitetônica maior. Esta é apenas a realidade do desenvolvimento de software. Poucos desenvolvedores estão em uma posição em que eles sempre são capazes de trabalhar no "limite" da tecnologia.

Na minha opinião, há menos glória em trabalhar com [insira uma nova tecnologia super bacana aqui] do que em entregar dentro do prazo, orçamento e de acordo com as expectativas. Isso é algo que você só pode aprender com a experiência e é completamente independente da tecnologia. Eu diria que você está em um bom curso agora. Continue aprendendo o comércio e a arte do desenvolvimento de software no trabalho e acompanhe a curva da tecnologia da melhor maneira possível fora do trabalho. É assim que a maioria de nós faz isso.

pap
fonte
+ Os estilos técnicos mudam o tempo todo. O legal hoje será que ninguém mais faz isso amanhã. Deve-se apenas ser competente e profissional. Quando todas as novidades surgirem, saiba como separar o valor do cotão e saiba quando usá-lo e quando não usar.
precisa saber é o seguinte
5

Discordando com todos os outros, este trabalho pode muito bem estar machucando você . Eu entrevisto regularmente candidatos que estão tentando se afastar do primeiro emprego depois da faculdade. Eles geralmente eram presos usando uma linguagem que tende a ser usada para manutenção mais uma tonelada de "estruturas" internas. Em outras palavras, eles aprenderam a usar algum kit de ferramentas ao qual nunca mais terão acesso, perdendo tempo no que diz respeito à empregabilidade.

Além disso, a maioria das lojas de manutenção a que fui exposto não ensina as habilidades necessárias para fazer parte de um esforço de desenvolvimento real. Quando entrevisto alguém que sai do primeiro emprego, quero saber que eles entendem:

  1. Algum ciclo de vida de desenvolvimento de software comum
  2. Fonte de controle
  3. Como testar código (TDD, testes de unidade, selênio, algo assim)
  4. Princípios OOD (por exemplo: na faculdade, você esperançosamente foi exposto a padrões de design, agora me mostre que você os usou / viu)
  5. Compreensão básica da arquitetura corporativa (por exemplo, o que é um sistema de três camadas e você já trabalhou com um)
  6. Como trabalhar com uma equipe

A maioria dessas habilidades adquiri no meu primeiro emprego, sendo exposta a pessoas inteligentes e trabalhando com elas todos os dias. Se você acha que não está aprendendo nada (sobre software ou negócios), comece a procurar outro emprego.

Edit: Como uma nota lateral, eu lembro da busca de emprego fora da faculdade. Eu estava em uma feira de carreira e comecei a conversar com uma empresa que trabalhava com escritórios de advocacia. Comecei a perguntar a eles sobre suas práticas de desenvolvimento e descobriu que eles estavam fazendo tudo no VBA. Agradeci o tempo deles e saí de lá.

Chris Pitman
fonte
+ para sua história do VBA. Eu não me importo com o VBA, por si só, mas em fazer uma carreira com isso? Você fez a coisa certa.
precisa saber é o seguinte
Eu concordo parcialmente com você, mas acho que a maioria dos programadores tem muito mais flexibilidade do que eles exercitam, e muitas das coisas que você menciona são coisas que o pôster poderia trazer para si mesmo. Comece a usar o controle de origem, mesmo que a empresa não esteja. Incentive outras pessoas a seguir o exemplo. Comece a fazer testes, comece a tentar melhorar as coisas. Se o que você está trabalhando é péssimo, faça menos.
Christopher Cashell
3

Se eu fosse você, certamente consideraria ler e programar após o trabalho em outra linguagem (por exemplo, Python, Java, Scala, Ruby, C ++ etc.), portanto, quando você se candidatar a outro emprego, poderá mostrar que tem conhecimento sobre linguagens. que estão em uso mais amplo que o Perl. Além disso, se você tiver outras áreas de interesse, eu definitivamente faria uma leitura extra.

Por outro lado, esteja ciente de que muitas técnicas de programação que você está usando são provavelmente as mesmas, independentemente da linguagem de programação.

Então, novamente, minha sugestão seria: não se preocupe muito, mas comece a aprender algo novo no seu tempo livre. Assim que você reunir conhecimentos suficientes, certamente encontrará um emprego mais emocionante.

Giorgio
fonte
2

Se você não quer mais trabalhar no Perl, tudo bem.

Só porque o Perl não tem muito flash atualmente, não significa que ele não seja popular.


Gostaria de salientar que o momento de Perl aumentou dramaticamente nos últimos 5 anos.

Houve versões mais estáveis ​​do Perl em cada um dos últimos 2 anos, do que em qualquer um dos anos anteriores.

O Moose é considerado pela maioria como um dos melhores sistemas de objetos Perl até hoje e remonta apenas ao início de 2006. Os próximos sistemas de objetos mais populares são basicamente os sistemas de objetos Moose simplificados .

Se você quiser uma prova de quão popular é o Moose , veja quantos módulos CPAN dependem do Moose .

Entre os módulos que exigem o Moose está o Dist :: Zilla , que sempre exigiu o Moose . Caso você não saiba, o Dist :: Zilla é sem dúvida a melhor maneira de criar e liberar módulos CPAN .


Também existem alguns novos projetos interessantes que estão usando o Perl. A expansão Lacuna para um.

Brad Gilbert
fonte
2

Alguém tem que pegar o lixo, limpar os banheiros, cavar valas e trabalhar no McDonalds. Agora você está fazendo a versão de desenvolvimento de software disso.

Não há NADA errado em reconhecer isso e aspirar a algo maior!

O que você faz agora definitivamente molda o que você faz amanhã, no próximo ano e nos próximos dez anos!

Qualquer pessoa que diga diferente está tentando mantê-lo deprimido ou se sentir melhor por estar no mesmo lugar deprimente!

Quanto ao Perl, ele está fora de moda no sentido "Carreira" da palavra. Como a menos que você queira fazer uma carreira como o cara Perl , comece a aprender algo mais novo e mais em voga. Python, Java, C # abrirá mais portas e será mais comercializável ou algo que está prestes a atingir o sucesso em mais alguns anos, como Erlang.

Tudo o que disse, * aprender a não fazer ** é tão valioso quanto fazer , e aprender com os erros dos outros é menos doloroso do que aprender com você mesmo.

Agora você está aprendendo essas duas coisas.


fonte
-1: Alguém tem que pegar o lixo, limpar os banheiros, cavar valas e trabalhar no McDonalds. Agora você está fazendo a versão de desenvolvimento de software ... O que você faz agora definitivamente molda o que você faz amanhã, no próximo ano e nos próximos dez anos! - Ótimo ... Então, se eu estiver limpando banheiros ou jogando hambúrgueres no McDonald's, onde isso me deixará em dez anos? :?
Jim G.
Não há nada de errado com esse trabalho, você não pode começar do topo sem fundamento. Alguém tem que fazer esse trabalho, o que é importante na minha resposta é que não há nada errado em aspirar a algo maior , do qual você perdeu completamente.
1

Ainda há muita demanda por pessoas boas com perl. Você descobrirá que o setor de redes e muitos trabalhos sysadmin baseados em * nix usam perl extensivamente.

Dito isto, ecoo outros que sugerem forçar seus próprios limites. Mesmo se você estiver trabalhando apenas com perl, encontre maneiras de otimizar e otimizar os programas. Por exemplo, se você vir uma abordagem linear adotada com um programa (geralmente o sinal de um programador inexperiente), será possível encontrar uma maneira de modularizar o código para melhorar a capacidade de manutenção? A capacidade básica de ler um pouco de código, independentemente do idioma, e de otimizá-lo e transformá-lo em um código melhor, é uma habilidade muito procurada.

Conta
fonte
Para ser justo, ele não bateu em Perl, ele estava apenas dizendo que esse não é o tipo de trabalho que ele quer fazer no futuro. Portanto, o fato de haver trabalhos Perl por aí é secundário.
R0MANARMY
@ROMANARMY do OP: "Eu raramente vejo trabalhos em Perl, e quando vejo isso geralmente está fazendo algo em que não estou interessado (coisas de desenvolvimento web front-end). Programação de sistemas, visualização network programmingou, pelo menos, coisas de desenvolvimento web de back-end são o tipo de tópicos em que eu realmente gostaria de trabalhar "hmm ... não o que leio ... e há empregos nessas áreas ... por exemplo, no setor de redes, como declarado. Eu trabalho para uma empresa de Internet de nível 1, o perl é usado extensivamente no trabalho de back-end.
Bill
1

Procure oportunidades para criar e manter a experiência em outros idiomas, mostrando que você é um funcionário dedicado que pode enfrentar o desafio. Dirija-se a manter uma produção estável da mais alta qualidade possível e use qualquer tempo de folga para realizar mais trabalhos ou, se for permitido, criar coisas que permitam o desenvolvimento de habilidades e conhecimentos em outras áreas. Mesmo uma demonstração simples que resolve um problema real de negócios de uma maneira diferente (com uma linguagem mais envolvente) permitirá melhorar as habilidades e mostrar ao seu chefe que você está pensando ativamente fora da caixa. Apenas tome cuidado para evitar ser visto como se esquivando de seus outros deveres simplesmente para trabalhar em projetos paralelos.

Dedicação é a chave. Não é esperado que os graduados tenham anos de experiência em vários idiomas. Você sempre pode passar um ano desenvolvendo habilidades essenciais de comunicação e mostrando que pode enfrentar o desafio, mesmo que o desafio seja olhar além do que considera "chato". Aprenda como vender suas habilidades quando chegar a hora de seguir em frente. Você está prevista para continuar aprendendo sobre o trabalho, e para mostrar o próximo empregador que você está buscando para melhorar as habilidades.

Lembre-se, ninguém gosta de empregar um "sabe-tudo". Eu sempre procurei contratar pessoas - mesmo para cargos de chefia - que desejam aprender e crescer ainda mais.

S.Robins
fonte
1

Schwern,

Eu costumava pensar exatamente o mesmo que você de várias maneiras. Saí da universidade com fortes habilidades em Java e Python. Meu primeiro trabalho envolveu trabalhar com Delphi. Fiquei imediatamente preocupado com isso, mas como não tinha emprego e acabara de sair da universidade, decidi morder a bala e aceitar o emprego, pois teria experiência em trabalhar como programador, independentemente do idioma.

Meu segundo trabalho envolveu trabalhar em um grande banco desenvolvendo Smalltalk na maioria das vezes, com um pouco de Perl e Java. Meus amigos riram de mim porque eu não conseguia um emprego como desenvolvedor Java principal e me disseram que estava danificando meu currículo. Agora, estou ansioso para começar um novo trabalho em poucas semanas, com todas as tecnologias com as quais quero trabalhar e um salário melhor.

Obviamente, não posso dizer que sua experiência será a mesma que a minha, mas há algumas lições que você pode tirar dela para refletir. Em primeiro lugar, a programação é secundária ao que você faz. Se você possui boas habilidades de modelagem de domínio e pode aprender processos de negócios rapidamente, isso renderá mais dividendos a longo prazo, em vez de evitar aprender como a empresa funciona e gastar mais tempo estudando em questões menores, que eu já vi na maioria dos lugares Eu trabalhei.

A segunda coisa que você precisa lembrar é que está no relógio de outra pessoa. Se você quer ter sua própria opinião sobre o que fazer e ter total controle sobre tudo, inicie seu próprio negócio. Eu assisti muitas pessoas ingressarem em uma empresa e reclamarem sobre tecnologia herdada, eu mesmo fiz isso quando me formei. Normalmente, essas pessoas são vistas como tóxicas para o local de trabalho e não duram muito. A principal coisa a lembrar é que a tecnologia existe para apoiar os negócios, e não o contrário. O melhor que você pode fazer nessas situações é criar oportunidades a partir delas, caso contrário, é hora de fazer as malas e sair e procurar emprego alternativo, mas você encontrará todas as empresas em que trabalha tem algum tipo de problema legado.

Acima e além do que expus, direi que você não quer parecer "institucionalizado". O que quero dizer com isso é que você está preso ao uso de linguagens e tecnologias específicas e não pode ir além disso. Você deseja cultivar alguma flexibilidade em sua carreira, que inclui habilidades de modelagem de domínio. Desde que você começou sua carreira, vou apontar um bom material que eu gostaria de ter disponível quando comecei:

O programador apaixonado

O programador pragmático

Design orientado a domínio

Programador de Carreira

Planeta Desolado
fonte
0

Codifique um pouco fora do trabalho, mas ainda não sinto que você esteja se machucando. Você é recém-contratado e, portanto, é um desenvolvedor iniciante - nesse estágio do jogo, você deve aprender coisas como o Ciclo de Desenvolvimento e como as coisas "Devem" ser feitas.

Prossiga algumas coisas fora do trabalho para poder manter suas estatísticas. Na minha opinião, você pode codificar ou não. Linguagem e sintaxe podem ser aprendidas - mas a capacidade de pensar e resolver problemas por conta própria não pode.

ist_lion
fonte