En realidad, ¿un desarrollador también administra DBMS y sistema? [cerrado]

21

Realmente no sé dónde más preguntar. Así que aquí va.

Estoy trabajando en una empresa muy pequeña que fabrica software ERP y sitios web.

1 desarrollador con + 10 años de experiencia.
2 desarrolladores con + 3 años de experiencia.
3 desarrolladores con + 1 año de experiencia.

Eso es.
Sin equipo, sin DBA, sin administrador del sistema.
No hay nadie por aquí que tenga experiencia en desarrollo web, así que yo estaba a cargo del desarrollo web. ¡Pero solo tengo 3 años de experiencia! como desarrollador !.


Sé que en una pequeña empresa, se le pide que haga muchas cosas diferentes, pero ¿es demasiado si tengo que hacer sysadmin, arquitectura de bases de datos, diseño y desarrollo de software? Ah, además, me piden que haga todo eso en diferentes plataformas.
Actualmente estoy trabajando con JSP, ASP, MSSQL, MySQL, Oracle, Windows Server y Linux.
En la base de datos, lo hago desde escribir consultas hasta copias de seguridad y recuperación.
Configuración del servidor, recuperación de fallos del sistema, migración de DB y servidor también.
HTML, Javascript y CSS de felpa :)
Número de proyectos de los que estoy a cargo: 5

¡No soy un experto en todos ellos!
¡Tengo que buscar en Internet, leer tutoriales y hacer preguntas en StackOverflow para hacer todo eso!

Entonces te pregunto, ¿es esto normal?
¿Es esta una práctica normal?
¿Me enfrentaré a la misma situación en cualquier empresa pequeña a la que vaya?
Estoy trabajando en Corea del Sur.
¿Cómo es en tu país?

PD: Gracias a todos por su opinión. Iba a votarles a todos porque todos ustedes me ayudaron a verlo de una manera diferente, pero aparentemente necesitan 15 reputación para votar :(

Ascendente
fuente
36
Considérate muy afortunado. Tienes la oportunidad de aprender una amplia variedad de habilidades y recibir un pago por hacerlo.
Robert Harvey
2
Sí, pienso de esa manera. No me quejo particularmente, pero pregunto si es una práctica normal. Oh, tal vez debería agregar eso a la pregunta.
Ascendente
Si es demasiado, depende de ti. Como otros han dicho en las respuestas, no es raro que las pequeñas empresas hagan que las personas se dupliquen en otros roles. Si siente que es abrumador en la medida en que su trabajo sufre por ello, entonces eso es algo que debe tratar con su gerente. Del mismo modo, si haces muchas otras cosas que no quieres hacer tan bien como las cosas que quieres hacer (y para las que trabajaste), vuelve a hablar con tu gerente o comienza a buscar otros roles. Personalmente, me gusta hacer cosas de administrador de sistemas y lo extraño cuando estoy en una gran empresa donde no me dejan en los servidores. ;-)
Chris
3
No estas solo. Hago todo (y lo digo todo ) también en mi empresa. DBA, sysadmin, programador, desarrollador web, soporte al usuario, redes, los trabajos.
MikeTheLiar

Respuestas:

33

En mi experiencia, sí, es perfectamente normal que se espere que los desarrolladores de pequeñas empresas cubran una amplia gama de roles. Ciertamente, es normal que una empresa tan pequeña que solo tenga tres desarrolladores no tenga un DBA o administrador de sistemas especializado.

Sin embargo, me parecería inusual que una empresa tan pequeña utilice una gama tan amplia de tecnologías. JSP y ASP? Windows y Linux? SQL Server, MySQL y Oracle? Por lo general, las pequeñas empresas se centrarán en una plataforma tecnológica para evitar extenderse demasiado.

Si su trabajo implicara el desarrollo completo en una plataforma, por ejemplo, ASP.NET + SQL Server + Windows o Java + Oracle + Linux, ¿todavía se sentiría abrumado?

De todos modos, si desea especializarse en mayor medida, sí, debe buscar empresas más grandes. Cuanto más grande es el equipo, más plausible y beneficioso es tener especialistas.

Carson63000
fuente
Gracias. Solo para agregar una cosa más, si me pidieran que también desarrolle y mantenga el software ERP en SAP PowerScript, ¿seguiría siendo una práctica normal? o se extenderá demasiado delgado?
Ascendente
Si bien @PerfectGundam no ha explicado por qué su empleador tiene tanta diversidad de plataformas; terminar con un uso significativo de varios no es tan difícil si no tiene el beneficio de reescribir sus sistemas heredados cuando cambia las plataformas para un nuevo desarrollo. Los casos en que los valores atípicos son solo una pequeña fracción del total pueden ocurrir cuando un nicho ocasional no tiene una buena opción en la plataforma preferida de las compañías. Y si la empresa está desarrollando software para terceros; crear cosas para adaptarse a la pila preferida de los clientes puede dar como resultado una gran mezcla de plataformas, cada una de las cuales se usa una o dos veces.
Dan Neely
@DanNeely - oh, no tengo dudas de que es exactamente como sucedió. Siempre existe el riesgo, para una pequeña empresa tipo agencia, de decir "sí" a cualquier cosa porque obtener la venta es más importante que pequeños detalles como "¿tenemos a alguien que realmente pueda hacer este trabajo?" :-)
Carson63000
14

Por experiencia, puedo decir que vivir como desarrollador de software varía ampliamente según el tamaño de la empresa en la que está trabajando.

Las tiendas más pequeñas tienden a requerir más tareas múltiples y asumir múltiples roles, mientras que las grandes empresas generalmente tienen un rol muy estrictamente descrito para cada persona.

Un extremo es un espectáculo de un solo hombre, donde (obviamente) tienes que hacer todo el trabajo, ya sea que se ajuste a tus áreas fuertes o no.

La otra es la gran empresa multinacional con varias ubicaciones solo en su ciudad: aquí tiende a tener una descripción de posición precisa que le dice exactamente en qué está trabajando.

Del mismo modo, supongo que también varía según su área exacta de negocio y ubicación geográfica / cultural.

Joachim Sauer
fuente
13

En su enumeración de las tareas que un desarrollador tiene que hacer, también puede poner:

  • Diseño de interacción,
  • Diseño visual,
  • Usabilidad,
  • Seguridad,
  • Recopilación de requisitos,
  • Pruebas y control de calidad,
  • Despliegue,
  • Mantenimiento,
  • Gestión de proyectos,
  • Gestión de equipos,
  • etc.

En esencia, esta es la diferencia entre un programador y un desarrollador .

  • El trabajo de un programador , no importa cuán hábil sea, es escribir código , eventualmente pensando un poco en los diferentes enfoques (es decir, diseño preliminar).

  • El trabajo de un desarrollador es poder ejecutar un proyecto pequeño o mediano , lo que requiere un conocimiento mucho más amplio (y al mismo tiempo menos profundo).

Para superar el hecho de que un solo desarrollador no podría saber tanto como una sola persona que pasó años aprendiendo solo una cosa, los proyectos los realiza un equipo. Así es como los proyectos están (o al menos deberían estar) organizados. La mayoría de las veces, un proyecto pequeño no requiere demasiadas habilidades en ningún dominio, mientras que los más grandes sí.

  • Si me equivoco, como desarrollador, con la seguridad de un sitio web de comercio electrónico de una pequeña empresa, bueno, es malo, porque la compañía puede perder unos pocos cientos o, raramente, miles de dólares, pero no es crítico. Si me equivoco con la seguridad o un sistema que controla el tráfico aéreo, eso es realmente malo.
  • Si el diseño de interacción del producto de software de contabilidad interna realizado para una pequeña empresa y utilizado solo por dos contadores que trabajan allí es malo, nuevamente, esto no es demasiado dañino. Si el diseño de interacción de un nuevo producto de Apple es deficiente, esto puede tener consecuencias importantes en las ventas y la reputación de la empresa.
  • etc.

Esto significa que al trabajar en pequeñas empresas en proyectos a pequeña escala, a menudo te encontrarás haciendo muchas cosas . Esas compañías simplemente no pueden permitirse el lujo de especialistas en todos los cientos de sectores relacionados con TI, por lo que buscan una gran cantidad de oficios .

Comience a trabajar en proyectos grandes, y verá que su rol será más estrecho y, a la vez, más profundo. Todo su trabajo puede ser escribir código CSS, pero se le pedirá que conozca cualquier peculiaridad de CSS y pueda diseñar una aplicación web muy rápido, en función del trabajo de un diseñador visual. No tendría excusa si no puede explicar los beneficios de Sass en comparación con LESS o si no sabe qué son los sprites CSS.

Depende de usted elegir lo que prefiera.

  • No hay nada malo en ser el operador de todas las operaciones, especialmente porque le permite ser lo suficientemente flexible: si hay una demanda de administradores de sistemas, tiene las habilidades. Si, unos años más tarde, nadie necesita administradores de sistemas, pero ahora, a los desarrolladores web se les paga bien, también pueden solicitarlo.
  • No hay nada malo en enfocarse en un campo estrecho tampoco. Si tiene un conocimiento profundo de un campo, las grandes empresas con mucho dinero pueden estar interesadas en contratarlo, porque habría pocos especialistas de su nivel de habilidades.
Arseni Mourzenko
fuente