Devo usar o idioma em que me sinto mais confortável ou a empresa "padrão"


18

Vou desenvolver um site da Intranet para minha planta específica, e o padrão da nossa empresa para desenvolvimento na Web é o IIS + ASP.Net + VB.Net + Microsoft SQL Server (observe que temos mais de 10 plantas). O site da Intranet será usado apenas pela minha fábrica e sou o único que o apoiará. Sou muito mais experiente em uma configuração de LAMP e poderia desenvolver e solucionar problemas muito mais rapidamente com PHP do que com ASP.Net. Embora a "norma" da empresa seja o ASP.Net/VB.Net, a maior parte do que a empresa faz como um todo é comprar software de terceiros (que geralmente é baseado em Java ) e muito, e eu quero dizer muito poucas pessoas em a empresa sabe mesmoVB6 , muito menos ASP.Net/VB.Net.

Dito isto, é melhor violar o padrão da empresa e seguir a configuração que eu posso suportar melhor, ou é melhor ir com a configuração que a empresa pode suportar melhor se eu fosse embora, mesmo que ninguém atualmente na empresa pode suportar seu próprio padrão de qualquer maneira?

Alguns fatores adicionais a serem considerados no meu caso pessoal:

  • Novamente, isso é apenas para minha fábrica, e eu sou o único que sempre a apoiará, a menos que eu saia da empresa e, então, meu substituto a apoiará. Ninguém mais já está na empresa.
  • A empresa faz muito pouco desenvolvimento com seu padrão de qualquer maneira.
  • Quase nenhum software existente da empresa usa seu padrão.
  • Se eu escolher o padrão da empresa, tenho que usar a versão Express do Microsoft SQL e um sistema operacional Windows 7. Pelas minhas leituras, a versão Express é adequada para uso comercial, mas o tamanho do banco de dados é limitado.

25
A palavra-chave aqui é violada . Você escolheu a palavra certa e só de ler sua própria pergunta deve lhe dizer que essa é uma idéia bem idiota. Eles escolheram o padrão por um motivo. Se você não concorda com essa escolha, deve canalizá-la para cima formalmente.
Joel Etherton

3
"Quero dizer que poucas pessoas na empresa conhecem o VB6, muito menos ASP.Net/VB.Net". Realmente não vejo o que isso tem a ver com nada. O VB6 é um código legado feio - o fato de que ninguém sabe que é realmente uma coisa boa.
DeadMG

1
@DeadMG, a questão de que nenhum deles conhece o VB.Net também. Então, o que importa qual idioma eu uso? Eles ainda teriam que contratar alguém para apoiá-lo se eu fosse embora.
Tirou Chapin

3
O SQl Server Express suporta bancos de dados de até 4 GB. Isso geralmente é suficiente, se não é, em seguida, é necessário algum outro banco de dados e você provavelmente deve tomar-se que com as pessoas relevantes (TI cara, superiores etc.)
Holger

3
@Baboon, sim, não é como sites como o Facebook nunca usaria algo tão unbusiness-like
Sweko

Respostas:


38

Novamente, isso é apenas para minha fábrica, e eu sou o único que sempre a apoiará, a menos que eu saia da empresa e, então, meu substituto a apoiará. Ninguém mais já está na empresa.

1 - Não assuma que você é o único que vai apoiar isso. Você gosta do seu tempo doente e férias, certo? E se você precisar tirar uma licença prolongada de maternidade / paternidade ou algo assim? Quem vai dar suporte ao seu aplicativo então? Além disso, e se você gostaria de conversar com alguém sobre problemas técnicos específicos da sua empresa? E se você gostaria de receber análises de código? Ou precisa de ajuda com um bug complicado? Em todos esses casos, é importante estar entre outros com informações sobre a tecnologia que você está usando - especificamente como ela pode ser aplicada para solucionar problemas específicos da sua empresa.

A empresa faz muito pouco desenvolvimento com seu padrão de qualquer maneira.

2 - Só porque existe um documento, isso não significa que é realmente o padrão ou significa alguma coisa. Pode simplesmente significar que há um grupo de indivíduos politicamente influentes defendendo essa abordagem, e pode haver outros subgrupos adotando abordagens diferentes.

Seu problema pode ser simplesmente que o "padrão" evoluiu para algum estado de fato, não documentado, que conflite com o "padrão" documentado. Ou pode haver muitos pequenos grupos não oficiais de pessoas que usam "padrões" diferentes - com um desses grupos conseguindo tornar seu "padrão" oficializado. Você provavelmente precisa perguntar ao redor para descobrir o que os outros membros do seu grupo - que também podem oferecer suporte a você e ao seu aplicativo - consideram as melhores práticas. Pergunte o que eles sentem confortável com você usando. Mapeie o verdadeiro cenário tecnológico da sua empresa e descubra onde está o know-how. Assim como qualquer bom conhecimento tribal em evolução, a única maneira de saber como proceder é conversar com as pessoas.

3 - Não perca oportunidades profissionais para aprender coisas novas . Você precisa se proteger contra ser perfurado neste setor. Seja ágil. Você pode ter a oportunidade de ganhar um pouco de espaço e aprender uma nova maneira de resolver um problema. Sem mencionar que você está adquirindo novas habilidades para o seu currículo. Na maioria das vezes, isso pode ajudá-lo a sair da sua zona de conforto para fazer algo novo. Dito isto, se a coisa diferente / nova é tão extremamente específica, que você acha que você ou qualquer empregador futuro não terão valor com essas habilidades, então talvez essa não seja uma grande oportunidade. Mas ter a chance de ser especialista em ASP.net e LAMP certamente abrirá seus olhos e só poderá ajudar sua carreira. Não há nada como um projeto real com um prazo para forçá-lo a realmente aprender alguma coisa.

Portanto, meu conselho, não faça isso sozinho. Descubra onde as pessoas realmente se posicionam e decida onde você pode se encaixar melhor. Se você precisar sair da sua zona de conforto, use isso como uma oportunidade para crescer profissionalmente.


4
+1: você apoiará isso enquanto trabalhar lá. No entanto, se você sair, alguém o apoiará.
Unholysampler

1
Essa é uma boa resposta, mas gostaria de acrescentar que o OP deve falar com seu gerente sobre as compensações para ver quão rigorosos eles consideram o padrão e se aprovariam o uso de outra pilha para este projeto.
Mike Partridge

Não suponha que você seja o único a apoiar isso : também, dessa forma, as pessoas podem reutilizar o código umas das outras, em vez de reinventar a roda toda vez que precisamos de algo que rola.
Konerak

2
A maneira mais rápida de ficar preso em uma posição é tornar-se insubstituível. Se você não pode ser substituído, não pode ser promovido.
Burhan Khalid

9

Dito isto, é melhor violar o padrão da empresa e seguir a configuração que eu posso suportar melhor, ou é melhor ir com a configuração que a empresa pode suportar melhor se eu fosse embora, mesmo que ninguém atualmente na empresa pode suportar seu próprio padrão de qualquer maneira?

É uma decisão de gerenciamento. Faça com que eles saibam suas preocupações e insista formalmente em mudar.

Dito isto, um idioma é uma ferramenta e você deve escolher a ferramenta certa para um trabalho; faça-os entender que você não estraga um parafuso com um martelo.


Importante notar que, no contexto da questão (dado o nível de detalhe disponível) ASP.NET e PHP estão ambos a ferramenta certa para o trabalho em que tanto um plataformas muito capazes
Murph

1
O ASP.NET é indiscutivelmente mais capaz, mas o op conhece melhor o php.
27411 Kevin

1
@ Kevin, A única razão pela qual eu poderia argumentar que o ASP.Net é mais capaz que o PHP é que ele se integra melhor à segurança do AD / Windows, mesmo sendo possível integrar o PHP à segurança do AD / Windows. Fora isso, não vi vantagens do ASP.Net sobre PHP.
Tirou Chapin

Por sua própria admissão, você conhece php muito melhor, então não é surpresa que você diria isso.
Kevin

8

Você tem alguma ambição de promoção ou trabalha em outros projetos? Nesse caso, sugiro que "fazer suas próprias coisas" terá dois efeitos negativos quase certamente resultando em (paráfrase) "Eu serei o único a apoiá-lo até que eu saia"

  1. Como você optou por não seguir os padrões da empresa, mostra que não é particularmente adequado para cargos mais altos, pois não consegue seguir instruções simples.
  2. Como você optou por não seguir o padrão da empresa, será seu problema que ninguém mais na empresa possa oferecer suporte ao seu código.

Se você optar por usar o padrão, não será sua responsabilidade continuar com a manutenção do produto quando (se) surgir uma oportunidade de promoção ou outro projeto.

A outra maneira de olhar para uma analogia ridícula. Eu mudo para um país onde eles dirigem à esquerda, no entanto, estou muito mais acostumado a dirigir à direita, prefiro dirigir à direita, por isso, sou melhor nisso e posso dirigir mais rápido. Devo dirigir à direita?


+1 no último parágrafo - especialmente em termos de capacidade da plataforma, você realmente não pode defender a escolha do PHP sobre o ASP.NET. Pode haver um argumento para mudar o padrão com base em capabilites de equipes dev ...
Murph

5

As empresas têm padrões por uma razão, se houver um padrão formalmente declarado que diga usar x, será necessário justificar y.

Isso não significa que você não pode usar y, significa que você deve entender o raciocínio por trás do padrão e obter aprovação antes de violá-lo.

Talvez depois de entender o motivo, você não queira mais violá-lo, talvez veja que ele precisa ser alterado ou descartado ou que não se aplica nesse caso, para que o uso de y não seja um problema.

Se aplicável, a menos que você possa alterá-lo, você deve segui-lo. Os padrões da empresa não estão no mesmo nível que os pedidos diretos, mas seu empregador tem uma expectativa razoável de que você siga ambos, a menos que violem a lei.


1
Às vezes, os padrões da empresa estão relacionados a razões de marketing, em vez de eficiência ou considerações técnicas.
Mister Smith

@Mister Smith Mesmo assim, você ainda precisa conversar com seu gerente ou alguém com poder de decisão para verificar esses motivos. Veja minha resposta sobre esta pergunta.
Mike Cellini

1
@MisterSmith: razões válidas de marketing são tão importantes, se não mais, que a maioria das considerações técnicas. Se você não sabe o motivo, não sabe a validade do motivo.
jmoreno

Sim, mas ao ler a pergunta, tive a impressão de que não há gerente em cima dele para este projeto, e que ninguém realmente se importa com a imposição de padrões. Se isso fosse verdade, não vejo razão para seguir cegamente os padrões, em vez de apenas escolher a tecnologia mais conhecida.
Mister Smith

@MisterSmith: Não segue cegamente os padrões, mas cegamente os padrões da empresa. Há uma diferença. E se ninguém se importa, deve ser fácil obter permissão para violar ou mesmo alterar o padrão.
jmoreno

2

Tudo depende de você ser demitido ou não. Se você for demitido, não faça isso. Se você não for demitido, siga em frente.


-1 Este é, imho, péssimo conselho. Você também pode pedir às pessoas que escrevam códigos feios, incompreensíveis e ofuscados, sem documentação (ou pior: incorreta) apenas para se tornarem indispensáveis. Saiba que se você se tornar indispensável, nunca poderá subir na empresa, mas fique parado fazendo o que estava fazendo e mantendo seu próprio código (ruim) por muito tempo!
Konerak

@ Konerak Bem, você está certo. Eu não estava falando sério sobre isso. Vou editar minha pergunta para mantê-lo feliz.
precisa

Desculpe Mike, eu não entendi a parte da ironia;) Fiquei feliz em ver uma resposta sobre o indispensável, porque me deu a oportunidade de reagir e as pessoas leram sobre isso.
Konerak

1

Eu acho que você pode antecipar muitos dos problemas que podem surgir disso e fazer um plano detalhado para se e quando você teve que sair da empresa.

Um problema que poderia prejudicar os trabalhos seria se você saísse e o RH precisasse procurar sua substituição. Como eles tentam ativamente entender o que você fez e contratar de acordo com as habilidades necessárias - ou -, basta olhar para o documento original que especifica a política do IIS / ASP.NET / etc. e contratar cegamente alguém com essas habilidades para manter seu código LAMP (no princípio "porque assim diz"), acho que o último é muito mais provável.

A coisa mais fácil (a longo prazo) é fazer o que fabianhjr recomendou e alterar o padrão. Altere-o para incluir Microsoft e LAMP se eles forem resistentes a um switch completo.


na verdade, a publicação oficial do meu trabalho não exigia nenhum conhecimento de programação / desenvolvimento da web.
Tirou Chapin

1
@druciferre Mais uma razão para respeitar tudo então. Se esse projeto se tornar uma grande parte de sua responsabilidade no trabalho e houver alguma eventualidade em que eles recontratem com base em sua descrição original do trabalho, eles estariam em um riacho (não que você precise se preocupar nesse momento, mas apenas por o bem deles).
jonsca

1

Nesse caso, você precisa seguir o padrão. Se o padrão parece não se aplicar, você precisa conversar com seu gerente sobre como fazê-lo em um idioma diferente.

De todos os padrões a seguir no desenvolvimento, eu pessoalmente acho que a escolha do idioma é a mais importante . Ignorando a escolha de idioma padrão em favor de uma que você se sinta mais à vontade, deixa colegas de trabalho e / ou sucessores em um riacho sem remo, porque eles podem não ter as habilidades necessárias para trabalhar em seu projeto. As decisões de contratação de uma empresa são baseadas na escolha do idioma, para que decisões como essas possam ter um grande impacto. A introdução de outra plataforma / idioma pode forçar a empresa a ficar em uma situação difícil quando começa a contratar outras pessoas.

Além do idioma, você deve considerar o suporte interno para o servidor LAMP. Quem vai administrar o Apache? E o MySQL? O software da empresa é executado em um banco de dados diferente? Os administradores estarão dispostos a administrar uma nova plataforma. Mesmo se você planeja administrar esses serviços, os deveres podem eventualmente recair sobre outra pessoa. Se você planeja administrar os serviços, os administradores de rede / servidor permitirão isso?

As ramificações da introdução de uma plataforma diferente podem ser amplas e profundas. Não seguir o padrão pode afetar muitas pessoas além de você. Embora você seja mais experiente em LAMP do que no ASP.NET, a criação dessa plataforma pode acabar custando muito mais à sua empresa a longo prazo. A chave aqui é a comunicação com seu gerente e a compreensão dos efeitos da decisão final.

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.