Excavar tumbas, SQL Server, años de outsourcing y su primer proyecto

Excavar tumbas, SQL Server, años de outsourcing y su primer proyecto

Casi siempre creamos nuestros propios problemas con nuestras propias manos... con nuestra visión del mundo... con nuestra inacción... con nuestra pereza... con nuestros miedos. Luego es muy cómodo dejarse llevar por la corriente del flujo de patrones sociales... ya que es cálido y divertido, y lo demás no importa – simplemente lo aceptamos. Pero después de un duro fracaso llega la comprensión de una simple verdad: en lugar de generar un flujo interminable de excusas, autocompasión y justificaciones, es suficiente simplemente tomar acción en lo que consideras más importante para ti. Eso será el punto de partida de tu nueva realidad.

Para mí, lo que está escrito a continuación es precisamente ese punto de partida. El camino no será corto...

Todos los seres humanos son socialmente dependientes y, en nuestro subconsciente, todos queremos ser parte de la sociedad, deseando obtener la aprobación de nuestras acciones por parte de los demás. Pero junto con la aprobación, siempre nos rodeará la evaluación social, que se refuerza con complejos internos y limitaciones constantes.

A menudo tememos al fracaso, postergando continuamente las cosas importantes para nosotros y luego racionalizándolo en nuestra mente, tratando de calmarnos: 'de todos modos, no salió nada', 'no encontrará aprobación entre los demás' y '¿cuál es el propósito de hacer esto?'. Muchos simplemente no saben cuán fuertes son, porque nunca han intentado cambiar algo en su vida.

Después de todo, si una persona solo hace lo que puede, ya automáticamente crea un patrón en su mente: 'esto puedo hacer... esto haré...'. Pero no hay nada extraordinario en que una persona haga solo lo que puede. Lo hizo porque podía, pero se quedó dentro del mismo rango de sus capacidades iniciales, donde ha estado todo este tiempo. Pero si no podías y lo hiciste – ahí es donde realmente brillas. Porque solo cuando salimos de nuestra zona de confort y trabajamos más allá de nuestras capacidades, es cuando realmente crecemos y nos volvemos mejores.

Mi primer intento de hacer algo significativo comenzó en mi cuarto año de universidad. Ya tenía una base de conocimientos sobre C++ y un intento fallido de memorizar todos los libros de Richter por recomendación insistente de un posible empleador. Por casualidad, me encontré con la biblioteca OpenCV y un par de demos sobre reconocimiento de patrones. Sorprendentemente, comencé a pasar noches intentando entender cómo mejorar la funcionalidad de esta biblioteca. Muchas cosas no salían bien y, a través de la ingeniería inversa, intentaba observar productos con un enfoque similar. Hasta que logré desglosar una biblioteca comercial y extraer poco a poco algoritmos que no podía implementar por mí mismo.

Se acercaba el final del quinto año y me empezaba a gustar cada vez más lo que había estado haciendo todo este tiempo. Dado que ya era necesario comenzar a trabajar a tiempo completo, decidí escribir a los desarrolladores de esa misma biblioteca comercial de donde obtuve mis ideas. Me parecía que fácilmente me aceptarían, pero después de un par de correos sobre mi deseo de trabajar con ellos, nuestra conversación no llevó a nada. Apareció una ligera decepción y una fuerte motivación para demostrar que podía lograr algo por mi cuenta.

Durante un mes, diseñé un sitio web, lo subí a un hosting gratuito, preparé documentación y comencé a vender. No tenía dinero para publicidad, y para atraer la atención de posibles clientes, comencé a difundir mis obras como si fueran de código abierto. El rebote fue de aproximadamente el 70%, pero, sorprendentemente, el resto de la gente, aunque de mala gana, comenzó a comprar. A nadie le molestaba mi inglés torpe ni el hosting gratuito donde se alojaba el sitio. A la gente le gustaba la combinación de un precio bajo y una funcionalidad básica que cubría sus necesidades fundamentales.

Aparecieron varios clientes permanentes que querían invertir en mi proyecto como socios. Y de repente, los desarrolladores de esa misma biblioteca, de la que aprendí mucho en su momento, se hicieron presentes. Sutilmente insinuaron que sus algoritmos estaban patentados y que no era prudente pelear con ellos, ya que estaban robando clientes de manera tan descarada. Nuestra conversación estuvo lejos de ser cortés, y en un determinado momento decidí dirigirlos a la búsqueda de tres letras eternas del alfabeto. Al día siguiente, me enviaron una carta oficial dispuestos a colaborar conmigo, pero yo corté abruptamente el diálogo. Para protegerme de futuros ataques de estos chicos, comencé a preparar la documentación de patentes y la solicitud de derechos de autor.

El tiempo pasó, y poco a poco esta historia fue siendo olvidada. Tenía planes de contratar a una persona más experimentada para que me ayudara, pero no había dinero para ello. La avaricia jugó un papel y quise conseguir una gran ventaja. Se programó una reunión con un nuevo cliente, quien resultó estar en la misma ciudad que yo. Al describir dulcemente las perspectivas de colaboración, me propuso encontrarme en persona.

De hecho, en lugar de él, a la reunión llegaron jóvenes de agradable aspecto y, sin preguntar mucho mi opinión, propusieron ir a las afueras, argumentando que había una necesidad urgente de "respirar aire fresco". Ya en el lugar, se me entregó una pala personalizada con el objetivo de comprobar las habilidades que adquirí en mi infancia en las plantaciones de papas de mi abuela. Y durante una hora me explicaron de manera simple mis perspectivas, sugiriendo que no dispersara mis fuerzas, que dejara de hacer tonterías, y lo más importante: que dejara de comportarme de manera grosera con personas serias.

En un momento, el mundo dejó de parecer un lugar soleado y agradable. Es difícil decir si hice lo correcto entonces... pero me rendí... levanté las manos y me encerré en un rincón. Y esto definió en gran parte lo que vino después: una ira latente hacia los demás debido a mi falta de realización, inseguridad durante muchos años, apatía al tomar decisiones importantes para mí, y la tendencia a trasladar la responsabilidad de mis errores a otros.

El dinero que había ahorrado se estaba acabando rápidamente y necesitaba ponerme en forma urgentemente, pero todo se me escapaba de las manos. En ese momento, mi padre me ayudó mucho al encontrar, a través de sus contactos, un lugar donde me aceptarían sin demasiadas preguntas. Más tarde supe que, por mi bien, él había asumido compromisos con personas que no eran precisamente agradables, pero gracias a eso, me dio la oportunidad de demostrarme.

Preparándome para el nuevo trabajo, nuevamente comencé a estudiar a Richter y me sumergí en la obra de Schildt. Planeaba dedicarme al desarrollo en .NET, pero el destino decidió de manera un poco diferente durante mi primer mes de actividad laboral oficial. Uno de los empleados de la empresa abandonó inesperadamente el proyecto, y se asignó un nuevo recurso humano para cubrir el vacío.

Mientras mi compañero recogía sus cosas, tuve un diálogo bastante épico con el director financiero:

— ¿Conoces bases de datos?
— No.
— Estúdialo esta noche. Mañana te presentaré al cliente como un desarrollador intermedio.

Así fue como comenzó mi incursión en SQL Server. Todo era nuevo, confuso y muchas veces se hacía mediante prueba y error. Me hacía mucha falta un mentor competente a quien pudiera admirar.

Los siguientes meses fueron un verdadero caos. Los proyectos eran interesantes, pero se dejaban a la deriva por parte de la dirección. Comenzaron las crisis, las horas extra eternas y tareas que a menudo nadie podía formular correctamente. Mi actividad favorita se convirtió en la constante modificación de un informe sobre cómo desglosar pasteles ya preparados en sus ingredientes básicos. Pero como cualquier pastel podía ser parte de otro, esta dura lógica empresarial me estaba volviendo loco.

Entendí que solo iba a empeorar y decidí actuar. Reviví la teoría en mi mente y decidí probar suerte en otros lugares, pero en las entrevistas me faltaba experiencia para siquiera aspirar a un buen puesto de junior. Los primeros días estuve impresionado con mis fracasos y realmente empecé a pensar que cambiar de trabajo era muy pronto y que debía acumular más experiencia.

Comencé a estudiar intensamente el material técnico sobre SQL Server y con el tiempo me dediqué por completo al desarrollo de bases de datos. No puedo ocultar que este trabajo fue un verdadero infierno para mí, donde, por un lado, un director técnico que parecía un esquizofrénico me entretenía cada día, mientras que el director financiero, un afgano, le hacía compañía mordiéndole la cabeza a los patitos de goma en su hora de almuerzo.

En un brillante momento, me di cuenta de que estaba listo. Asumí toda la carga de trabajo crítica, aseguré una alta frecuencia de lanzamientos y normalicé directamente las relaciones con los clientes. Al final, llegué y coloqué al director financiero en una posición similar a la de un árbol cortado. Ahora podría hacer una broma sobre seniors de 23 años, pero así fue como logré aumentar mi salario cuatro veces.

El mes siguiente estaba lleno de orgullo por lo que había logrado, pero, ¿a qué costo? Comenzaba mi jornada laboral a las 7:30 de la mañana y terminaba a las 10 de la noche. Mi salud comenzó a fallar y todo esto estaba acompañado de insinuaciones del jefe de que era mejor que fracasáramos intencionalmente en el proyecto que permitir que ganara más de lo que se suponía «en promedio en nuestro hospital». Al menos, en algo, cumplieron su palabra, y me enfrenté a la difícil decisión de buscar un nuevo empleo.

Después de un tiempo, me invitaron a una entrevista en una empresa de productos. Planeaba asumir una posición similar en .NET, pero fracasé en la tarea práctica. Ya estábamos a punto de despedirnos, pero lo más interesante ocurrió después de que los posibles empleadores supieron que tenía experiencia trabajando con SQL Server. No había detallado mucho sobre esto en mi currículum porque nunca consideré que sabía mucho en este campo. Sin embargo, quienes me entrevistaban pensaron un poco diferente.

Se me ofreció mejorar la línea existente de productos relacionados con SQL Server. Antes de esto, no tenían un especialista que se dedicara a esa actividad. Todo se hacía a menudo mediante prueba y error. La nueva funcionalidad se copiaba frecuentemente de los competidores, sin profundizar en los detalles. Mi tarea era demostrar que se podía seguir otro camino, elaborando las consultas a las vistas del sistema de una manera más cualitativa que la competencia.

Estos dos meses se convirtieron en una experiencia invaluable para mí en comparación con mi actividad anterior de desarrollar tortas. Pero todo lo bueno, tarde o temprano, llega a su fin y la dirección cambió inesperadamente sus prioridades. En ese momento, el trabajo estaba hecho y no se les ocurrió nada mejor que reorientarme hacia el testing, lo cual contradijo un poco nuestros acuerdos sobre el desarrollo de nuevos productos. Rápidamente me hicieron una alternativa: "esperar un poco", intentar involucrarme en actividades sociales y, al mismo tiempo, aceptar voluntariamente salir del desarrollo y pasar a pruebas manuales.

El trabajo se volvió una monotonía de regresiones que no motivaba a seguir desarrollándome. Y para oficializar mi evasión de las regresiones, comencé a escribir artículos técnicos en Habr, y luego en otros recursos. Al principio no salía muy bien, pero lo más importante es que empecé a disfrutarlo.

Con el tiempo, se me confió la tarea de aumentar la clasificación del perfil oficial de la empresa en Stack Overflow. Cada día me encontraba con casos interesantes, revisaba montañas de código indio, ayudaba a las personas y, lo más importante, aprendía y adquiría experiencia.

Por casualidad, asistí a mi primer SQL Saturday en Járkov. Mi colega debía hablar ante la audiencia sobre el desarrollo de bases de datos con los productos que habíamos estado utilizando todo este tiempo. No recuerdo por qué, pero en el último momento tuve que hacer la presentación. Denis Reznik, con su habitual sonrisa amable, me pasa el micrófono y con la voz entrecortada intento contarles algo a la gente. Al principio estaba asustado, pero luego "Ostap se desata".

Después del evento, Denis se acercó y me sugirió que hablara en un evento de menor escala, que tradicionalmente se llevaba a cabo en KHIRe. Con el tiempo, los nombres de las conferencias cambiaron, y poco a poco crecieron las auditorías en las que realizaba los meetups. En ese momento no sabía a qué me estaba comprometiendo, pero una serie de casualidades formaron mi elección de vida y lo que decidí dedicarme en el futuro.

Siguiendo el ejemplo de especialistas como Reznik, Korotkevich, Pilyugin y otros grandes profesionales con los que tuve la suerte de conocer... entendía que en mi trabajo actual no tendría tareas para un progreso rápido. Tenía una buena teoría, pero me faltaba práctica.

Se me ofreció la oportunidad de iniciar un nuevo proyecto desde cero en un nuevo lugar. Desde el primer día, el trabajo fue intenso. Todo lo que había deseado en la vida se materializó: un proyecto interesante, un salario alto, la posibilidad de influir en la calidad del producto. Pero en un momento determinado, me relajé y cometí un error bastante grave, justo después de que terminamos de hacer el MVP para el cliente.

Al tratar de concentrarme en el desarrollo y ofrecer una solución de mayor calidad, cada vez dedicaba menos tiempo a la gestión y a la comunicación con el cliente. Me asignaron a una nueva persona que comenzó a hacer esto en mi lugar. En ese momento, me costaba entender las relaciones de causa y efecto, pero después de eso, nuestras relaciones con el cliente empezaron a deteriorarse rápidamente, aumentaron las horas extras y la tensión en el equipo.

De mi parte, hice un intento de equilibrar la situación en el proyecto, poner orden y volver a un desarrollo más tranquilo, pero no me dejaron hacerlo. A todos les convenía el constante fuego que había que apagar.

Analizando la situación, decidí que quería alejarme de todo este circo y le propuse al CEO de mi anterior trabajo regresar con la condición de que juntos haríamos un nuevo proyecto. Discutimos todos los detalles y planeamos empezar el desarrollo en un mes. Pasó un mes... luego otro... y otro más. A todas mis preguntas la respuesta era invariable: espera. La idea de hacer algo por mi cuenta no me dejaba, pero todavía tuve que ir a trabajar como freelance, ayudando a los pueblos de Asia Central a conquistar el sector bancario de Ucrania.

Apenas un mes después, me entero de que el desarrollo de mi proyecto comenzó a escondidas por otras personas con la autorización oficial de la antigua dirección. Esos chicos eran grandes desarrolladores de .NET, pero no tenían experiencia en lo que se les iba a asignar. Desde fuera, todo parecía que estaban tratando de dejarme fuera del proyecto. Y de hecho, así fue. En un arrebato de indignación, empecé a trabajar en este proyecto yo mismo, pero mi motivación se apagó rápidamente.

El ex CTO se ofreció a ayudarme con los proyectos actuales, y comencé a hacer lo que mejor sabía hacer: apagar incendios. Volviendo al trabajo excesivo, sufrí sus consecuencias: mala alimentación, un horario de sueño muy alejado de lo normal y un estrés constante. Todo esto se explicaba por dos proyectos que alternadamente estaba empujando hacia un futuro brillante. Un proyecto ofrecía la alegría de trabajar en un régimen 24/7, mientras que el otro estaba dominado por una interpretación distorsionada de la gestión, lo que hacía que el equipo trabajara en un estado de constante emergencia. Este período en mi vida no puede ser otra cosa que masoquismo, aunque también hubo momentos divertidos.

Estás tranquilamente cavando papas en la casa de tus padres al ritmo del retrowave y de repente suena un teléfono inesperado: "Sergey... los caballos han dejado de correr...". Después de unos segundos de reflexión, parado sobre la pala y entrenando mis habilidades como la abuela Vanga, le dictas de memoria los comandos secuenciales para que la persona pueda solucionar el problema en el servidor. No deseo recordar esa experiencia – ¡fue genial!

Pero aquí es donde comienza lo más interesante...

Una reunión cambió radicalmente mi vida a finales de septiembre de 2017.

En ese momento, para animarme un poco de la rutina laboral, planeaba dar una charla en una conferencia. Durante el almuerzo, me crucé casualmente en la cocina con un colega y, de pasada, él me dijo: "Resulta que eres una persona conocida... la gente te reconoce en otras ciudades". Al principio, no entendía de qué hablaba, pero me mostró una conversación en Telegram. Reconocí de inmediato a la chica que asistía a mis charlas cuando viajaba a Dnipro. Me alegró mucho que alguien se acordara de mí. Sin pensarlo dos veces, decidí escribirle e invitarla a Járkov para la conferencia, donde tenía preparadas varias presentaciones.

Fui uno de los primeros en hablar y la vi de inmediato en la segunda fila. Su llegada fue inesperada y un momento agradable para mí. Intercambiamos un par de frases y comenzó mi largo maratón de charlas que duró seis horas. Ese día fue uno de los más destacados de mi vida: una sala completamente llena, 5 presentaciones consecutivas y una sensación indescriptible de que a la gente le agradaba escucharme. Me resultaba difícil concentrarme en la sala y mi mirada instintivamente se dirigía hacia ella... hacia esa chica que había venido de otra ciudad... a quien conocía desde hacía dos años, pero nunca habíamos hablado... simplemente sabíamos uno del otro todo este tiempo.

Después de la conferencia, estaba cansado y muy deprimido, pero aún así quería complacer a la chica invitándola a cenar con la compañía de las personas que ambos conocíamos. La verdad es que en ese momento era un pésimo conversador, siempre sarcástico y exigiendo atención. Es difícil decir qué me estaba pasando. Nuestro paseo por la ciudad por la noche tampoco salió bien. Me pareció que lo mejor era llevarla al hotel y regresar a casa para descansar. Pasé el siguiente día en la cama, sin fuerzas para levantarme y solo por la tarde empecé a recordar las palabras que ella dijo: “Sergio, vine por ti...”. Realmente quería volver a verla, pero para entonces ya se había ido.

Estuvimos en contacto un par de semanas, hasta que decidí que debía ir a buscarla...

La noche antes del lanzamiento, a nadie le interesa la tontería para el cliente, así que pospuse el despliegue y me fui a Dnipro. Es difícil decir qué estaba pasando por mi cabeza, pero quería verla, incluso sin saber de qué iba a hablar. Acordamos encontrarnos en un parque, pero confundí la dirección épicamente y caminé 5 kilómetros en la dirección equivocada. Al darme cuenta de mi error, volví rápidamente en taxi con flores que encontré en algún barrio complicado. Y todo ese tiempo ella me estaba esperando con cacao.

Nos sentamos en un escenario teatral en construcción, tomando cacao frío y hablando de todo lo que se nos ocurría. Saltando de tema en tema, ella me habló de su difícil pasado, sobre la inmutabilidad de los tipos de datos en .NET... captaba cada una de sus palabras. Era perspicaz e inteligente, a veces divertida, un poco ingenua, pero todo lo que decía era sincero. Ya en ese momento supe que me había enamorado de ella.

Al regresar al trabajo, intenté en modo de emergencia sacar un par de días de vacaciones e ir a verla por segunda vez para confesarle mis sentimientos. Sin embargo, las cosas salieron de manera diferente...

Mi infantilismo, torpeza, viejos complejos y falta de disposición para confiar plenamente en una persona llevaron a que ofendiera gravemente a la chica que intentaba agradarme sinceramente. Por la mañana, me di cuenta de lo que había hecho y, en cuanto tuve la oportunidad, fui a pedirle perdón en persona. Pero ella no quiso verme. De regreso, intenté convencerme de que no la necesitaba, pero, ¿realmente era así…?

Estuve un mes enojado conmigo mismo… desquitándome con quienes me rodeaban… le dije cosas a una persona que realmente me gustaba, por las que es imposible perdonar. Esto hizo que me sintiera aún peor y, al final, todo terminó en un colapso nervioso y una profunda depresión.

Un antiguo colega, Dmitry Skripka, me ayudó a encontrar la salida de este círculo vicioso de auto-flagelación y complejos internos, llevándome al gimnasio.

Después de eso, mi vida cambió drásticamente. Ahora entiendo muy bien lo que significa sentirse débil e inseguro. Pero cuando comencé a entrenar, sentí lo mejor que un gimnasio puede ofrecer. Esa es la confianza en uno mismo y en las propias capacidades. La sensación de cómo cambia la percepción de los demás hacia ti. En ese momento entendí que no quería volver a la vida anterior que llevaba. Decidí dedicarme a lo que había estado posponiendo en mi vida.

Pero, ¿han notado que cuando una persona comienza algo nuevo, empieza a proclamar sus intenciones al mundo? Todo el tiempo habla con ojos brillantes sobre sus planes, pero pasa el tiempo y no sucede nada. Estas personas constantemente hablan del futuro: 'haré', 'lograré', 'cambiaré', y así pasan los años viviendo de sus deseos. Son como una pila de dedo: la carga motivacional solo alcanza para un destello y luego se apaga. Yo era así también...

Inicialmente, planeé que en una compañía de colegas motivados podríamos mover montañas, pero a menudo las expectativas de un futuro brillante chocaban con la realidad. Al empezar mi proyecto, constantemente planeábamos y discutíamos en lugar de simplemente actuar.

A menudo todos quieren hacerlo rápido… todos quieren lograrlo a la primera… todos son velocistas… todos comienzan a correr, pero con el tiempo… uno se rinde… otro se rinde. Cuando la meta no aparece en el horizonte, pocos quieren esforzarse solo porque hay que completar la distancia hasta el final… por la mañana, por la tarde o en plena noche… cuando nadie está viendo, nadie va a alabar y nadie va a valorar lo que haces.

Nunca compartas tus planes hasta que los realices. Comparte solo los resultados, por difícil que sea hacerlo todo tú solo. Sí, en ese caso, el camino que elegimos no siempre será placentero y lleno de unicornios rosas con arcoíris. No siempre nos guiarán las mejores intenciones en el trabajo hacia nuestras prioridades. A menudo la vida nos enviará a lugares donde no queremos ir. Pero cada vez que abría Visual Studio o iba al gimnasio, recordaba cómo era y cómo podía ser. Recordaba el encuentro con aquella chica de Dnipro, que me hizo reflexionar sobre mi actitud hacia la vida… comprendí mucho.

Generalmente, la palabra final debe ser suficientemente impactante para quedar grabada en la memoria. Quiero citar palabras que escuché una vez en una sala de alguien muy sabio.

¿Crees que vas al gimnasio a luchar con las pesas? No… estás luchando contigo mismo… con tus patrones… con tu pereza… con los límites que tú mismo te has impuesto. ¿Quieres resolver constantemente los problemas de los demás dejando tus asuntos para después? Con pequeños pasos, pero es necesario avanzar con firmeza hacia el momento en que encuentres tu felicidad en la vida. Porque la felicidad es cuando no cargas con principios y reglas que no creaste tú. La felicidad es cuando tienes un rumbo de desarrollo, y disfrutas del camino, no solo de la meta final. Entonces, ¿tal vez valga la pena levantarse y comenzar a trabajar en uno mismo?

Ah, sí, casi lo olvido… originalmente este artículo fue concebido para presentar a las personas el proyecto en el que he estado trabajando todo este tiempo. Pero sucedió que durante el proceso de escritura, la prioridad se desplazó hacia la descripción de las razones por las que comencé con esta actividad y por qué no quiero abandonarla en el futuro. En resumen, sobre el proyecto, es…

Gestor de Índices SQL es una alternativa gratuita y más funcional a los productos comerciales de Devart (99$) y RedGate (155$) y está destinada al mantenimiento de índices de SQL Server y Azure. No puedo decir que mi aplicación sea mejor que los scripts de Ola Hallengren, pero gracias a una descripción de metadatos más optimizada y la inclusión de varios elementos útiles, este producto seguramente será de ayuda en tareas cotidianas para algunos.

Excavar tumbas, SQL Server, años de outsourcing y su primer proyecto

La última versión de la aplicación se puede descargar en GitHub. Los códigos fuente están allí también.
Agradeceré las críticas y los comentarios 🙂

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster