Desenvolvimento de Software - Projeto, 1 Programador - E se atropelado por ônibus?


19

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?


3
Eles recebem seguro. Tenho certeza que você vale 1.000.000.000 de mortos para eles.
Martin York

1
Engraçado você mencionar isso. Eles também estão contratando uma apólice de seguro para mim.
ominus

11
@Ominus Aliás, eles também começou lições de ônibus condução: D
wildpeaks

2
Por que você deveria se importar? O que há para você? Apenas dê a eles uma documentação bonita. Não há substituto real para você, a menos que você contrate outro programador.
Job

2
Sou pago muito bem, portanto não é uma questão de tentar obter mais dinheiro com eles e o outro lado dessa conversa envolvia um contrato de trabalho que me oferece algumas proteções, por isso não estou preocupado em ser substituído. Pelo menos não ter a ver com o desejo de proteger seus investimentos. --- Atualize, vamos contratar um segundo programador. Eu até usei o link para esta pergunta para mostrar a eles o que as pessoas da área pensavam sobre como abordar suas preocupações. Este é um site incrível.
ominus

Respostas:


21

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.


+1 por permitir que outra pessoa leia os documentos. A melhor maneira de escrever documentação é geralmente respondendo às perguntas de um usuário ou colega, não por conta própria.
Fred Foo

12

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 :)


Que engraçado, nossas respostas (postadas aproximadamente na mesma época) são parcialmente idênticas, até mesmo em termos de humor. :)
Yam Marcovic

Conseguir um desenvolvedor / estagiário em meio período é uma maneira muito barata de obter um funcionário de backup, definitivamente melhor do que tentar configurar um contratado de uma maneira que não seria um desperdício inútil de dinheiro.
Ryathal

@YamMarcovic, você está correto! Quais são as chances cara!
NoChance

5

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 .


Termo interessante "atingido pela loteria" :)
NoChance 16/12

plano de negócios inteligente (bem, serviço, eu não sei mais o que você faz) que eu nunca tinha ouvido falar.
psr

@psr de maneira alguma todo o meu plano de negócios (especialmente considerando minha localização), mas um serviço que ofereço que ajuda os clientes. Você precisa pensar em seus pés, conhecer muitas tecnologias, aprender rápido e ensinar bem. Eu gosto disso!
Kate Gregory

Ainda bem que surgiu o termo "atingido pela loteria" - um monte de dinheiro (loteria, oferta de emprego etc.) é muito mais comum do que a maioria das empresas imagina, e tão eficaz quanto o "grande ônibus vermelho".
mattnz

1

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")


1

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.


Uma resposta bastante cínica? A empresa quer garantir a continuidade, não cortar custos. Se estivesse querendo substituir a mão de obra cara para economizar dinheiro, não empregaria um consultor externo.
mattnz

+1, logo em frente. Se o dinheiro não foi um problema, eles não têm motivos para não contratar um desenvolvedor adicional.
GrandmasterB

@mattnz. Os negócios não querem cortar custos? Onde você esteve nos últimos 60 anos de negócios com uma mudança para mão de obra terceirizada? Nas palavras do OP, eles querem contratar uma empresa externa para "assumir". Ter a base de conhecimento externa não garante a continuidade, mas fornece mais mãos pelo mesmo preço que um funcionário com imposto de renda correspondente.
Lord Tydus

1

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ê?


0

É 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.


0

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?


0

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/ .


0

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.


0

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.