¿Qué estoy en ACID o no nos conviene?


Este es un post de sorpresa. Fui a entrevistas en tres startups de Minsk y en una pequeña empresa, y esto es lo que surgió.


Te contaré un poco sobre mí. No por elogios, sino para dar una idea. Desde pequeño, aficionado a la programación. Porque las orejas no se arrancaron de la computadora. En desarrollo 11 años. Cientos de proyectos de diferentes niveles de dificultad: móvil, multiplataforma, frontal, posterior. Escribió en 13 idiomas (excluyendo todos los html, css, bash, sql). Sobre algo más, sobre algo menos, pero todo en proyectos reales. Estoy escribiendo un buen código limpio, hurgando en la usabilidad. Un poco de código abierto, según lo permita el tiempo, para extraer un par de docenas de paquetes para Arch Linux. En resumen, me estoy divirtiendo, como puedo, tanto durante el trabajo como en mi tiempo libre. Los últimos 5 años en freelance. A menudo trabajo en casos comerciales de clientes desde y hacia. ChSV no está hinchado: cuando ves la habilidad, y cómo algunos muchachos trabajan con GitHub ... Bueno, lo entiendes. Y, en general, soy normal: me cambio los calcetines, uso un desodorante, apenas juro por el tapete :)


Entonces, fallé tres de cuatro entrevistas, y quiero hablar sobre eso.


A nadie le importa tu código


Muéstrame tu código y te diré quién eres

Lo más sorprendente en mi opinión. Se le preguntará sobre la clasificación de árboles rojo-negros, sobre los métodos de la biblioteca estándar, que se utilizan de vez en cuando. Pero el código ... De hecho, ¿por qué mirar el código de una persona cuyo trabajo principal será escribirlo?


¡Pero esto es lo más interesante! Puede ver cómo el desarrollador organiza el proyecto, cómo escribe, qué tecnologías y cómo utiliza. Esto cerrará inmediatamente la nube de preguntas. De acuerdo, cuando github está vacío y todo el código de trabajo está bajo NDA. Pero aquí puede salir, haciendo una pequeña prueba durante una hora o dos (simplemente no está en su lugar: para muchos, la entrevista sigue siendo estresante).


En mi github hay dos docenas de proyectos en diferentes idiomas, relaciones públicas en Facebook, Microsoft, nabos Mozilla, un montón de problemas en otros proyectos. Este es un klondike para evaluar habilidades tanto duras como blandas. Y parece que solo una de cada cuatro compañías sabía qué hacer con ella (Akveo, eres genial). Discutimos muy fríamente por qué aparecieron estos proyectos, juntos miramos el código. Analizamos algunos de los proyectos de trabajo, tanto por código como en el lanzamiento. Como resultado, recibí una oferta de estos muchachos.


El triunfo del conocimiento inútil


"La ignorancia de Holmes fue tan sorprendente como su conocimiento. De modo que una persona civilizada que vive en el siglo XIX no sabe que la Tierra gira alrededor del Sol. ¡Simplemente no podía creerlo!
"Pareces sorprendido", sonrió, mirando mi cara desconcertada. "Gracias por iluminarme, pero ahora intentaré olvidar todo esto lo antes posible".

"Estudio en tonos carmesí"

¿Con qué frecuencia escribes clasificaciones? Esta es la última vez que hice esto en la universidad. ¿Sabes qué etapas hay en https-handshake? Una vez lo supe, lo olvidé, no es necesario. Pero me llevó 5 minutos abrir Google y recordar cuando configuré la calificación A + en nginx hace un par de años. ¿Y sabes que? Ahora no me acuerdo de nuevo. Etapas de renderizar una página web en un navegador? Todos los días me encuentro con él, de verdad. ¿Y el hecho de que buscar en los índices del árbol B en PostgreSQL tiene complejidad logarítmica? Me enteré ayer, y ahora lo estás. ¡Ahora intenta olvidarte lo antes posible! Hasta que REALMENTE lo necesites. Tenga en cuenta solo que los índices deben usarse y que son de diferentes tipos.


Vivimos en un mundo sobrecargado de información. Y para los desarrolladores esto es especialmente cierto. Cada semana, aparecen nuevos marcos, bibliotecas o herramientas de desarrollo. Es imposible saberlo todo. Ahora, lo importante no es tanto la información en la cabeza como el conocimiento de que es, la capacidad de encontrarla rápidamente, comprenderla y usarla correctamente. Y la habilidad de separar y arreglar la biblioteca de otra persona en el proyecto es más importante que recordar cómo usar secuencias en nodejs. Un buen desarrollador se encargará de las transmisiones en el muelle durante una o dos.


Ahora enseño un poco en la universidad como hobby. ¿Y sabes que? La generación actual no tiene problemas para obstruir la cabeza con conocimiento. Aunque muchos de ellos son realmente sensatos. Crecieron con constantes en línea donde la información siempre está a la mano. Otro enfoque


Por supuesto, un buen especialista sabrá muchos matices diferentes. Solo porque el alcance es más pequeño. Pero lo curioso es que la mayoría de estas compañías estaban buscando un desarrollador de pila completa. Y querían un conocimiento profundo de todo. Ahora mismo Pero la pila completa correcta son sus horizontes y la capacidad de profundizar cuando sea necesario.


Derribarte


No estaba en todas partes, pero se encontró. Curiosamente, ¿es esta nuestra mentalidad? ¿Dominar y mostrar tu frescura? Después de todo, realmente no los necesita, tiene buenos proyectos para el año que viene. Usted va con el pensamiento: "Bueno, ¡la idea genial de la startup! Es cierto, realmente puedo ayudar". Y aqui esta. Y los chicos parecen ser adecuados. Higo entender. Y luego ves que la vacante está abierta medio año. Bien bien


Hubo un par de debates sociales en las empresas occidentales. Y allí el énfasis estaba en lo que sabes y sabes cómo, en lugar de tratar de atrapar la ignorancia. ¿O es tan afortunado / desafortunado? Me gustaría escuchar la opinión de camaradas más experimentados en este asunto.


Estar en pie de igualdad. Contratas a un colega, no guardas la cabina.


No me importan los proyectos pasados


Un árbol es reconocido por sus frutos, y un hombre por sus obras.
Proverbio ruso

También asombroso. Hay cincuenta de ellos debajo del capó: pequeños y grandes; equipo y aquellos donde usted en la misma persona diseñó UX, API, escribió 2 mob. aplicaciones, frontal y posterior; aquellos de los que estás orgulloso y aquellos de los que aún te avergüenzas. Bueno, Komon, esto es importante, hablemos de eso. Te diré todo: dónde estaba súper viejo y salvó a todos, y dónde lo hizo todo. No, preguntas tontas de CSS.


Los proyectos son de donde sacamos nuestra experiencia. Estas son las etapas de desarrollo del desarrollador. Como anillos en un árbol. Siempre pregunta por los proyectos. Sobre las tareas más complejas e interesantes que la gente resolvió. De lo que está orgulloso. También ayudará a construir una atmósfera amigable. ¿Recuerdas que las entrevistas son estresantes? A la gente le gusta hablar sobre en qué eran buenos. Es cierto que no funcionará con introvertidos, pero la seguridad social con ellos es un tema completamente diferente.


Desarrolladores experimentados


Un buen desarrollador experimentado no es entrevistado como intermediario de una cocina. Ya no habla de eso. Se trata de cómo hacerlo bien de inmediato. Para no tener que resolver problemas con esfuerzos heroicos. Se trata de cómo lanzar un producto y no reparar frenéticamente los tapones en el rendimiento, aunque podría hacerse de manera diferente desde el principio. Todo lo que pides, él ya lo ha usado en algún lugar de una forma u otra. OAuth? Sí, FIG sabe cómo trabaja allí. Lo hice hace un par de años, ahora abriré el proyecto y lo veré. Desde ese momento, he conectado cincuenta SDK y protocolos. ¿Qué, recuerdas todo? No leerá ACID y CAP como estudiante para el examen.


Sepa cómo comprender el nivel de la persona frente a usted y haga las preguntas correctas.


Remout


Así que yace en la playa y con una mano marca rm-rf en el servidor de desarrollo. Bueno, eso es, él pensó que sí.

Escuchado en la oficina de GitLab

Semi punto realmente. Porque no es importante para todos. Muchos simplemente no saben cómo. Otros no quieren. Aunque, maldita sea, 2020 en la calle, no encontrarás un buen desarrollador por la tarde con fuego. Y luego todo un mundo potencial, en lugar de una ciudad. Parecería.


Con el remoot como con el sexo: por primera vez da miedo y pocas personas lo hacen bien. Y luego con la experiencia se pone cada vez mejor. No lo creas: un remoot puede ser más productivo que trabajar en una oficina. Debido al hecho de que todas estas sacudidas y distracciones desaparecen. Y si también hay diferentes zonas horarias ... ¿Conoces la regla de administración de 15 minutos? Espere antes de tratar con el problema del usuario. A menudo ella decidirá por sí misma o se volverá irrelevante. Entonces está aquí. Cuando entiendes que no puedes jalar a una persona, el cerebro se enciende, 1 pc. ¡Y viva la interacción asincrónica!


Espero sinceramente que este artículo ayude a alguien a construir mejor el proceso de entrevista en su empresa o startup. ¡Hola mundo, código abierto y chicle para todos!

Source: https://habr.com/ru/post/484944/


All Articles