La honestidad tiene un alto precio.
Este sitio siempre ha sido una descripción de la realidad que vive la gente de la informática, así que me gustaría analizar mi experiencia trabajando en equipos de desarrollo. Las siguientes son experiencias generales que he tenido en distintas empresas. Ninguna experiencia está asociada a una empresa en particular y no sirve necesariamente como crítica.
¿Tienes muchas ideas? ¿Quiere innovar? ¿Disfrutas encontrando soluciones elegantes a los complejos problemas que resuelve tu equipo y que asolan a media empresa? ¿Es consciente de la importancia de la seguridad, el diseño del software y la búsqueda de cuellos de botella en los proyectos?
Probablemente serás infeliz en el equipo de desarrollo durante mucho tiempo.
El trabajo en equipo es algo con lo que he estado luchando mucho últimamente -específicamente estoy nadando en él y tratando de entender los principios completamente ininteligibles para mí para adherirme.
Las personas como yo son una fuente potencial de problemas y conflictos. Es genial pensarlo así.
Cada empresa tiene sus normas de estilo de código. Desgraciadamente. Me molestó mucho al principio.
Cuando se utiliza uno de los lenguajes más maduros, como .NET, las reglas de estilo de código tienden a ser más similares. Sólo entonces te das cuenta de que PHP y JavaScript siguen existiendo en el mundo. Especialmente lo de PHP es un poco frustrante a veces. PHP es un lenguaje muy maduro con muchas y muy buenas características, pero según mi experiencia, se utiliza en las empresas a un tercio de su potencial total. Las razones suelen ser variadas, la mayoría de las veces por inercia.
En este sentido, hace tiempo que busco una solución procedimental para la revisión del código. Llevo mucho tiempo jugando con PhpStan y siguiendo las ideas en torno a él. La idea básica detrás de PhpStan es que sólo resalta los errores objetivos que seguramente ocurrirán en algún momento. Cuanto más exploro PhpStan y lo llevo al siguiente nivel, más valido internamente lo cierto que es.
Estaría bien que PhpStan se implantara en al menos la mitad de las empresas checas. Sería aún mejor si al menos llegara al nivel 6. En la práctica, he experimentado que las mejores empresas tienen el nivel 4 o 5.
Precisamente el otro día me preguntaba si puede haber una aplicación de producción real en funcionamiento que tenga su propio equipo de desarrollo, y que ni siquiera pase el nivel 0, que es el que controla las cosas que se esperan en cualquier aplicación. Algo así como asegurarse de que todas las clases y funciones existen, los archivos no tienen errores de análisis, etc. Y sí, hay aplicaciones de este tipo. Pero la situación está mejorando a largo plazo. Ojalá.
Así que sigo un enfoque similar con codereview. Sólo informo de las cosas que objetivamente son siempre erróneas. A menudo me encuentro con errores de apreciación del grado: algo va mal, pero, de nuevo, no es un problema tan grande como para tener que abordarlo. Muchos problemas se resuelven por convención, o declarando que el riesgo es pequeño, por lo que no tiene sentido tratarlo.
Siempre he considerado que la falta de tipos de datos (incluso los compuestos) es un error crítico. Entonces comprendí que existe la prueba y el volcado.
Creo que no tengo una conclusión concreta para esta parte. Sólo tengo un montón de comentarios subjetivos al respecto, que es más probable que sean una fuente de malentendidos mutuos, así que no los publicaré. A largo plazo, me inclino por la conclusión de que no puedo hacer codereview: o soy demasiado estricto o demasiado benévolo. No puedo decir a nivel general lo que realmente importa y lo que no es tan importante. Me interesaría bastante saber cómo lo hacen los demás. Nadie ha sido capaz aún de darme una respuesta que me sirva también.
¿Tiene una agencia y hace desarrollo web a medida? Si no eres lo suficientemente grande y haces grandes proyectos para otras empresas, probablemente no existirás ningún día.
La razón de que esto ocurra es la escasa financiación de los proyectos a medida. Probablemente tenga que ver con la naturaleza de los contratos, que son más rentables para los compradores. De hecho, la mayoría de las agencias están brutalmente infrafinanciadas y sólo obtienen un beneficio real para los propietarios.
Cuando desarrollas internamente un proyecto como empresa para ti mismo, un retraso en la entrega de un mes probablemente no importa tanto. Como agencia, si no entregas un trabajo antes de un mes, tienes garantizado que ese mes estarás durmiendo lentamente en el trabajo, arruinando constantemente tu salud, el cliente maldiciendo al teléfono y los tickets, siempre preguntando si podría ser más rápido, y como recompensa seguirás pagando una penalización contractual. Y si no lo haces, el cliente te etiquetará como un contratista poco fiable y puede plantearse ir a otro sitio, donde de todas formas no será mejor.
Pero esas son las reglas del juego, que he llegado a conocer en la práctica, y que han hecho un agujero en mi presupuesto.
La contratación es probablemente la forma de negocio más compleja en el ámbito de las TI. No quieres hacer contrataciones. La contratación te destruirá. Te llamarán el fin de semana, por la noche, en Navidad. La mitad del trabajo que haces no te lo pagan. Te disculparás por errores que no puedes cometer. Estarás mirando en Instagram el storytelling de los amigos que se han ido de vacaciones por tercera vez este año mientras tú te sientas en tu oficina a las 3 de la mañana de un sábado terminando un proyecto de un cliente que de todas formas te regañarán el lunes porque había más en el contrato de lo que podías hacer. La gente se tomará vacaciones y bajas por enfermedad y tú trabajarás en su lugar. O te despiden. Y entonces estarás contento de pagar el alquiler.
Pero además, se aprende mucho. Porque el hecho de estar bajo presión te obliga a aprender y ser eficiente para que la próxima vez puedas hacer un poco más en el mismo tiempo. Lo malo es que no puedes aplicar realmente esos conocimientos y experiencia en otros lugares porque a las empresas no les interesa (ya lo he explicado antes).
Afortunadamente, esta es una historia de 2019 y está muy lejos.
¿Si hago lo que me gusta? ¿Y tú? :D
Supongo que todo es una cuestión de proporción. Probablemente nunca harás un trabajo que te satisfaga al 100%. Probablemente siempre habrá alguien que te explique que no puedes hacer aquello que llevas 10 años aprendiendo a la fuerza y tú sabes internamente que puedes.
Por otro lado, por una cierta negación de tu propia personalidad, ganas el espacio para tener algo más. Como tiempo de fin de semana, mejor salud, más tiempo para ti, un entorno estable, etc. Que no se puede sostener a largo plazo también es obvio.
Me gusta poder probar cosas diferentes para experimentar de primera mano cómo lo hacen otros. Trabajar en un equipo de desarrollo es un gran aburrimiento comparado con un trabajo a medida.
Ya no se trata de encontrar la mejor y más rápida solución, sino de colaborar. Se trata de mejorar la comunicación, las emociones y, sobre todo, de aprender a ser humano. Y eso también es un gran valor.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | es