A empresa em que estou trabalhando me desenvolve um monte de software interno de missão crítica. Eu tenho uma outra pessoa que trabalha para mim, mas ele é mais um cara de teste e não um desenvolvedor. A empresa está preocupada com alguns desses projetos e o que acontece se eu for atropelado por um ônibus. Como a empresa se recupera depois de algo assim quando há apenas uma pessoa que conhece a base de código. Uma pessoa que conhece o status atual do projeto.
Expliquei que, com a minha documentação e com a documentação contida no código, eles realmente precisariam contratar outro programador que entendesse as linguagens usadas e que eles poderiam acelerar rapidamente.
Eles sugeriram uma empresa externa que pode ser "mantida atualizada" em uma base mensal que pode "assumir o controle" caso algo aconteça. Só não vejo como isso poderia ser útil, além de pagar alguém pelo pagamento. Pior ainda, imagino desperdiçar um dia por mês discutindo o projeto com essa empresa de consultoria. Vejo como isso pode ser útil, mas não vejo mais como útil do que contratar um programador após minha morte prematura.
Pensamentos? Situação semelhante e como ela está sendo tratada no momento em que você trabalha?
Respostas:
Infelizmente, o que eles estão fazendo é "colocar todos os ovos em uma cesta".
É muito provável que trabalhar com uma empresa externa forneça receita para eles, mas duvido seriamente que valha a pena. A documentação sempre fica bonita e clara quando você a escreve. O problema é que você só sabe quanto vale a pena quando alguém tenta lê-lo - alguém que mal sabe algo (técnico) sobre o (interior do) projeto.
De qualquer forma, é possível ler uma base de código completa sobre a qual você não sabe nada; pode levar muito tempo (muito além do que a maioria das empresas pode pagar).
Sua melhor aposta honesto é contratar alguém para trabalhar com você (estritamente não sob qualquer de sua orientação) durante um certo período de tempo, e ao teste quanto tempo ele leva para chegar a um ponto em que ele possa entender e alterar partes importantes do o projeto.
Se levar mais tempo do que eles poderiam pagar se você partisse, eles deveriam considerar seriamente a contratação de um ou mais programadores permanentes (em período integral ou parcial) e nunca deixá-los pegar o mesmo ônibus. :)
De qualquer forma, bons programadores que saem de repente sempre tornam as coisas piores do que eram.
fonte
Espero que você não seja atropelado por um ônibus! Você está correto, não vejo o valor de fazer isso. Primeiro, a outra empresa cobrará uma quantia mais próxima de um desenvolvedor em tempo integral e eles criticarão as coisas e o atrasarão. Eles podem pedir muitas entregas e explicações de você. Além disso, não há garantia real de que eles serão capazes de captar, pois não haverá chance de testá-los antes que eles sejam obrigados a assumir.
Sugiro que a empresa invista em outro desenvolvedor. Esse desenvolvedor não precisa estar no seu nível de especialização, mas o tempo gasto com ele / ela seria um investimento para o projeto. Você terá várias oportunidades para testar seu entendimento, pois ele estará trabalhando com você.
Certifique-se de não andar no mesmo carro quando for almoçar :)
fonte
Uma solução que realmente teria valor é contratar um mentor. Este é um serviço que presto para empresas de software locais para mim. Visito meio dia por semana ou um dia por semana. Cada visita fornece um valor imediato, como garantir que os desenvolvedores usem as melhores práticas, ensinando-lhes coisas novas que precisam aprender, dando-lhes a chance de serem expostos a coisas novas, pois geralmente estão ocupados em codificar e não vão a lançamentos e resolvendo seus bugs e bloqueios imediatos, explicando coisas que eles não sabem fazer e assim por diante. Às vezes, lida com tarefas de codificação, especialmente em casos pontuais em que a equipe precisa aprender muito para fazer a tarefa e nunca mais precisa fazê-la novamente. Também posso projetar o gerenciamento de coisas como a elaboração de um plano de recuperação de falhas - ele precisa de respostas dos desenvolvedores e do gerenciamento,
É provável que esse arranjo seja mais barato do que o que seu chefe está sugerindo e tenha valor para você. Tem um efeito colateral que o mentor aprenderá seu sistema e provavelmente poderá treinar sua substituição se você for atingido por uma loteria .
fonte
A ISO 9001 neste negócio é toda sobre ser atropelado por um cenário de ônibus . A obtenção de serviços dessa empresa permitirá que sua empresa se qualifique para essa certificação? Esta pode ser uma pergunta interessante para eles.
Ou para fazê-los girar em círculos em busca de resposta. (isso provavelmente soaria muito semelhante a "não")
fonte
Eu concordo com o OP. Contratar outro desenvolvedor é melhor. Se a base de conhecimento estiver em outra empresa sobre a qual eles não têm controle, a situação é igualmente arriscada.
Para mim, parece que eles querem substituí-lo por trabalho no exterior, onde as pessoas podem sobreviver com US $ 10 por mês.
fonte
Eles precisam de um desenvolvedor adicional. É realmente assim tão simples. Vocês dois devem trabalhar em toda a base de código. Ou pelo menos esteja familiarizado o suficiente com o trabalho um do outro para resolver problemas em uma emergência. Se os orçamentos forem limitados, você poderia, em teoria, contratar um temporizador parcial - isso provavelmente seria suficiente. Alguém que poderia passar algumas horas toda semana aprendendo o código fazendo manutenção e correções. Isso os familiarizaria o suficiente.
Contratar uma empresa externa? Estou com você lá - eles podem jogar esse dinheiro no vaso sanitário. O fato de eles estarem pensando em contratar uma empresa externa para aprender seu sistema me diz que eles não estão realmente preocupados com o cenário do barramento (porque, como observado, a solução é óbvia) e precisam apenas de um motivo para lançar a frase do buzz 'atingida por um ônibus enquanto jogam golfe com seus colegas gerentes, ou ... que eles procuram terceirizar seu trabalho. Afinal, se uma empresa externa pode aprender toda a sua base de códigos por um preço mais baixo do que um funcionário, em algum momento os de cabelos pontudos perguntam, então por que eles precisam de você?
fonte
É mais comum do que você imagina que as empresas tenham um plano em prática, se algum funcionário crítico for atropelado por um ônibus.
Geralmente, porém, associamos o talento-chave a alguém interno (que não pode viajar nos mesmos vôos ... ou ônibus) para impedir que vantagens e idéias competitivas vazem para a competição.
fonte
Primeiro, a pessoa que está testando seu código não deve funcionar 'embaixo' de você; é um conflito de interesses.
Na sua ausência, eles precisam avaliar o risco de ficar para trás nas áreas de: depuração e adição de novos recursos. Eles podem ajudar alguém a se tornar um depurador rapidamente, a menos que você tenha escrito um código incorreto. Normalmente, a adição de novos recursos pode esperar até que um novo programador esteja pronto. Nem sempre é o caso quando existem promessas para clientes existentes ou em um mercado em que você está tentando acompanhar a concorrência.
Eu trabalhei em uma empresa onde eu era o único desenvolvedor. Eles não me substituíram por outro programador, mas mudaram drasticamente as direções e se contentaram com um aplicativo de terceiros. Decisões de negócios mais estranhas foram tomadas. Isso impede que eles se separem drasticamente da concorrência e tenham uma enorme quantidade de alavancagem para expandir seus negócios. Talvez esse não fosse mais o objetivo deles?
fonte
De fato, existe um termo chamado número de barramento de projetos. Se o número do ônibus for um, você tem um grande problema. A FEMA nos EUA está pedindo às empresas que estejam melhor preparadas para desastres.
Não é apenas a perda de um desenvolvedor-chave. É o impacto de um desastre natural ou a falta de backups externos. Existem muitas perguntas neste site perguntando se eles precisam usar o controle de origem como desenvolvedor solo. A capacidade de um novo desenvolvedor acessar a versão mais recente do software e ver quais partes são novas os ajudarão.
Há mais informações sobre o PS-Prep em http://www.fema.gov/privatesector/preparedness e http://readyrating.org/ .
fonte
Eu conheço sua dor. A empresa em que trabalho tem mais de 20 desenvolvedores e todo mundo tem seu conhecimento.
Os bits sobrepostos são realmente ... bits, então se alguém desaparecer (férias, doença, etc.) e algo acontecer com as ferramentas que eles estão gerenciando, você estará ferrado.
O problema é que eles conhecem a situação e não se importam muito, talvez ainda não tenham atingido o rosto.
fonte
Gosto da citação que diz algo como "Os cemitérios estão cheios de pessoas anteriormente consideradas indispensáveis". Dito isto, sua empresa tem o dever de minimizar riscos, atualmente você é percebido como um. Eu já estive lá de vez em quando, é melhor não apenas não resistir, mas ir além. Não basta treinar uma empresa externa, recomendar a melhor empresa da cidade, ou seja, aquela em que você confiaria mais. Considere também que, se você estiver fazendo um trabalho melhor do que qualquer outra pessoa, você é insubstituível por definição.
fonte