Você está lidando com vários problemas aqui ... Vamos começar com o óbvio ...
Isso é normal?
De jeito nenhum. Mas ... isso é comum? Infelizmente sim.
Em relação à frustração de correção de bugs
Embora isso não desculpe o resto da bagunça com a qual você tenha que lidar e os vários projetos com os quais eles sobrecarregam, eu só quero fazer uma anotação rápida de que a "correção de bug" apenas se aproxima, embora seja frustrante para você como desenvolvedor , pode ser uma abordagem perfeitamente sensata para a empresa e sua administração.
Superfície para mais bugs e custos
Quanto mais código você digitar, maior a probabilidade de introduzir bugs, mesmo que sua intenção seja melhorá-lo. Isso significa tempo de desenvolvimento estendido, tempo de teste e custos. E se passar para um release de serviço com defeito médio a alto, isso é uma grande bagunça para eles.
Ruído / névoa em seus registros
Do ponto de vista do SCM, também faz sentido se você trabalhar diretamente fora da ramificação de um release de serviço, pois deseja ter uma visão clara das alterações relacionadas à correção de bugs. Se houver 15 confirmações com milhares de alterações em torno de uma correção de bug que realmente exigiu talvez uma alteração no código de 1 linha, é um pouco irritante.
Portanto, sendo um novo contratado, é ainda mais sensato pedir que você abstenha-se de refatorar e / ou aprimorar o software, e que, no meu sentido, seja o mais "cirúrgico" possível com suas correções. Apenas mantém as dores de cabeça afastadas.
Você pode fazer algo sobre isso?
Agora, isso NÃO significa que haveria maneiras de alcançar a sanidade do código e a sanidade da mente das pessoas envolvidas. Sendo júnior, eles devem ter alguém para revisar suas alterações, especialmente correções de bugs, e certificar-se de que sejam aprovadas antes de fazer o lançamento do serviço. Isso impediria ou limitaria mudanças radicais e seria mais seguro.
O Projeto Do Inferno
Código de porcaria, rebanho de programadores, duplicação, arquitetura de porcaria
Novamente, o advogado do diabo está aqui, mas apenas mostrando que seu pedido inicial contém alguns bits não-consequenciais.
Meu ponto é este: Eu realmente realmente realmente raramente assumiu uma base de código que não estava neste estado. E, com a pouca chance que eu fiz, eles foram recentemente projetos ou protótipos que foram iniciados por programadores bastante estelares. Mas a maioria surpreendentemente vasta deles parecia uma porcaria, e um número assustador deles era uma porcaria de verdade. Mesmo os iniciados por bons ou ótimos programadores podem acabar sendo péssimos, prazos e outros compromissos ajudando ...
Bem-vindo à engenharia de software industrial da vida real!
E você sabe o que é divertido? Muitas vezes, é muito pior no mundo do desenvolvimento web. Desfrutar! :)
Muitos projetos e solicitações, pouco tempo e mãos
O problema está aqui provavelmente em:
- sua gerência (talvez inconscientemente) abusar de você ,
- seus colegas (talvez inconscientemente) abusando de você ,
- você (talvez sem saber) não está cobrindo sua bunda e travando suas batalhas o suficiente .
Seus gerentes devem estar cientes de que você está trabalhando em muitos projetos para gerenciar. Se não estiverem, verifique se estão o mais rápido possível. Certifique-se também de que eles saibam que não era tudo uma brincadeira no parque e que você se sentiu pressionado e que ele precisa parar.
Tente dar uma olhada e garantir que seus colegas não desviem mais tarefas e projetos para você, diretamente (dizendo realmente "X será capaz de cuidar disso") ou indiretamente ("Não sou a pessoa certa para isso, encontre outra pessoa "-> acaba sendo você).
Anedota pessoal aqui: fiz um estágio há alguns anos e, no meu último dia, quando recebi minha avaliação, meu chefe me disse, apesar de estar muito satisfeito com meu trabalho geral, que um dos gerentes tinha a sensação de que eu estavam descarregando algumas "tarefas não tão divertidas" em outro estagiário quando eles esperavam que eu as pegasse. Eu estava mortificado por tê-los sentidos desapontados, e com a ideia de que eu iria me perder, quando minha intenção era exatamente o oposto: eu estava tentando pegar as tarefas mais difíceis e fazer o outro estagiário mais jovem lidar com menos cabelo questões. Mal sabia eu que, se estivesse na posição dele, ficaria entediado com a falta de desafio e provavelmente me sentiria do jeito que ele se sentia. O ponto é que você precisa se comunicar para garantir que ninguém faça suposições falsas sobre três coisas muito distintas:
- o que você pode fazer ,
- o que você quer fazer ,
- e o que você está disposto a fazer .
Portanto, também é parcialmente sua culpa deixar isso acontecer. Mas é normal, é uma lição que todos precisam aprender. Que detém em duas letras: N - O .
Você costuma empregá-lo como prefixo para uma resposta mais longa, mas não muito mais cobrada: Não, não posso fazer isso. Não, eu não sei como fazer isso. Não, não tenho certeza se sou a pessoa certa para isso. Não, eu nunca fiz isso.
No início, é muito fácil sentir que você pode simplesmente dizer "sim, eu irei (eventualmente) fazê-lo" e empilhar as coisas e fazê-las, talvez colocando algumas horas extras. Está tudo errado. Você precisa entender que seu tempo é, depois de suas habilidades, o seu bem mais valioso, para você e sua empresa. Se for mal utilizado, afeta os projetos, prazos e orçamentos . Tão simples como isso.
Além disso, parece um pouco preocupante que você tenha muitas pessoas para reportar. Não há problema em ter vários clientes com os quais lidar e vários proprietários de projetos ou mesmo principais partes interessadas com as quais você precisa se comunicar. No entanto, em geral, especialmente quando você é um novo contratado, deve se reportar principalmente a apenas alguns gerentes (e provavelmente apenas ao seu gerente direto, e possivelmente a um desenvolvedor líder ou sênior). Como ficou assim? Eu não sei. Pode ser um problema organizacional na sua empresa ou pode ser o resultado de você fazer um favor e depois ser contatado diretamente e não dizer "não". Ou pode ser que seu gerente direto tenha problemas com tarefas de despacho, pelo que sei (estou realmente supondo, mas o padrão é reconhecível e bem conhecido).
Eu recomendo que você faça o seguinte rapidamente: converse pessoalmente com seu gerente direto, explique que outros gerentes podem ser um pouco insistentes ou (provavelmente menos chorosos) que você tem muitas coisas acumulando de muitas pessoas e que você precisa da contribuição dele (e possivelmente também deles) para saber quais priorizar.
Solicitações de alteração de 180 graus
Estes são outro grande problema. Provavelmente, a culpa não é sua, mas você pode tentar ajudá-los a resolvê-lo.
As "solicitações de alteração de 180 graus", como você as chama de maneira bonita e precisa, são um sinal claro de que os requisitos são pouco claros desde o início e que ninguém se esforça o suficiente para tê-los esculpidos e limpos ao longo do tempo.
Geralmente é quando alguém precisa telefonar (ou melhor, ficar de pé) e agarrar as partes interessadas pela mão e dizer claramente: "é onde estamos, é para onde você quer que vamos, você confirma que estamos indo na direção certa? ". Não há problema em não obter respostas claras no início, mas quanto mais o tempo passa, mais claras elas devem se tornar ou esse projeto é um desastre esperando para acontecer.
Normalmente, eu diria que pegue todas as partes interessadas ao seu alcance, coloque-as em uma sala, conduza-as por questões litigiosas e tente gradualmente resolvê-las - e obtenha prioridades enquanto estiver nisso. No entanto, no seu caso, talvez essa já não seja sua decisão. Mas você menciona que eles realmente lhe deram a responsabilidade dos projetos; então, se esse é realmente o caso, assuma a responsabilidade e faça isso. E NÃO coíbe de dizer "NÃO PODEMOS FAZER ISSO " , ou mesmo " NÃO FAZEMOS ISSO" . É realmente importante limitar o escopo de um projeto.
Se não houver escopo, não haverá requisitos bem definidos no final da discussão.
Sobrecarga de email
As pessoas tendem a se comportar de maneira diferente com base no meio de comunicação que usam. Pessoalmente, embora eu seja uma pessoa de fala mansa (e tenho trabalhado principalmente em países estrangeiros, então também não gosto muito de falar ao telefone), eu preferiria em ordem de preferência com base na produtividade:
- conversando com as pessoas cara a cara ,
- conversando com pessoas ao telefone,
- conversando com pessoas via IM,
- conversando com as pessoas por e-mail.
Os e-mails são ótimos para rastrear, obter confirmações e enviar notas.
Para agendar, planejar e discutir pontos problemáticos, eles são quase inúteis. Bata na porta do sujeito até que ele a abra e sente-se com um bloco de notas e uma cópia da sua documentação para esclarecer as coisas. Quando terminar, envie um e-mail e peça confirmação. Se voltar com uma resposta negativa ou uma tentativa ligeiramente escondida de esconder algo mais no envelope, vá fazer o cerco ao escritório do seu interlocutor novamente.
Isso é engenharia de software. Muitas vezes, é mais produtivo quando você não digita em um teclado e pode realmente reduzir a porcaria com a qual você precisa lidar.
Fazendo o trabalho de uma equipe
Você está fazendo o equivalente ao trabalho de uma equipe? Talvez.
Você está fazendo o equivalente ao trabalho da sua equipe? Provavelmente não.
O que quero dizer é que sua equipe provavelmente está ocupada trabalhando e você está sobrecarregado. E esse é o problema: você está sobrecarregado com coisas que devem ser retiradas dos prazos atuais do projeto ou entregues a alguém com tempo disponível.
Eu era um idiota quando inicialmente esperava que as coisas fossem diferentes?
Não; apenas novo para a festa. É como uma primeira ressaca ou relacionamento. Você vai superar isso.
Eu acho que este post se transformou em um grande discurso retórico, mas por favor, diga-me que isso não é o mesmo para todos os desenvolvedores.
É o mesmo para todos os desenvolvedores de organizações caóticas, sejam elas startups ou gigantes bem estabelecidos, e sem experiência ou confiança para fazer com que as coisas avancem um pouco e inclinar suas chances de sobrevivência no lado direito da escala.
PS Meu salário é quase igual, se não inferior, ao de um caixa de um supermercado.
Fiz salários decentes em trabalhos que pareciam ruins. Não é o número do cheque que conta, é o contexto. O que você faz, sua idade, onde você mora e trabalha, etc ...
Dito isto, se você é mal remunerado, trabalha demais e não é totalmente júnior, peça um aumento ou obtenha um novo emprego!
É simples:
- se eles valorizam o que você faz, eles concordam em aumentar,
- se não o fizerem, o futuro desta empresa não parecerá muito positivo (pelo menos para você, o que importa), portanto, não se sinta mal por sair.
Esteja ciente de que pedir um aumento é uma coisa boa, mesmo que você não estivesse disposto a pensar assim no início. Isso prova que você acompanha o que faz e sugere que fica de olho em outras opções enquanto ainda está disposto a permanecer a bordo. E é bom se acostumar a solicitá-las, pois são como entrevistas de trabalho ou barganhas em geral: é algo que requer prática, e elas não caem do céu se você não as procurar. Algumas empresas distribuem aumentos regularmente sem que isso seja solicitado, mas isso é apenas porque eles são espertos o suficiente para saber que isso o deixa meio feliz e menos disposto a mudar, e querem cortar a grama sob seus pés (a maioria das pessoas sentiria pouco à vontade para aumentar uma oferta de aumento que eles foram oferecidos diretamente).
Como prosseguir com essa solicitação está um pouco fora do escopo deste projeto aqui, então não entrarei em detalhes. Mas eu recomendo que você prepare um registro dos seus IDs de confirmação do SCM, de seus bugs e conquistas corrigidos e também prepare relatórios comparando-os com o esforço geral da equipe. Deste jeito:
- você pode avaliar por si mesmo se efetivamente fez muito mais do que seus colegas ou não,
- você pode se defender se eles disserem que sua solicitação não é justificada.