Sou desenvolvedor júnior de software e trabalho para uma empresa há menos de um ano.
Embora eu sempre tenha pensado que ser desenvolvedor de software significa desenvolver algo de código e código, minhas tarefas estão mais no tipo de trabalho administrativo, como configurar Jenkins, replicação SQL e etc.
Esses tipos de trabalhos estão incluídos em uma função de desenvolvedor ou um desenvolvedor apenas desenvolve software? Eu deveria estar conversando com meu gerente sobre isso? É uma maneira comum para as empresas avaliarem as habilidades de "desenvolvimento"?
Respostas:
Parece-me que eles contrataram um júnior porque não podiam pagar um sénior, e não porque realmente queriam um júnior (alguém em quem possam investir e orientar até se tornarem séniores). Eu gerenciei uma equipe que teve essa decisão imposta a eles por gerentes que não conheciam melhor.
Ele acabou com todos os tipos de trabalhos infelizes, como criar vídeos de treinamento para usuários e coisas do gênero, e ainda me sinto culpado por isso agora, mas estava sob pressão para entregar e a expectativa era que adicionar uma cabeça à sala de desenvolvimento apenas agilizasse as coisas. .
É lamentável, porque coloca você e seu chefe em posições difíceis.
Ele provavelmente não tem nenhum trabalho em que possa confiar para um júnior, e os idosos que ele possa ter não podem se distrair do seu dia-a-dia. O caminho mais fácil é dar muitas tarefas não relacionadas ao desenvolvimento, com as quais ele também não quer desperdiçar o tempo dos desenvolvedores seniores.
Mas alguns problemas surgem disso.
Primeiro, o tipo de trabalho de devops que ele está dando realmente exige um desenvolvedor sênior. Particularmente, um servidor de compilação deve ser configurado por alguém que está construindo o software e sabe onde estão os problemas.
Segundo, o júnior não está se tornando mais útil. Após cinco anos disso, você continuaria executando as mesmas tarefas, porque ainda não poderia confiar no trabalho de desenvolvimento real.
Terceiro, os juniores acabarão percebendo (como você) que não estão ajudando sua própria carreira. A suposição de que os juniores são de baixa qualidade, em vez de com pouca experiência (e procurando) é um erro terrível, mas muito comum nesse setor.
Então, sim, sente-se com seu chefe. Mas entenda a situação em que ele está. Veja se você consegue chegar a um acordo que resolva os problemas de todos. Você precisará de um mentor sênior e algumas de suas tarefas atuais precisarão ser repassadas para um sênior. Isso atrasará o projeto, mas, a longo prazo, será recompensado. Esse é o ponto que você precisa passar para o seu chefe e, possivelmente, para os chefes. Além disso, veja se você pode encontrar algo que possa oferecer em troca para mitigar os custos.
Se você não pode, pode querer procurar em outro lugar.
fonte
Acho que o termo "desenvolvedor de software" é sinônimo de "programador". Assim, um desenvolvedor de software é uma pessoa cuja responsabilidade principal é escrever código. No meu primeiro trabalho, meu título era "Desenvolvedor", e minha principal responsabilidade era projetar e codificar software. Mas acho que não existe uma definição exata do termo. É usado de maneira diferente por pessoas diferentes, assim o significado se torna confuso.
Porém, para que uma equipe de desenvolvimento trabalhe com eficiência, você deve ter essas coisas configuradas, servidores de CI, replicação SQL, implantação em servidores de teste, monitoramento de servidores de teste, arquivamento de builds etc. (talvez nem todos eles se apliquem a qualquer situação) .
Essas tarefas levarão muito tempo na fase inicial de um projeto, mas levarão menos tempo depois que você tiver uma boa configuração em execução.
Infelizmente, os desenvolvedores preferem codificar do que gerenciar servidores de compilação. Portanto, frequentemente, essas tarefas chatas caem nas mãos de desenvolvedores juniores, pois os desenvolvedores seniores têm tarefas mais importantes.
Eu não experimentei nenhuma empresa que use essas tarefas como um meio de avaliar habilidades.
Se você não estiver satisfeito com suas responsabilidades atuais, sugiro que resolva o problema com seu gerente de linha.
fonte
Depende. Parece que diferentes empresas definem isso de maneira diferente e, para alguns, é um termo genérico para uma variedade de funções técnicas. Para alguns, é apenas um título. Fazendo a mesma pergunta antes, recebi uma resposta semelhante a "Somente desenvolvedores têm a capacidade de fazer isso em nossa organização", diria talvez, mas isso não necessariamente o torna em desenvolvimento).
A resposta teórica é que um desenvolvedor (comparando com codificador / programador) é uma pessoa que "resolve problemas", mesmo que não tenha a ver com "codificar algo".
Você deseja codificar mais, então talvez peça ao seu gerente mais tarefas de codificação ou faça algumas das coisas que você faz codificando? Você mencionou coisas operacionais, portanto, talvez algumas delas possam ser feitas pelas estruturas do DevOps (cheque chef e fantoche ), o que tornará as funções mais eficientes e próximas do desenvolvimento.
fonte
Não é incomum que um desenvolvedor tenha algumas habilidades de administração do sistema. Como desenvolvedor sênior, estimo que cerca de 5% do meu tempo seja gasto em tais tarefas.
No entanto, se você não estiver executando nenhuma codificação, provavelmente deverá conversar com seu gerente sobre como obter tarefas de codificação. Afinal, você deseja criar uma experiência de codificação. Você também é mais valioso como programador do que como administrador de sistema.
fonte
O código não é muito útil se não for incorporado corretamente em um aplicativo ou acessar os dados corretos; portanto, as atividades listadas parecem muito alinhadas com o que o desenvolvedor faz. Devo acrescentar que os desenvolvedores de software também ficam muito confusos na documentação e nos testes. Essas são atividades necessárias na produção de software.
É ótimo que sua empresa tenha especialistas que podem fazer isso por você, mas, se não, os desenvolvedores de software são responsáveis por tudo, até (e possivelmente incluindo) a implantação de um aplicativo em produção e o suporte lá.
fonte
É bastante comum que um desenvolvedor de uma empresa de pequeno a médio porte assuma algumas tarefas de configuração do administrador do servidor / DBA / geral.
No entanto, se essas tarefas começarem a se tornar a maior parte de suas responsabilidades, pode ser algo para se preocupar, dependendo de seus objetivos de carreira. Embora você possa prosperar em algumas empresas como tecnólogo geral, quando precisar mudar para uma nova empresa, isso poderá causar muitos problemas em sua transição. Se você não está desenvolvendo nenhum desenvolvimento tradicional, certifique-se de deixar isso claro em seu currículo. Se você deseja obter um emprego em desenvolvimento direto após uma vaga em um emprego, como você descreveu, pode ser necessário aceitar algo pelo qual você está "superqualificado", com base em anos no setor.
Por outro lado, pode haver empresas procurando desenvolvedores com habilidades diversas. Mas com a tendência atual de escrever código em entrevistas, você também precisará ter habilidades de codificação de alto nível, mesmo que o trabalho exija pouco código ao entrar.
Se você não quer ficar preso na sua posição atual, eu definitivamente tentaria remediar a situação em breve.
fonte