Buenas, eolianos, muchas gracias por las respuestas. Ahora, a la faena de responderos a vosotros.
Dartanyan escribió:Tampoco esperes que exista el sitio idílico. Yo no conozco ninguno. Y las chapuzas están a la orden del día en todos sitios.
Cuento con esto de sobra, vaya donde vaya. El caso es que ahora mismo, en el proyecto en el que estoy, dudo que perfiles
junior recién entrados sean capaces de hacer chapuzas mayores que las que ya se están haciendo.
Dartanyan escribió:El hecho de trabajar con herramientas "antiguas" también es normal. Las empresas no desarrollan software serio en menos tiempo de lo que tarda Microsoft en sacar una nueva versión de .NET. Trabajar en las últimas versiones para una Hackaton está muy bien. Las cosas serias necesitan mucho más trabajo y estabilidad. Con todo el empeño de los jóvenes queriendo trabajar en las últimas versiones al final el .NET será el nuevo COBOL
No me importa tanto trabajar con herramientas antiguas, o no con las versiones más recientes, sino el uso que hacemos de ellas. Ahora mismo, no somos ni capaces de usar el 10% de las posibilidades que nos ofrece algo ya "viejo" como .NET Framework 4.8. Esto se debe, en primer lugar, al entorno de desarrollo con el que tenemos que trabajar (porque la oferta del proyecto se hizo así, en una temporada, dada la relación de
partner con el distribuidor del producto que nosotros luego personalizamos para cada cliente, en la que interesaba hacerlo de esta manera, para aumentar el coste y, por tanto, el grueso de beneficios aportados). Este entorno de desarrollo, como digo, proporciona una interfaz de arrastrar y soltar componentes ya desarrollados por el distribuidor en ASP.NET Framework, sin posibilidad apenas de modificarlos y solo podemos desarrollar la parte que se ejecuta en el servidor, siempre siguiendo lo pautado por el
partner. Por si fuera poco, la interfaz para hacer el desarrollo propiamente dicho se asemeja bastante a tener que escribir código con el
bloc de notas. Así que ya te puedes hacer a la idea del sufrimiento que es tener que trabajar así: no hay autocompletado de código ni resaltado de sintaxis, las refactorizaciones automáticas o semiautomáticas son imposibles, para detectar errores de compilación hay que compilar al completo (no hay precompilado que marque estos errores, por mínimos que sean como no poner un punto y coma al final de la sentencia), no se puede
debuggear con los típicos puntos de ruptura (simples, condicionales, etc.), tampoco podemos utilizar dependencias, librerias (aunque fueran .dll importadas a pelo) o paquetes de NuGet.
Por todas estas limitaciones, y más, impuestas por el
partner y el producto que ofrece, no se puede aprovechar la potencia de IDEs como Visual Studio o Rider, la integración y el soporte con cualquier tipo de repositorio es inexistente ni está previsto; el desarrollo de pruebas unitarias, de integración, de sistemas y su automatización también es inviable...
wason12 escribió:A ver, yo por una subida de 1.5k no me cambiaría, pero tampoco me quedaría dónde estás quemado. Buscaría algo mejor. Por linkedin suelen llegar ofertas. Si no, mira InfoJobs o portales similares. Seguro que encuentras algo mejor a ambas ofertas. Por mucho que en una entrevista te vendan una empresa, luego hasta que no entres y estés varios meses, no vas a saber si estás a gusto o no y por una subida de 1.5k no me compensaría a mí el cambio.
Finalmente, tras negociarlo, he conseguido una subida a 30K, así que serían 2K más, con una revisión a los 6 meses por méritos, autonomía, etc. que supondría una subida hasta los 35K.
klaim2003 escribió:ya que el cambio de sueldo no es significativo, por lo que dices en el resumen yo me cambiaria a ojos cerrados. Que tienes que ir a trabajar 3 dias y dos desde casa? Pero a cambio vas a tener la posibilidad de desarrollar, y de desarrollarte mas como profesional y aprender cosas nuevas. Porque si dices que en 5 años no has desarrollado practicamente nada...Es como si yo te digo que soy psicologo y que los ultimos 5 años he estado archivando informes únicamente, pero sin posibilidad de atender a nadie.
ajbeas escribió:No estás a gusto donde estás. Tienes oportunidad de cambiar por una diferencia de 1500€ anuales brutos que limpios se quedarán en 1100€ o así, dinero que vas a gastar en gasoil/gasolina ya que no vas a teletrabajar.
No se hacen horas extras, cosa que puede ser, y si las haces te las pagan, todo bien.
Ahora, yo buscaría algo mejor si no tienes prisa.
No es la mejora de trabajo soñada. Pero si estás muy quemado, pues cambia de aires.
Para más inri, hoy mismo me han comunicado desde mi actual empresa que a partir de septiembre tendré que ir dos días por semana, mínimo, a las oficinas del cliente, lo que harían un total de 109,4Km (ida y vuelta). Al final se quedarían, por semana, en 218,8 Km en mi puesto actual frente a 146,4Km si me cambiara, con el ahorro de tiempo que me supone.
xDarkPeTruSx escribió:Porque como tu mismo dices, te estás creando un curriculum y no solo eso, estás cogiendo el vicio de hacer las cosas de cierta manera y eso es mortal para nuestra carrera.
Esto es, precisamente, lo que no quiero y cuanto más tiempo permanezca aquí, peor será. Por mucho que yo me monte aparte mis pequeños proyectos y me empape de formación, ya sea a través de la documentación oficial de Microsoft o con cursos impartidos por MVPs de Microsoft, el día a día es como lo que le he comentado previamente al compañero
@DartanyanQuiero poner en práctica todas estas cosas que aprendo y veo que son prácticas comunes y aceptadas en la comunidad, por aprender, por mejorar, por tener un perfil interesante de cara al futuro. Siento que ya he dado todo lo que tenía que dar al proyecto y al equipo y tenemos una serie de limitaciones que no se van a superar(por desconocimiento, por falta de interés, porque, directamente, no se quiere...) y son las que me desmotivan constantemente en el día a día. Alargarlo solo puede empeorar mis candidaturas de cara al futuro.
xDarkPeTruSx escribió:En la empresa están con un Stack obsoleto, 0 escaladle y difícil de mantener. Lleva 2 años y ha cogido vicio, por lo que ya es un esfuerzo titánico para esa persona seguir nuestro ritmo actual, en el que estamos implementando ya entornos de QA para hacer subidas a producción varias veces al día, porque cada persona puede sacar perfectamente 2 o 3 features al dia, con varios tipos de testing que respaldan el código y una buena batería de herramientas que garantizan la calidad de ese código.
Justo has dado en el clavo. Es justo lo que quiero y deseo y parece, por lo que he podido ver, que en la nueva empresa este tipo de prácticas se las toman en serio, o bastante más de lo que estoy acostumbrado. Quiero empezar a aprender y poner en práctica patrones de diseño cuando corresponda (
decorator,
builder,
factory,
singleton...), aplicar correctamente los principios SOLID, ser capaz de montar APIs REST sin problemas, poder
testearlas con Swagger o Postman, aprender a montar una
pipeline CI/CD con toda la automatización en el despliegue que conlleva, aprender también y participar en el desarrollo de pruebas (ya sean unitarias con xUnit o NUnit, de integración o funcionales con Selenium).
Esto que comento, en mi puesto actual, en este proyecto, sin posibilidad de cambio y con el nulo interés por parte del equipo al que pertenezco, es, francamente, imposible. Y la nueva empresa, por lo que he podido ver, no solo lo que me han comentado, parece un salto adecuado en esa dirección.
Mr.Gray Fox escribió:Lo que puedes hacer es tratar de "adiestrar" a tus compañeros. Cuando entré en este proyecto, ni usaban git desde hacía mas de un año, no usaban EF, todo a base de stored procedures, ni usaban lambdas ni ninguna buena práctica (variables con nombres raros, sin PascalCase, casi todo hardcoded, etc). Me dejaron desarrollar una parte de funcionalidad completa y la hice según lo que yo considero que son los estándares mínimos y tras ver los resultados les fui enseñando cómo hacerlo.
Tardaron un par de semanas, pero ahora tengo a todos mis compañeros haciendo un código tan uniforme que no es posible saber quien ha hecho cada cosa si no miras el git. Empieza a haber tests unitarios, de integración y GUI. Ya nadie hace stored procedures, las tablas ahora por fin son relacionales y en los nuevos microservicios empiezan a usar versiones más modernas que tienen mejor soporte y rendimiento. Con cosas como estas, mis jefes han decidido ponerme como el gurú de .NET en la empresa y sin siquiera tener un cargo importante se fían totalmente de mi criterio a la hora de los análisis o contratar gente.
Si tienes la opción, intenta educar a tus compañeros o plantéale la opción a tu responsable. Haz PoCs para demostrarles lo que puede mejorar con resultados de benchmarks en la mesa. Igual les convence.
Esta es, sin duda, mi batalla perdida. He impartido bastantes horas de formación a mis propios compañeros (superiores incluidos), e insistido en incontables ocasiones, he creado documentos de ayuda, directrices generales y buenas prácticas, he desarrollado pruebas de concepto para que vieran las diferencias, tanto de rendimiento puro como de lo fácil que sería para nosotros hacer los desarrollos si cambiáramos un poquito el
chip y, en vez de ir como locos a hacer el desarrollo una vez tenemos los requisitos, nos paráramos a pensar un poco antes para generalizar todas aquellas operativas comunes... Todo queda en buenas intenciones, en un "Ya lo haremos" o "Ya pararemos, que en el estado del proyecto en el que nos encontramos no podemos". Así durante casi dos años, en un proyecto de más de cinco y con vistas a que se prolongue otros tres.
No hay nada que hacer cuando, por mucha buena intención que haya, no disponemos de las herramientas adecuadas como repositorios ni supervisamos el código de los compañeros para no dar por "hechas" o "cerradas" auténticas locuras. Menos aún cuando el arquitecto del proyecto, para no utilizar JavaScript, ni la API del proveedor del producto a través de este ni nada que tenga que ver, justifica esta decisión en una recomendación de dicho
partner: el
partner desaconseja el uso de estas herramientas. Mentira, el
partner, pese a la escasez de documentación, recomienda en esta, si es necesario, utilizar estas herramientas y no plantea ningún problema.
Lo que ocurre es que los responsables técnicos de más antigüedad, ya acomodados en su posición, son reacios a cambiar modos de trabajar y están menos dispuestos, si cabe, a reforzar las habilidades de desarrollo en las que puedan flaquear. Ni más ni menos.