Na realidade, um desenvolvedor também administra DBMS e sistema? [fechadas]

21

Realmente não sei mais para onde perguntar. Então aqui vai.

Estou trabalhando em uma empresa muito pequena que fabrica software e sites de ERP.

1 desenvolvedor com + 10 anos de experiência.
2 desenvolvedores com experiência de + 3 anos.
3 desenvolvedores com + 1 ano de experiência.

É isso aí.
Nenhuma equipe, nenhum DBA, nenhum administrador do sistema.
Não há ninguém por aqui com experiência em desenvolvimento web, então eu estava encarregado do desenvolvimento web. Mas eu tenho apenas 3 anos de experiência! como desenvolvedor!


Eu sei que em uma empresa pequena, você é solicitado a fazer muitas coisas diferentes, mas é demais se eu tiver que fazer sysadmin, arquitetura de banco de dados, design e desenvolvimento de software? Ah, mais me pedem para fazer tudo isso em diferentes plataformas.
Atualmente, estou trabalhando com JSP, ASP, MSSQL, MySQL, Oracle, Windows Server e Linux.
No banco de dados, escrevo consultas para backup e recuperação.
Configuração do servidor, recuperação de falhas do sistema, migração de banco de dados e servidor também.
Plush HTML, Javascript e CSS :)
Número de projetos pelos quais sou responsável: 5

Eu não sou especialista em todos eles!
Eu tenho que pesquisar na Internet, ler tutoriais e fazer perguntas no StackOverflow para fazer tudo isso!

Então eu pergunto, isso é normal?
Esta é uma prática normal?
Vou enfrentar a mesma situação em qualquer empresa pequena que eu for?
Eu estou trabalhando na Coréia do Sul.
Como está o seu país?

PS Obrigado a todos pela sua opinião. Eu ia votar todos vocês porque todos me ajudaram a vê-lo de uma maneira diferente, mas aparentemente você precisa de 15 reputação para votar :(

Ascendente
fonte
36
Considere-se muito afortunado. Você tem a oportunidade de aprender uma grande variedade de habilidades e é pago para isso.
Robert Harvey
2
Sim, eu penso assim. Não estou particularmente reclamando, mas perguntando se é uma prática normal. Ah, talvez eu deva acrescentar isso à pergunta.
Ascendente
Se é demais, depende de você. Como outros disseram em respostas, não é incomum que as pequenas empresas façam com que as pessoas se dobrem para outras funções. Se você acha que isso é esmagador, na medida em que seu trabalho sofre, isso é algo a ser discutido com seu gerente. Da mesma forma, se você faz tantas outras coisas que não quer e também as que deseja (e para as quais foi contratado), discuta novamente com seu gerente ou comece a procurar outras funções. Pessoalmente, gosto de fazer coisas de administrador de sistemas e sinto falta disso quando estou em uma grande empresa onde eles não me deixam nos servidores. ;-) #
Chris
3
Você não está sozinho. Eu faço tudo (e quero dizer tudo ) na minha empresa também. DBA, sysadmin, programador, desenvolvedor web, suporte ao usuário, rede, os trabalhos.
MikeTheLiar # 3/13

Respostas:

33

Na minha experiência, sim, é perfeitamente normal que desenvolvedores de pequenas empresas cubram uma ampla gama de funções. Certamente, é normal para uma empresa tão pequena que só tenha três desenvolvedores para não ter um DBA ou administrador de sistemas especializado.

No entanto, eu consideraria incomum uma empresa tão pequena usar uma gama tão ampla de tecnologias. JSP e ASP? Windows e Linux? SQL Server, MySQL e Oracle? Geralmente, as pequenas empresas se concentram em uma plataforma de tecnologia para evitar se espalharem muito.

Se o seu trabalho envolvesse desenvolvimento de pilha completa em uma plataforma - por exemplo, ASP.NET + SQL Server + Windows ou Java + Oracle + Linux - você ainda se sentiria sobrecarregado?

De qualquer forma, se você deseja se especializar em maior extensão, sim, deve procurar empresas maiores. Quanto maior a equipe, mais plausível e benéfico é ter especialistas.

Carson63000
fonte
Obrigado. Só para acrescentar mais uma coisa, se me pedissem para também desenvolver e manter o software ERP no SAP PowerScript, isso ainda seria uma prática normal? ou estará se espalhando muito fino?
Ascendente
Embora o @PerfectGundam não tenha explicado por que seu empregador tem uma diversidade de plataformas; terminar com o uso significativo de vários não é tão difícil se você não tiver o benefício de reescrever seus sistemas legados ao mudar de plataforma para um novo desenvolvimento. Casos em que os outliers são apenas uma pequena fração do total podem ocorrer quando um nicho ocasional não tem uma boa opção na plataforma preferida das empresas. E se a empresa estiver desenvolvendo software para terceiros; criar coisas para se ajustar à pilha preferida dos clientes pode resultar em uma enorme confusão de plataformas, cada uma usada uma ou duas vezes.
Dan Neely
@ DanNeely - oh, não tenho dúvidas de que foi exatamente assim que aconteceu. Sempre existe o risco, para uma pequena empresa do tipo agência, de dizer "sim" a qualquer coisa porque conseguir a venda é mais importante do que pequenos detalhes como "nós temos alguém que é realmente capaz de fazer esse trabalho?" :-)
Carson63000 4/13
14

Por experiência, posso dizer que viver como desenvolvedor de software varia muito de acordo com o tamanho da empresa em que você trabalha.

As lojas menores tendem a exigir mais tarefas múltiplas e assumem várias funções, enquanto as grandes empresas geralmente têm uma função muito estritamente descrita para cada pessoa.

Um extremo é o show de um homem, onde você (obviamente) tem que fazer todo o trabalho, se ele se encaixa em suas áreas fortes ou não.

A outra é a grande empresa multinacional, com vários locais somente na sua cidade: aqui você tende a ter uma descrição precisa da posição que informa exatamente o que você está trabalhando.

Da mesma forma, presumo que também varia com base na sua área exata de negócios e na localização geográfica / cultural.

Joachim Sauer
fonte
13

Em sua enumeração das tarefas que um desenvolvedor deve executar, você também pode colocar:

  • Design de interação,
  • Design visual,
  • Usabilidade,
  • Segurança,
  • Levantamento de requisitos,
  • Teste e controle de qualidade,
  • Desdobramento, desenvolvimento,
  • Manutenção,
  • Gerenciamento de Projetos,
  • Gerenciamento de equipe,
  • etc.

Em essência, essa é a diferença entre um programador e um desenvolvedor .

  • O trabalho de um programador , não importa quão habilidoso, é escrever código , eventualmente pensando um pouco nas diferentes abordagens (ou seja, design preliminar).

  • O trabalho de um desenvolvedor é ser capaz de executar um projeto pequeno ou de médio porte , o que requer um conhecimento muito mais amplo (e, ao mesmo tempo, mais superficial).

Para superar o fato de que um único desenvolvedor não seria capaz de conhecer tanto quanto uma única pessoa que passou anos aprendendo apenas uma coisa, os projetos são feitos por uma equipe. É assim que os projetos são (ou pelo menos deveriam ser) organizados. Na maioria das vezes, um projeto pequeno não requer muitas habilidades em nenhum domínio, enquanto projetos maiores exigem.

  • Se eu estragar, como desenvolvedor, a segurança de um site de comércio eletrônico de uma pequena empresa, bem, é ruim, porque a empresa pode perder algumas centenas ou, raramente, milhares de dólares, mas não é crítica. Se eu estragar a segurança ou um sistema que controla o tráfego aéreo, isso é muito ruim.
  • Se o design de interação do produto de software de contabilidade interno feito para uma pequena empresa e usado por apenas dois contadores que trabalham lá é ruim, novamente, isso não é muito prejudicial. Se o design de interação de um novo produto da Apple for ruim, isso poderá ter consequências importantes nas vendas e na reputação da empresa.
  • etc.

Isso significa que, trabalhando em pequenas empresas em projetos de pequena escala, você se encontrará fazendo muitas coisas . Essas empresas simplesmente não podem arcar com especialistas em todas as centenas de setores relacionados à TI, então, em vez disso, buscam uma grande quantidade de negócios .

Comece a trabalhar em grandes projetos e verá que seu papel será mais restrito e mais profundo ao mesmo tempo. Todo o seu trabalho pode ser escrever código CSS, mas você precisará conhecer qualquer peculiaridade CSS e poder estilizar um aplicativo da Web muito rápido, com base no trabalho de um designer visual. Você não teria desculpa se não pudesse explicar os benefícios do Sass em comparação com o LESS ou se não souber o que são sprites de CSS.

Cabe a você escolher o que preferir.

  • Não há nada de ruim em ser especialista em todos os negócios, especialmente porque ele permite que você seja flexível o suficiente: se houver uma demanda por administradores de sistema, você terá as habilidades necessárias. Se, alguns anos depois, ninguém precisar de administradores de sistemas, mas agora, os desenvolvedores da Web são bem pagos, você pode se inscrever.
  • Não há nada ruim em se concentrar em um campo estreito também. Se você tem um conhecimento profundo de um campo, grandes empresas com muito dinheiro podem estar interessadas em contratá-lo, porque haveriam poucos especialistas em seu nível de habilidades.
Arseni Mourzenko
fonte