Cavando tumbas, SQL Server, años de subcontratación y tu primer proyecto

Cavando tumbas, SQL Server, años de subcontratación y tu primer proyecto

Casi siempre creamos nuestros problemas con nuestras propias manos... con nuestra imagen del mundo... con nuestra inacción... con nuestra pereza... con nuestros miedos. Entonces resulta muy conveniente flotar en el flujo social de las plantillas de alcantarillado... después de todo, es cálido y divertido, y no nos importa el resto, olfateémoslo. Pero después de un duro fracaso viene la comprensión de una verdad simple: en lugar de generar un flujo interminable de razones, autocompasión y autojustificación, basta con simplemente tomar y hacer lo que considera más importante para usted. Este será el punto de partida de tu nueva realidad.

Para mí, lo que está escrito a continuación es solo un punto de partida. El camino no estará cerrado...

Todas las personas somos socialmente dependientes y, inconscientemente, todos queremos ser parte de la sociedad, esforzándonos por recibir la aprobación de nuestras acciones desde el exterior. Pero junto con la aprobación, estaremos constantemente rodeados de valoraciones públicas, reforzadas por complejos internos y limitaciones constantes.

A menudo tenemos miedo al fracaso, posponemos constantemente cosas que son importantes para nosotros y luego racionalizamos lógicamente en nuestra cabeza, tratando de tranquilizarnos: "de todos modos no funcionó", "esto no encontrará la aprobación de los demás" y "¿Cuál es el punto de hacer esto de todos modos?" Muchas personas simplemente no saben lo fuertes que son porque nunca han intentado cambiar nada en sus vidas.

Después de todo, si una persona hace sólo lo que puede, automáticamente crea una plantilla en su cabeza: "Puedo hacer esto... haré esto...". Pero no hay nada extraordinario en que una persona haga sólo lo que puede. Lo hizo porque podía, pero al mismo tiempo permaneció en el mismo rango de sus capacidades originales en el que había estado todo el tiempo. Pero si no pudiste y lo hiciste, entonces eres un hombre realmente guapo. Después de todo, sólo cuando salimos de nuestra zona de confort y trabajamos más allá del alcance de nuestras capacidades, sólo entonces nos desarrollamos y somos mejores.

Mi primer intento de hacer algo significativo comenzó en mi cuarto año en el instituto. Ya tenía conocimientos básicos de C++ y un intento fallido de memorizar todos los libros de Richter por consejo urgente de un posible empleador. Por casualidad encontré la biblioteca OpenCV y un par de demostraciones sobre reconocimiento de imágenes. Inesperadamente, comenzaron las reuniones nocturnas en un intento de descubrir cómo mejorar la funcionalidad de esta biblioteca. Muchas cosas no funcionaron y mediante ingeniería inversa intenté buscar productos con un enfoque similar. Llegué al punto en que aprendí a analizar una biblioteca comercial y poco a poco saqué de allí algoritmos que no podía implementar por mí mismo.

Se acercaba el final de mi quinto año y me empezó a gustar cada vez más lo que había estado haciendo todo este tiempo. Como necesitaba empezar a trabajar a tiempo completo, decidí escribir a los desarrolladores de la biblioteca muy comercial de la que saqué mis ideas. Me pareció que podrían contratarme fácilmente, pero después de un par de cartas sobre mi deseo de trabajar con ellos, nuestra conversación no llevó a ninguna parte. Hubo una ligera decepción y una fuerte motivación para demostrar que yo mismo podía lograr algo.

En un mes, creé un sitio web, subí todo a un alojamiento gratuito, preparé la documentación y comencé a vender. No había dinero para publicidad y, para atraer de alguna manera la atención de clientes potenciales, comencé a distribuir mis artesanías bajo la apariencia de código abierto. El repunte fue de aproximadamente el 70%, pero, inesperadamente, el resto de la gente, aunque a regañadientes, empezó a comprar. Nadie se sintió avergonzado por mi inglés torcido o por el alojamiento gratuito en el que se encontraba el sitio. La gente estaba satisfecha con la combinación de precio bajo y funcionalidad básica que cubría sus necesidades básicas.

Aparecieron varios clientes habituales que querían invertir en mi emprendimiento como socios. Y entonces aparecieron de repente los desarrolladores de la biblioteca de la que aprendí mucho en mi época. Insinuando suavemente que sus algoritmos están patentados y que no tiene sentido pelear con ellos, quitándoles descaradamente la clientela. Nuestra conversación estuvo lejos de ser cultural, y en cierto momento decidí ordenarles que buscaran las tres letras eternas del alfabeto. Al día siguiente me enviaron una carta oficial diciendo que estaban dispuestos a cooperar conmigo, pero interrumpí abruptamente el diálogo con ellos. Para protegerme de futuros ataques de estos tipos, comencé a preparar documentación de patente y una solicitud de derechos de autor.

Con el paso del tiempo, esta historia poco a poco empezó a caer en el olvido. El plan era contratar a una persona con más experiencia para ayudar, pero no había suficiente dinero para ello. La codicia entró en juego y quería llevarme un gran premio. Se planeó una reunión con un nuevo cliente que, como resultó, durante nuestra comunicación, se encontraba en la misma ciudad que yo. Al describir dulcemente las perspectivas de cooperación, sugirió reunirse personalmente.

De hecho, en su lugar acudieron a la reunión jóvenes de agradable apariencia y, sin pedirme expresamente mi opinión, se ofrecieron a dar un paseo fuera de la ciudad, argumentando que era una necesidad urgente “tomar un poco de aire fresco”. Ya en el lugar me entregaron una pala personalizada para poner a prueba las habilidades que adquirí cuando era niño en las plantaciones de patatas de mi abuela. Y en el transcurso de una hora me explicaron de manera inteligible mis perspectivas, me sugirieron que no desperdiciara fuerzas, dejara de hacer estupideces y, lo más importante, dejara de ser grosero con la gente seria.

En un momento, el mundo dejó de parecer un lugar soleado y agradable. Es difícil decir si hice lo correcto entonces... pero me di por vencido... me di por vencido y me escondí en un rincón. Y esto determinó en gran medida lo que sucedió después: ira latente hacia los demás debido a la falta de realización, incertidumbre durante muchos años, apatía a la hora de tomar decisiones importantes por uno mismo, transferir la responsabilidad de los errores a otra persona.

El dinero ahorrado se estaba acabando rápidamente y necesitaba ponerme en orden con urgencia, pero todo se salió de control. En ese momento me ayudó mucho mi padre, quien a través de amigos encontró un lugar donde me llevaban sin preguntas. Más tarde descubrí que por mí contrajo obligaciones con personas que no eran las más agradables, pero con esto me dio la oportunidad de mostrarme.

Mientras me preparaba para un nuevo trabajo, comencé nuevamente a leer a Richter y estudié intensamente a Schildt. Planeé desarrollar para .NET, pero el destino decretó un poco diferente en el primer mes de mi actividad laboral oficial. Uno de los empleados de la empresa abandonó inesperadamente el proyecto y se añadió material humano fresco al agujero recién formado.

Mientras mi colega hacía las maletas, tuve un diálogo muy épico con el director financiero:

- ¿Conoces las bases de datos?
- No.
- Aprendelo de la noche a la mañana. Mañana, como mando medio básico, te venderé al cliente.

Así comenzó mi conocimiento de SQL Server. Todo era nuevo, incomprensible y, en la mayoría de los casos, se hacía mediante prueba y error. Realmente extrañaba tener cerca un mentor inteligente a quien pudiera admirar.

Los meses siguientes todo parecía basura feroz. Los proyectos eran interesantes, pero la dirección los dejó abandonados a su suerte. Comenzaron las prisas de emergencia, las eternas horas extras y tareas que muchas veces nadie podía siquiera formular adecuadamente. Mi pasatiempo favorito era la eterna revisión del informe sobre cómo organizar pasteles ya preparados en productos semiacabados simples. Pero como cualquier pastel podría ser parte de otro pastel, esta dura lógica empresarial realmente me volvió loco.

Me di cuenta de que las cosas sólo empeorarían y decidí actuar. Refresqué mi memoria sobre la teoría y decidí probar suerte en otros lugares, pero en las entrevistas no tenía suficiente experiencia para calificar al menos como junior fuerte. Los primeros días me impresionaron mis fracasos y pensé seriamente que todavía era muy pronto para cambiar de trabajo y que necesitaba ganar experiencia.

Comencé a estudiar intensamente el hardware de SQL Server y con el tiempo me dediqué por completo al desarrollo de bases de datos. No ocultaré que este trabajo fue para mí un infierno, donde, por un lado, un esquizofrénico practicante en la persona del director técnico se divertía todos los días, y en ello lo acompañaba un director financiero afgano, quien, en un ataque de emoción, arrancó de un mordisco las cabezas de patitos de goma durante la pausa del almuerzo.

En un momento me di cuenta de que estaba listo. Se hizo cargo de todo el trabajo crítico, aseguró una alta frecuencia de lanzamientos y normalizó directamente las relaciones con los clientes. Como resultado, vino y puso al director financiero en la posición de un abedul talado. Ahora podríamos bromear sobre los mayores de 23 años, pero así fue como logré aumentar mi salario cuatro veces.

El mes siguiente estaba lleno de orgullo por lo que pude lograr, pero ¿a qué costo? La jornada laboral comienza a las 7.30 horas y finaliza a las 10 horas. Su salud comenzó a mostrar sus primeros contratiempos, y esto en el contexto de insinuaciones sistemáticas por parte de la dirección de que sería mejor para nosotros fracasar deliberadamente en el proyecto que permitirle ganar más que "el promedio de nuestro hospital". Al menos en cierto modo, cumplieron su palabra y me enfrenté al dilema de encontrar un nuevo lugar de trabajo.

Después de un tiempo, me invitaron a una entrevista en una empresa de alimentos. Estaba planeando ocupar un puesto similar en .NET, pero reprobé la tarea práctica. Estábamos a punto de despedirnos, pero lo más interesante sucedió después de que posibles empleadores descubrieron que yo tenía experiencia trabajando con SQL Server. No escribí mucho sobre esto en mi currículum porque nunca pensé que sabía mucho en esta área. Sin embargo, quienes me entrevistaron pensaron un poco diferente.

Me ofrecieron mejorar la línea existente de productos para trabajar con SQL Server. Antes de esto, no tenían un especialista separado que se ocupara de tales actividades. A menudo todo se hacía mediante prueba y error. A menudo, las nuevas funciones simplemente se copiaban de la competencia, sin entrar en muchos detalles. Mi objetivo era demostrar que se puede ir por el otro lado, procesando consultas a vistas del sistema mejor que la competencia.

Ese par de meses se convirtieron para mí en una experiencia nueva e invaluable en comparación con la actividad anterior de fumar pasteles. Pero todo lo bueno tarde o temprano llega a su fin y las prioridades de la dirección cambiaron repentinamente. En aquel momento el trabajo estaba hecho y no se me ocurrió nada mejor que volver a formarme como tester, lo que iba un poco en contra de nuestros acuerdos sobre el desarrollo de nuevos productos. Rápidamente encontraron una alternativa para mí: "esperar un poco", intentar participar en actividades sociales y al mismo tiempo aceptar voluntariamente dejar el desarrollo para realizar pruebas manuales.

El trabajo se convirtió en una monótona serie de regresiones, que no motivaron un mayor desarrollo. Y para evitar oficialmente regresiones, comencé a escribir artículos técnicos sobre Habré y luego sobre otros recursos. Al principio no funcionó muy bien, pero lo principal es que me empezó a gustar.

Después de un tiempo, me encargaron descargar la calificación del perfil oficial de la empresa en Stack Overflow. Todos los días me encontré con casos interesantes, fumé toneladas de código indio, ayudé a la gente y, lo más importante, aprendí y gané experiencia.

Por casualidad llegué a mi primer sábado SQL, que tuvo lugar en Jarkov. Mi colega tuvo que hablar con la audiencia sobre el desarrollo de bases de datos utilizando productos, que es lo que hemos estado haciendo todo este tiempo. No recuerdo por qué, pero en el último momento tuve que hacer la presentación. Denis Reznik, con su tradicional sonrisa amistosa en el rostro, le entrega el micrófono y usted, con voz tartamuda, intenta decirle algo a la gente. Al principio dio miedo, pero luego "Ostap se dejó llevar".

Después del evento, Denis se acercó y me invitó a hablar en un evento más pequeño, que tradicionalmente se llevaba a cabo en HIRE. Pasó el tiempo, los nombres de las conferencias cambiaron y los públicos en los que realizaba reuniones crecieron poco a poco. Entonces no sabía a qué me apuntaba, pero una serie de accidentes marcaron mis decisiones de vida y a qué decidí dedicarme en el futuro.

Admiro a especialistas como Reznik, Korotkevich, Pilyugin y otros tipos geniales que tuve la oportunidad de conocer... Comprendí que en el marco de mi trabajo actual no tendría tareas para progresar rápidamente. Tenía una buena teoría detrás de mí, pero me faltaba práctica.

Me ofrecieron comenzar un nuevo proyecto desde cero en una nueva ubicación. El trabajo estuvo a pleno rendimiento desde el primer día. Obtuve todo lo que antes había deseado en la vida: un proyecto interesante, un salario alto, la oportunidad de influir en la calidad del producto. Pero en cierto momento me relajé y cometí un error muy grave, justo después de terminar de crear un MVP para el cliente.

Tratando de concentrarme en el desarrollo y brindar una mejor solución, pude dedicar cada vez menos tiempo a la gestión y comunicación con el cliente. Para ayudarme me dieron una nueva persona que empezó a hacer esto por mí. Entonces me resultó difícil comprender las relaciones de causa y efecto, pero después nuestra relación con el cliente comenzó a deteriorarse rápidamente, las horas extras y la tensión en el equipo aumentaron.

Por mi parte, se intentó nivelar la situación en el proyecto, restablecer el orden y volver a un desarrollo más tranquilo, pero no me lo permitieron. Todos tenían incendios constantes que debían ser extinguidos.

Después de analizar la situación, decidí que quería tomarme un descanso de todo este circo e invité al CEO de mi trabajo anterior a regresar con él con la condición de que hiciéramos un nuevo proyecto juntos. Discutimos todos los matices y planeamos comenzar el desarrollo en un mes. Pasó un mes... luego otro... y otro. A todas mis preguntas hubo una respuesta constante: espera. La idea de hacer algo propio nunca me abandonó, pero aun así tuve que trabajar temporalmente como autónomo, ayudando a los pueblos de Asia Central a conquistar el sector bancario de Ucrania.

Literalmente, un mes después, descubrí que el desarrollo de mi proyecto fue iniciado silenciosamente por izquierdistas con el permiso oficial de mis antiguos superiores. Estos chicos eran geniales desarrolladores de .NET, pero no tenían experiencia en lo que tenían que hacer. Desde fuera parecía como si me estuvieran metiendo silenciosamente en el proyecto. De hecho, este fue el caso. En un ataque de indignación, comencé a hacer este proyecto yo mismo, pero la motivación se desvaneció rápidamente.

El ex director de tecnología se ofreció a ayudarlo con los proyectos en curso y comencé a hacer lo que mejor sabía: apagar incendios. Cayendo nuevamente en la adicción al trabajo, coseché sus consecuencias: mala alimentación, un horario de sueño alejado de lo normal y estrés constante. Todo esto se explica por dos proyectos que, alternativamente, avancé hacia un futuro brillante. Un proyecto trajo alegría porque funcionó las 24 horas del día, los 7 días de la semana, pero el segundo proyecto simplemente había pervertido los conocimientos de la gerencia, por lo que el equipo trabajó con prisa constante. Este período de mi vida no se puede llamar de otra manera que masoquismo, pero también hubo momentos divertidos.

Estás tranquilamente cavando patatas en la casa de tus padres mientras escuchas el microondas y de repente escuchas una llamada inesperada: "Seryoga... los caballos han dejado de correr...". Después de un par de segundos de pensar, de pie sobre una pala y simultáneamente entrenando las habilidades de tu abuela Vanga, dictas los siguientes comandos de memoria para que una persona pueda solucionar el problema en el servidor. No deseo ni un minuto esta experiencia: ¡fue genial!

Pero aquí es donde comienza la diversión...

Un encuentro a finales de septiembre de 2017 cambió radicalmente mi vida.

En ese momento, para de alguna manera animarme de la rutina laboral, planeé hablar en la conferencia. Durante el almuerzo, accidentalmente intercambié algunas palabras con un colega en la cocina. Casualmente me dijo: “Resulta que eres una persona famosa... la gente también te conoce en otras ciudades”. Al principio, sin entender de qué estaba hablando, me mostró la correspondencia en un telegrama. Inmediatamente reconocí a la chica que vino a mis actuaciones cuando fui al Dnieper a dar informes. Me alegré mucho de que la persona se acordara de mí. Sin pensarlo más, decidí escribirle y la invité a Jarkov para una conferencia en cuyo marco yo estaba preparando informes.

Fui uno de los primeros en hablar e inmediatamente la vi en la segunda fila. El hecho de que ella llegara fue para mí un acontecimiento inesperado y agradable. Intercambiamos un par de frases y comenzó mi larga maratón de láser de seis horas. Ese día fue uno de los más brillantes de mi vida: una sala completamente llena, 5 reportajes seguidos y una sensación indescriptible cuando a la gente le gusta escucharte. Me costaba concentrarme en toda la habitación y mi mirada fue atraída instintivamente hacia ella... hacia esa chica que venía de otra ciudad... a quien conocía desde hacía dos años, pero nunca nos comunicamos... simplemente nos conocíamos. el uno del otro todo este tiempo.

Después de que terminó la conferencia, estaba cansado y muy deprimido, pero todavía quería complacer a la chica, invitándola a cenar juntas en compañía de personas con las que ambos estábamos. La verdad es que en aquel entonces yo era un terrible conversador, constantemente sarcástico y exigente de atención. Es difícil decir qué me pasó entonces. Nuestro paseo nocturno por la ciudad tampoco salió bien. Me pareció que lo mejor era llevar a la niña al hotel e irse a dormir a casa. Pasé el día siguiente en la cama, sin fuerzas para levantarme, y recién por la noche comencé a repetir en mi cabeza las palabras que ella dijo: "Seryozha, vine por ti...". Sinceramente quería volver a verla, pero para entonces ella ya se había ido.

Hablamos durante un par de semanas hasta que decidí que necesitaba ir con ella...

En vísperas del lanzamiento, nadie necesita tonterías para el cliente, moví la implementación y fui a Dnepr. Es difícil decir qué pasaba por mi cabeza, pero quería verla, sin saber siquiera de qué hablaría. Acordamos encontrarnos en el parque, pero confundí épicamente la dirección y caminé 5 kilómetros en la dirección equivocada. Después de un tiempo, al darme cuenta de mi error, regresé rápidamente en taxi con flores que encontré en algún distrito del gop. Y todo este tiempo ella me estuvo esperando con cacao.

Nos sentamos en el escenario del teatro inacabado, bebimos chocolate frío y hablamos de todo lo que se nos ocurrió. Saltando de un tema a otro, me habló de su difícil pasado, de la inmutabilidad de los tipos de datos de cadena en .NET... Me quedé pendiente de cada palabra. Era perspicaz e inteligente, a veces divertida, un poco ingenua, pero todo lo que decía era sincero. Incluso entonces me di cuenta de que me enamoraba de ella.

Al regresar al trabajo, estaba en modo de emergencia tratando de sacar un par de días de vacaciones e ir a verla por segunda vez para confesarle mis sentimientos. En realidad, todo resultó diferente...

Mi inmadurez, estupidez, viejos complejos y mi falta de voluntad para confiar plenamente en una persona llevaron al hecho de que ofendí mucho a una chica que sinceramente trató de complacerme. Por la mañana me di cuenta de lo que había hecho y en la primera oportunidad fui a pedirle perdón en persona. Pero ella no quería verme. Al regresar, traté de convencerme de que no la necesitaba, pero ¿era eso realmente cierto...?

Durante un mes estuve enfadado conmigo mismo... me desquité con quienes me rodeaban... le dije cosas así a una persona que me gustaba sinceramente y que es imposible perdonar. Esto hizo que mi corazón se sintiera aún peor y al final todo terminó en una crisis nerviosa y una depresión severa.

Un ex colega, Dmitry Skripka, que me llevó al gimnasio, me ayudó a encontrar una salida al círculo vicioso de la autoflagelación y los complejos internos.

Después de eso mi vida cambió mucho. Realmente entiendo lo que significa ser débil e inseguro de uno mismo. Pero cuando comencé a entrenar, sentí lo mejor que el gimnasio puede darme. Este es el mismo sentimiento de confianza en uno mismo y en uno mismo. Sentir cómo cambia la actitud de los demás hacia ti. Y en ese momento me di cuenta de que no quería volver a la antigua vida que tenía. Decidí dedicarme a algo que había estado postergando en mi vida todo este tiempo.

Pero, ¿has notado que cuando una persona comienza algo nuevo, comienza a declarar sus intenciones a la realidad circundante? Constantemente les cuenta a todos sus planes con ojos brillantes, pero el tiempo pasa y no pasa nada. Estas personas dicen constantemente en el futuro: "Lo haré", "lo lograré", "cambiaré", y así, año tras año, viven sus deseos. Son como la batería de un dedo: la carga de motivación solo alcanza para un flash y listo. yo era el mismo...

Al principio tenía previsto que, en compañía de compañeros motivados, podría mover montañas, pero a menudo las expectativas de un futuro brillante van en contra de la práctica. Al iniciar nuestro proyecto, planificamos y discutimos constantemente en lugar de tomarlo y hacerlo.

Muchas veces todo el mundo quiere ir rápido... todo el mundo lo quiere en el primer intento... todo el mundo es velocista... todo el mundo empieza a correr, pero el tiempo pasa... uno se rinde... el segundo se rinde. Cuando la línea de meta no se asoma en el horizonte, pocas personas quieren trabajar duro simplemente porque tienen que recorrer la distancia hasta el final... por la mañana, durante el día o tarde por la noche... cuando nadie ve, nadie elogiará ni apreciará lo que estás haciendo.

Nunca compartas tus planes hasta que los implementes. Simplemente comparte los resultados, no importa lo difícil que sea hacerlo todo tú mismo. Sí, en este caso, el camino que hemos elegido no siempre traerá placer y unicornios rosas con un arcoíris en el trasero. No siempre nos guiaremos por motivos brillantes al trabajar en nuestras prioridades. A menudo, la vida te enviará constantemente a lugares a los que no quieres ir en absoluto. Pero cada vez que abría Visual Studio o iba al gimnasio, recordaba lo que era y lo que puedo ser. Recordé el encuentro con aquella chica del Dnieper, que me hizo reflexionar sobre mi actitud ante la vida... Entendí muchas cosas.

Normalmente, la última palabra debe ser lo suficientemente concisa como para permanecer en la memoria durante mucho tiempo. Me gustaría citar unas palabras que una vez escuché en el vestíbulo de boca de una persona inteligente.

¿Crees que vienes al gimnasio a pelear con hierros? No... estás luchando contigo mismo... con tus patrones... con tu pereza... con tu marco en el que te has conducido. ¿Quieres resolver constantemente los problemas de otras personas mientras pospones los tuyos propios? Que sea en pequeños pasos, pero debes avanzar con confianza para encontrar la felicidad en la vida en un momento dado. Porque la felicidad es cuando no estás sujeto a principios y reglas que no inventaste. La felicidad es cuando tienes un vector de desarrollo y te elevas en el camino, y no desde el objetivo final. Entonces, ¿tal vez todavía valga la pena levantar el trasero y comenzar a trabajar en uno mismo?

Oh, sí, lo olvidé por completo... este artículo originalmente tenía como objetivo presentarle a la gente el proyecto que he estado haciendo todo este tiempo. Pero sucedió que en el proceso de escritura, la prioridad pasó a describir la razón por la que comencé a hacer esta actividad en primer lugar y por qué no quiero dejarla en el futuro. Brevemente sobre el proyecto...

Administrador de índices SQL es una alternativa gratuita y más funcional a los productos comerciales de Devart ($99) y RedGate ($155) y está diseñado para servir índices de SQL Server y Azure. No puedo decir que mi aplicación sea mejor que los scripts de Ola Hallengren, pero debido a una extracción de metadatos más optimizada y la presencia de todo tipo de pequeñas cosas útiles para alguien, este producto definitivamente será útil en las tareas cotidianas.

Cavando tumbas, SQL Server, años de subcontratación y tu primer proyecto

La última versión de la aplicación se puede descargar desde GitHub. Las fuentes se encuentran allí.
Estaré encantado de criticar y comentar :)

Fuente: habr.com

Añadir un comentario