Durante la crisis perdí mi trabajo y ahora tengo miedo de escribir código inteligente para no asustar las últimas vacantes



Hace un par de años, estaba lleno de ira y desesperación. Yo era el tipo que pasó cien años en una gran empresa, quemada, pero que aún no sabía qué mercado gigante estaba afuera. Burnout me asustó. Dudaba de mis habilidades y creía en las pistas de mis superiores de que encontrarías un trabajo mejor que este.

No sabía a dónde ir, convertí la desesperación y la ira en un texto, y me gustó. Me gustó tanto que en el fondo comencé a alegrarme con cualquier basura en mi vida, solo la basura hecha buen material. Peor aún, comencé a buscar mierda a propósito.

Pero encontrarlo se volvió cada vez más difícil, porque en realidad la vida del desarrollador es una historia de mierda. El mundo a su alrededor es simple y claro, tiene un trabajo interesante, siempre tiene dónde aplicar sus impulsos creativos y tiene mucho dinero. El miedo al desempleo no existe: recibirá docenas de vacantes cualquier día. No hay miedo a las crisis: los salarios de los desarrolladores están creciendo más rápido que todos los demás en el país, y si algo sale mal, solo encuentra un trabajo donde su nómina está vinculada a un dólar o elige una reubicación. Esta es una industria donde personas especialmente capacitadas resolverán cualquier dificultad para usted. Simplemente haga clic en la tarea al menos un par de horas al día.

Estamos sentados aquí como viejos europeos y quejándonos de los rebaños de inmigrantes sin educación que nos están pidiendo dinero de sus estúpidas profesiones.

En algún momento, en la cima del bienestar, escribí mi texto más descarado. Resultó no por el hecho de que en mi vida había mierda de verdad, sino porque no podía encontrar mierda, y me enfureció. Escribí y me di cuenta de que estos artículos tontos eran suficientes para mí. Decidí convertirme en un adulto y un tío serio, como me aconsejó cada tercer comentarista.

Realmente comprometido en el trabajo, y no a través de las mangas. Establecer planes. Finalmente acepté volar con mi esposa y mis amigos de vacaciones (odiaba incluso la idea de las vacaciones), compré boletos. Se relajó e intentó comenzar a vivir como una persona. Incluso el auto comenzó a conducir despacio y con cuidado. Y fue aquí donde la mierda que había estado buscando durante tanto tiempo me encontró. Pero esta vez no estaba contento con él.



Una semana antes del año nuevo, fui despedido severamente de la oficina, donde en un mes me convertiría en un líder de equipo. Fue desagradable, pero no aterrador. Qué problemas: encontrar uno nuevo. Pero se necesitaba trabajo en este momento, y el mercado ya ha entrado en el modo "vamos después de las vacaciones". Acepté el trabajo del proyecto y el trabajo a tiempo parcial, pasé un par de horas en el viaje, recibí de inmediato el caché y estaba tranquilo.

Pero el trabajo de diseño es un trabajo que terminará pronto. Comencé a buscar un lugar permanente por adelantado, y no podía entender lo que estaba sucediendo. El mercado me echó a perder, antes de ir solo a las fiestas de la seguridad social donde fui invitado por los artículos, para que no tuviera que explicar nada a nadie. No es que fuera muy bueno técnicamente, pero no soy lo suficientemente malo como para no estar obsesionado con la seguridad social.

Y ayer había diez oraciones al día, y hoy de repente cero. Esperaba que la cuarentena generara un montón de udalenki, y él dio a luz a un cazador de cabezas vacío, ignorantes y fracasos. Ayer fue ridículo imaginar que cuando solicites un trabajo obtendrás un "no", hoy no obtendrás nada más. Hoy, si escribieron "no", eso es bueno. Al menos te notaron.

La crisis, el maldito virus, el artículo por el cual estaba metido en listas negras. Esto último es al menos un poco divertido: represento los ojos de regodeo: "¿Quieres volver a trabajar?" Bueno, no trabajes ". Cien por ciento piensan que apreté la cola y qué lindo fue correr para pedir trabajo, tan pronto como la vida se cerró.

Pero sé cuál de nosotros es un verdadero hipócrita. No voy a ir al mercado con este mantra exitoso generalmente aceptado "¡oh no, que tú, por supuesto, no estoy aquí por el dinero! ¡Desde pequeño, soñaba con llegar a la oficina a las 10 de la mañana y remachar el mismo tipo de tarea! Solo los valores de sus empresas son importantes para mí, el dinero no tiene nada que ver con eso ”. Y estoy seguro de que si le das mil millones de dólares a estos misteriosos ojos ardientes, inmediatamente cagarán en la mesa del jefe, irán al fin del mundo y regarán árboles exóticos en su jardín y admirarán las estrellas en el césped hasta la vejez.

Todos simplemente estamos obligados a trabajar, y jodidamente enojados conmigo porque tuve suficientes huevos para decir la verdad en voz alta.

Es posible que no quiera trabajar cien veces, pero cuando eres un desarrollador que perdió su asiento en el punto álgido de la crisis, el mundo ya no es simple y comprensible: de repente parece un montón de basura hostil que está a punto de unirte a ti mismo. Cuando tiene un buen ingreso, rápidamente se convierte en un montón de obligaciones, y ahora su existencia básica comienza a costar cinco salarios promedio en su región. Hace mucho tiempo que olvidé el miedo a quedarse sin dinero, pero ahora existe este miedo. Repetidamente amplificado por la crisis.



Pero tuve suerte: con una de las vacantes, a la que respondí por si acaso, llegó una respuesta positiva. Al menos estaban listos para hablar conmigo.

Vacante en una pila completa, un respaldo en objetos punzantes, un frente en un guión. No soy un back-end o front-end. Me llamo una pila completa porque conozco C # y Java / tipo script. Pero casi no hice un backend o frontend, hice bibliotecas, computadoras de escritorio y teléfonos móviles.

Llamamos por teléfono y rápidamente acordamos que necesitábamos una tarea de prueba. El más simple robo, netcor, frente a algo de los tres grandes. Bueno, creo que la oferta está en mi bolsillo. Nadie y nada dirán sobre mi habilidad mejor que mi código. No podré perder una seguridad social cuando haya una solución reflexiva y clara para el problema detrás de mí.

Y tenía razón, no me cagué en la entrevista. Me cago mientras hago una prueba.

No soy un defensor, así que realmente no imagino la arquitectura de tales cosas. Pero como desarrollador profesional, estúpidamente fui a Google y pregunté cómo se hace la API web al núcleo. Google respondió con artículos sobre RDSI y publicaciones en informes técnicos. Estudié a fondo todo esto y me di cuenta de que no me gustaba Nichrome como el enfoque adoptado en la industria.

¿Cómo validan los datos allí? Atributos? La industria tiene más de 30 años y todavía no podemos decidir un enfoque unificado para la validación. Ok atributos. Pones MinLength, y no funciona porque no hay una constante en la base de datos y eso es todo. Si desea que se valide, puede guardar su propio atributo e incrustarlo en las entrañas de EF, o validarlo en los servicios. En el culo atributos.

¿Cómo funcionan con los servicios de acceso a datos? No, no tienen tales servicios. Usan el patrón de repositorio, pero eso no me conviene.

Bien, IoC es objetivamente algo bueno. Pero explica por qué demonios cagas estos repositorios sin fin y fin. Incrustarlos entre sí, envolver los repositorios sobre los repositorios, espolvorear todo con toneladas de DTO solo para pasar su condenado SELECT TOP 1 DESDE ... DONDE Id = 10 a la base de datos. Que estas diciendo alli ¿Siendo probado? ¿Puedo escribir un mok? No es que tuviera tanta experiencia, pero nunca he visto un sistema de servicios que se haya probado bien con mokas. Nadie se topó con esta nube de sus repositorios sobre repositorios y pasó dos semanas de trabajo en él, en primer lugar, con el cliente y el gerente, que ahogaron dos reuniones para pruebas de unidad y casi TDD, hasta que vio la estimación. Pero su "empresa joven y exitosa" no tiene dinero para el arquitecto de prueba.

Para cualquier secuestro por cualquier estornudo, debo hacer un DTO externo además del resto de los diez, que se usarán específicamente solo en el controlador. Y Dios no quiera usar la herencia. Una vez que mezclas la esencia, entonces rompes la pierna y la desenredas. Y si usas la entidad EF-th como DTO, entonces sales. Se le proporcionan el proxy y la llamada de adjuntar / desconectar en los lugares más inesperados.

Bien, hemos creado un mapeador automático. Pero no aprendieron cómo usarlo y crearon una configuración estática, que luego, por supuesto, se vinculará repentinamente con la instancia de DataContext, que, aquí es una sorpresa, tendrá que ponerse en HttpContext.Current. Y luego nos preguntamos por qué todos los adultos mayores huyen gritando cuando se les ofrece participar en la traducción del proyecto a .NET Core.

Dioses, ¿por qué sé todo esto? No soy un becker, todavía no he crecido una piel gruesa que me proteja de dudas innecesarias cuando utilizas la solución inútil adoptada por todos los bekenders.

Por otro lado, las personas contratan a un firmante. No necesitan una persona que azote sin pensar como todos los demás, ellos, Phil, quieren que pienses un poco. Pero no puedo hacerlo un poco. Inmediatamente empiezo a encontrar un sistema completamente nuevo, un enfoque consistente y poderoso.

Dividí la aplicación en tres conjuntos: fecha, negocio y web. Las capas están claramente separadas entre sí, todo lo que debe encapsularse, lo he encapsulado. Nadie, excepto la capa de datos, puede instanciar modelos, todo está bajo control. Como resultado, tengo tres ensamblajes por cuna para una entidad. Soy un idiota, rehaciendo. Contratan a un firmante, no a un ingeniero en exceso.

El quinto o sexto círculo de tales pensamientos ya ha pasado. En el proceso, escribo código que parece estar empeorando cada vez más. Rápidamente me di cuenta de que con este enfoque nunca terminaría la prueba. Tenía que convencerme a mí mismo: pon tu opinión en tu trasero y haz como todos los demás.



Esta no es la primera prueba en mi vida. Estoy acostumbrado a esto de esta manera: haces trampa, como mejor te parezca, en un par de días refactorizas una vez y lo envías. Si lo hago para siempre, no funcionará mejor. Y si no va al empleador, bueno, gracias a Dios, entonces no trabajaremos juntos.

Ahora las reglas han cambiado. Necesito trabajar como el aire, comienzo a escribir código que creo que quieren ver, en lugar del que creo que es necesario. Hace mucho tiempo que olvidé este sentimiento desagradable. Una cosa es dudar de sus decisiones cuando tiene miedo de escribir un código incorrecto. Y es algo completamente diferente cuando escribes un código específicamente para que a alguien le guste.

Cuando algo no funciona para ti en el desarrollo, inmediatamente comienza a parecerte que todo el problema está en ti. Que no sabes nada, todos los demás, su madre, saben cómo trabajar como programadores, pero tú no sabes cómo. Es un horror irracional e inexplicable que te engañaste toda tu vida, se intensifica muy rápidamente.

Sí, sé que no puedes construir sistemas durante años y no ser un desarrollador real. Sí, conozco muchos más argumentos, pero el miedo es mucho más fuerte. Y ahora está respaldado por un agujero financiero: ya no juego un videojuego, sino que me arriesgo seriamente a empobrecer a mi familia. Y la única arma que tengo para evitar esto es mi habilidad, la fe en la que se evapora ante nuestros ojos.

Ahora me siento más asustado que nunca, porque no solo lo entendí, sino que lo sentí: el mercado amistoso y con sobrepeso siempre ha sido una confirmación de mi habilidad. Tan pronto como me convertí en un zapato, el mercado me recompensó al instante con dinero y nuevas oportunidades. Y ahora, cuando el mercado está asaltando, resulta que no puedo convertirme en nada. No habrá mercado, no habrá mi inclinación.

Toda mi confianza en que tengo derecho a tomar algunas decisiones, que tengo algo de experiencia y las razones para esto, se hizo añicos cuando cambiaron las condiciones del mercado laboral. Y ahora el desarrollador no es una élite intelectual, sino un ingeniero de un instituto de investigación soviético. Barato y tonto. No puedo estar de acuerdo conmigo mismo y hacer una prueba primaria, porque el miedo me hizo inadecuado.



Mi última versión del beck made es una solución de referencia. Todo en las guías. Tomó todo sin un rastro de fuerza moral. Podría enviar lo que ya se ha hecho, pero preferí tirar esta mierda a la basura y no hacer nada más.

Escribir una prueba como se esperaba de mí, para mí es un trato con conciencia. Me alejo de mis principios y escribo código que creo que es malo. Y no puedo escribir como quiero, porque tengo miedo. Me temo que si torturo esta prueba con trabajos titánicos y trato conmigo mismo y obtengo la respuesta "chico, hiciste una mierda, no nos conviene", mi fe en mí caerá tanto que no podré caminar por

mí. nuevamente abrumado por la desesperación, pero en lugar de ira, ahora miedo.

¿Que sigue? ¿Voy a decir con los ojos ardientes cómo he soñado toda mi vida de ir a la oficina para la ronda 10 y remachar el mismo tipo de tarea?



Ahora junto con arttomEstoy haciendo el podcast "Estamos condenados". Todo lo que hay en los artículos, lo más directamente posible sobre desarrollo, industria, masa y seguridad social. Primer número aquí

All Articles