
De alguna manera resultó que casi los ocho problemas que hablamos con los desarrolladores de la oficina, y no cuestionamos cómo es la vida en freelance. Hoy, finalmente, lo estamos arreglando. Narrado por Denis Kazakov (
nrcpp ). Escribió el primer programa a los 14 años en Pascal, y en la universidad desarrolló su
compilador front-end C ++ y publicó un artículo sobre este jackpot kármico en Habré.
Tomó a Kush más realista en Upwork: 60 proyectos completados y sumas ordenadas (bueno, para mí) en el gráfico del dinero recibido. Pero debajo del corte, no hay jactancia y motivos en el espíritu de "tú también puedes". Por el contrario, una historia sobre la amarga experiencia de oficina para un profesional independiente con experiencia.
1. Cuéntanos sobre la característica que implementaste y de la que estás orgulloso.
La primera "característica" fue el primer semestre en la universidad. Llegué a la universidad ya preparada y pasé la sesión automáticamente. Puede que no haya aparecido en el examen, pero los compañeros de clase pidieron quedarse y pararse en el pasillo, para ayudar si eso era así. Después de 15 minutos desde el comienzo del examen, casi todo el grupo, a su vez, "quería ir al baño". Y esto son unas 25 personas.
Cada uno soportó una hoja, luego dos. En todas partes, con un toque nervioso, se raya algo como "Agregar 2 elementos máximos en una matriz" o "Buscar un elemento en una matriz más grande que X".
Una hora después era un transportador completo. Dos pilas crecieron a mi lado, en una, más y más hojas nuevas, en la otra, tareas ya resueltas. Una persona salió, sacó una nueva "fiesta" y tomó soluciones preparadas. Por lo tanto, todo el grupo pasó la sesión a las 4 y 5. Desde entonces, hemos sido amigos.
La segunda característica es mi propio compilador de C ++, que escribí casi todo el período de estudio en la universidad. Desde entonces, no he podido realizar mi propio proyecto solo con un solo entusiasmo. ¿De dónde sacan las personas su fortaleza para sus nuevos proyectos?
Y el tercer proyecto es una prueba de visión regular. Lo creé a partir de "Archivo -> Nuevo proyecto" y terminando con ventas. Pero el verdadero zumbido es que ves cómo las personas usan tu creación, y esto les ayuda a identificar problemas de salud.
2. Y ahora, sobre el fakap más feroz
No trabajé en Google, no escribí software para cirujanos y ciencia de cohetes, por lo que no recuerdo fakaps brillantes debido a mi código. Te diré mejor cómo prokapapilsya para ser un líder de equipo.
Después de muchos años de trabajo independiente desde casa, el diablo me empujó a trabajar en la oficina, en una gran empresa de outsourcing, con un cliente aún mayor (uno de los líderes mundiales en la industria). La situación es estresante para mí, realmente no trabajaba en la oficina antes, y luego había una multitud de personas para organizarse. Al principio había 6, luego 10, luego 18, ¡y al final fueron 25! No conté con tal belén. Después de todo, cada uno es para sí mismo. Tomó una tarjeta en Jira y se aserró en silencio. Y no quieres cortar.
Esto no funcionará aquí. A las 10 a.m.en la recepción, cállate y sé amable, di "Estoy trabajando en mi tarea" en el stand-up. A las 4 pm llamó por teléfono al cliente. Dices lo mismo, solo a él y en inglés. Entre estas dos clases, te atraen los junes, pasantes, contadores, limpiadores. Por supuesto, la responsabilidad de todo recae en usted.
En general, comencé a sentir que no podía hacer frente, y esa organización de trabajo no es para mí. Perdí interés en el trabajo, pero mi salario y fuerza de voluntad me mantuvieron en el espíritu de "¡puedes!" No lo hagas.
Cuando el Timlid no tiene interés, surge el caos. Un junio asumió el 50% de las tareas, simplemente porque estaba sentado a mi lado en el espacio abierto. Otro pasante tomó un módulo independiente crítico, que fue completado por casi todo el equipo.
Me caí durante un mes debido a problemas de salud, y cuando regresé, el proyecto ordenó "vivir mucho". Y el equipo se dispersó en otros proyectos del mismo cliente. Después de un tiempo, volví a mi trabajo independiente habitual.
3. Describa su espacio de trabajo: desde la silla y el monitor hasta los entornos de programación y sus utilidades favoritas. Y adjunte capturas de pantalla si puede
La gran mesa es la clave de la productividad, creo.

El hierro se cambia por completo cada 5-6 años. Ahora estoy exprimiendo al máximo el i5 de segunda generación, con un SSD de 500 GB + HDD antiguo y 16 GB de RAM DDR2. Durante mucho tiempo, las manos han tenido picazón para actualizar, especialmente cuando el porcentaje se sobrecalienta. Pero o el sapo presiona, o es más fácil cambiar la pasta térmica. Este verano, con un chirrido, cambié de Windows 7 a los diez primeros, ya que bajo Xamarin es más fácil escribir en él.
También hay un MacBook Pro 2011 tarde, para proyectos de iOS. Sartén perjudicial debido a la edad. Una vez más, el dilema es si ahorrar dinero para un apartamento o comprar una nueva MacBook que no se hornea.
De Tula: desde el 99 ° año de Visual Studio. Y con cada nueva versión estoy convencido de que no se necesita nada más. Un par de extensiones muy pequeñas, como Ctrl + Click para ir a la declaración del método y entrar en combate.
Para Git - SourceTree. Para probar en diferentes sistemas operativos: VmWare. A veces le piden al instalador que haga, para esto, el instalador avanzado. Todo lo demás se hace en la web o en notepad.exe. Cuando se necesitaba Java, IntelliJ.
4. ¿Por qué principio eliges un trabajo? Pila, producto, condiciones de vida, dinero?
Si hay pedidos por cuenta propia, usted está en un caballo, no hay pedidos, estoy listo para aprovechar la comida las 24 horas, los 7 días de la semana. Gracias a Dios, estos tiempos pasaron hace unos cinco años. Pero sucedió que los cursores hicieron a estudiantes de la India, y se les pidió a otros tontos Malvari que escribieran. Ahora estoy trabajando en lo que es interesante. Por ejemplo, los proyectos recientes son la automatización web y la PNL.
Tengo 32 años, y ahora estoy menos entusiasmado con algunas tendencias novedosas. Mi trabajo de oficina ideal es en algún lugar a cinco metros de la casa, preferiblemente en el siguiente piso. Una oficina separada, con una cómoda mesa, sillón y plancha. Y las tecnologías que conozco. Tal vez otro 10-20% del tiempo de trabajo cuando puede experimentar con otros nuevos. Sin embargo, describí cómo trabajo hoy.
No siempre se puede conocer un producto cuando se trata de subcontratación. Pero si hay un zoológico de diferentes tecnologías, desde Fortran hasta Go, entonces probablemente no.
Por lo general, pido dinero justo por encima del mercado, pero esto no es crítico.
5. ¿Qué tecnologías e idiomas que utiliza le gustaría corregir?
Lo primero que te molesta antes de rechinar los dientes es la falta de interfaz de usuario multiplataforma para .NET. O, por simplicidad, WPF para macOS. El segundo punto es la calidad del proyecto Xamarin en la actualidad. Especialmente la velocidad de ensamblaje y despliegue de las aplicaciones Xamarin, que vuelan constantemente Xamarin XAML Previewer, por razones desconocidas, aparecen errores que desaparecen solo después de reiniciar el IDE.
Tan pronto como me senté a escribir mi primera aplicación seria en Xamarin Forms (Forms es la parte inferior, lo sé, pero no había otra opción), me volví loco con la cantidad de panderetas que se necesitan para sacar la aplicación de la caja para iOS / Android. Ahora actualizando completamente el software de terceros del que depende Xamarin, la situación ha cambiado.
Me gustaría crear un esqueleto del programa en varias líneas. Se describe un modelo de dominio, y el IDE generó un ViewModel, una maqueta de UI, clases para trabajar con configuraciones, registros, captura de excepciones, DAL, BAL, SAL, es decir, envoltorios alrededor de la API.
Es así, como andamios en ASP.NET MVC, o fue similar en el último LightSwitch. Pero en el complejo, como describí, para que todo se genere en conjunto, no.
Cada nuevo proyecto, en la mayoría de los casos, es una copia y pega del código del pasado. Luego, vincula los componentes de la nueva base de código entre sí, a través de capas de abstracciones.
Creo que la situación cambiará muy pronto y generaremos el 90% del código de la aplicación en varias líneas de DSL. Aunque los intentos con la "bala de plata" no se han detenido desde la creación del primer programa.
6. ¿Dónde es mejor aprender de la experiencia de otra persona, en una universidad, en conferencias, en Habré? En otro lugar?
Tómalo y hazlo. Solo escribe el código. Pero en general, a cada uno lo suyo. Por ejemplo, encendí programas de escritura, como en películas sobre hackers. Fui a los cursos de Turbo Pascal. Escribió el primer programa que suma dos números. Lo lanzó y me arrastró treinta kilómetros a través de todos los portales del universo. Y luego me di cuenta de que era mío.
El segundo y el tercer programa ya eran más difíciles de dominar, había si y mientras. Y ya no fui a cursos. Pero el deseo se mantuvo. Y como no había colegas con experiencia, y posteriormente maestros, acabo de comprar libros. Reescribí los listados de programas y los volví a comprar.
Luego comenzó a inventar algo propio. Pensé en escribir mi compilador de C ++. Han pasado tres años. Y ya estaba listo para el proyecto en condiciones reales, por las cuales se paga dinero. Proyecto por proyecto, mejorando en el camino, creció a Microsoft MVP, MCP y completó 60 proyectos.
Pero no aprendió a escribir hazañas, como en la película "Hackers".
7. Si tuviera recursos ilimitados (tiempo, dinero, poder, personas), ¿qué proyecto tomaría?
Sabes, me gustaría crear un sistema que cambie fundamentalmente el enfoque del desarrollo. Más bien, el proceso de escribir código.
¿Recuerdas cómo el personaje principal de la película "Password Swordfish" creó su Khidra? Aki chamán, agitando las manos y girando un cubo de rubik. O como en la película Iron Man. Sí, este es el estándar de Hollywood: mover las manos sobre una pantalla translúcida, cubos plegables. Me gustaría crear tal cosa y ponerla en las masas.
Por cierto, con toda seriedad, ya invertí en una herramienta similar para los programadores que trabajaban en el iPad. Pero aparentemente 3 freelancers y $ 20,000 no son suficientes para una revolución en la programación.
8. ¿Cómo te relajas? ¿Qué haces además del trabajo?
Cuando me preguntan sobre pasatiempos y tiempo libre, caigo en un estupor. Inmediatamente imagine al interlocutor con un traje de esquí, que desciende de las montañas alpinas. O un viajero en los bosques amazónicos.
No tengo un pasatiempo específico. Anteriormente, se involucró profesionalmente en el fútbol, hasta la edad de 16 años fue capitán del equipo juvenil de la liga mayor. Y luego escribí el primer programa ... Ahora me gusta ver partidos de alta calidad, de vez en cuando salgo a correr.
Me gusta caminar sola en el centro de la ciudad. Aprenda una nueva tecnología, pero el fusible es suficiente para dos o tres semanas. Aférrate a algún sitio completamente basura, como la lepra.
Recientemente, estoy tratando de descubrir cómo crear un video. Creé un canal de YouTube donde hablo sobre freelance. Si bien esto es más un experimento.
Y así, tengo dos pequeños spingrosis y una esposa que no me dejan aburrirme.
9. Cuente sobre 3 libros favoritos: educación, ciencia popular y ficción.
Ciencia educativa y popular - Donald Knuth, "El arte de la programación" (1er y 3er volumen)
Artístico - Dunno on the Moon. Lo leí a la edad de 7 años, después de eso, no recuerdo nada para comenzar a leerme. Quizás la biografía de Jobs haya recorrido un largo camino. De lo último que leí - Sapiens. Una breve historia de la humanidad.
10. Si, justo ante tus ojos, AI se despierta, ¿qué le dirás?
Bueno, en primer lugar, creo que la mente y el alma son una. Una pila de hierro no puede tener un alma por definición. Aunque mi computadora reacciona de manera diferente si la gritas o elogias, por alguna razón.
Pero si imaginamos hipotéticamente que la IA se adapta a las condiciones de vida en la Tierra, adoptará los hábitos de comportamiento de las personas, como un niño, cuando aprende a caminar y hablar. Entonces, probablemente, preguntaría cómo curar enfermedades incurables y evitar guerras, y luego la sobrepoblación de la Tierra.
Pregunta del héroe anterior
¿Qué harías en una expedición intergaláctica que dura varias generaciones?
Por supuesto, codificaré y automatizaré las necesidades de la expedición.
Y si sueña y asume que no estoy envejeciendo, no hay marcos de tiempo y consumo, entonces trataría de visitar tantos planetas adecuados para la vida como sea posible. Intercambie contactos con los residentes de Gliese 581g, beba cerveza en Marte, inicie una startup en Andromeda, duerma con un extraterrestre.
Pregunta para el próximo héroe
¿Qué consejo te darías cuando volvieras hace 10 años?