¿Cómo es el día de trabajo de los miembros de PC AppsConf?

Este año, el Comité del Programa AppsConf tiene desarrolladores móviles súper geniales. Todos tienen mucha experiencia, trabajan en empresas líderes y nuevas empresas, soluciones corporativas y sus productos: saben que están en tendencia y pueden compartir muchos trucos.

Hablaremos sobre casos específicos de problemas de trabajo en la conferencia, pero por ahora discutiremos: herramientas de trabajo, gestión del tiempo, motivación para el desarrollo de productos, el papel de la educación en el trabajo de un programador y otras cosas interesantes.



En el tercer número de Run Loop , un podcast sobre aquellos que fabrican productos con sus propias manos, los presentadores decidieron no llamar a nadie. Y cuenta sobre ti, porque también hacen cosas útiles y geniales.



Roman Busygin es un desarrollador líder de música Yandex para iOS.


Ilya Tsarev Jefe de iOS en Alfa Bank.


Alexey Mileev, la aplicación para desarrolladores de Android en el aire.

Experiencia. Actividades publicas


Roman : Lo primero de lo que quiero hablar es sobre la experiencia: dónde nos iluminamos y qué hacemos, y no solo esas líneas de la posición actual.

He estado en el desarrollo de iOS desde el principio. Recuerdo que cuando la plataforma también se llamaba iPhone SDK, era la segunda Beta iOS 2.0. La plataforma me atrajo porque utilicé el primer iPhone durante casi un año, me gustaba fotografiar varias cosas interesantes de mi vida en él, pero las fotos permanecían en el dispositivo y quería compartirlas con alguien. Mi primer proyecto fue solo un cliente que sabía cómo cargar estas imágenes desde mi iPhone a Internet. Luego giró, giró. Luego trabajé en Yandex y allí aceptaron este proyecto con gran interés. Yandex.Maps, Search, Browser, KinoPoisk, smartpass se anotaron en mi historial, esta es una aplicación para iPad que te permite ir a los cines, Yandex.Afish.

En los albores de la formación de iOS, había muy poco desarrollo de información, y realmente quería contar algo sobre mí y encontrar a esos pioneros que también cavaron en su esquina, porque aún no estaba de moda. Poco a poco, poco a poco, comencé a organizar los subbotniks de Yandex en el desarrollo móvil, que gradualmente se convirtió en un formato separado para el evento Yandex Mobile Camp, que se convirtió en una sección móvil separada en la gran conferencia de Yandex. Sin embargo, otra conferencia. La lista de actividades públicas se puede complementar con podcasts. La primera vez que me convertí en invitado en un submarino . Esta experiencia me gustó tanto que decidí continuar, y ahora estoy contigo en el lanzamiento del podcast Run Loop. Esta es mi breve historia.

Ilya : Por supuesto, mi experiencia no es tan impresionante como la de Roman. En el desarrollo de iOS, hace relativamente poco, solo 5 años. Empecé con iOS 6. Todos mis conocidos con el desarrollo de iOS provienen del instituto. En el tercer año, los chicos y yo comenzamos a hacer un proyecto. Me gustó, y pensé que la programación podría ser interesante : no es solo escribir algunas tonterías allí, sino que puedes hacer aplicaciones y tocarlas con las manos, es genial. Entonces comencé a hacer desarrollo de iOS. Después de eso, logré trabajar en varias startups. Algunos cerraron en un par de meses, mientras que otros vivieron durante varios años. Todo estaba más o menos bien. Luego me metí en una gran empresa. Fue Alfa Bank, donde he estado trabajando durante tres años. Durante este tiempo, logré quedarme en Alfa-Bank como desarrollador de productos ordinario, luego líder, en este momento estoy a cargo de todo el desarrollo de iOS.

Desde el público, siempre fue interesante para mí hablar en las reuniones, siempre tuve miedo de esto. Por lo tanto, decidimos hacer nuestros mitaps, que se suponía que serían más compartidos con menos personas (no tan atemorizantes), y contar exactamente cómo sucede esto en Alfa-Bank. Queríamos hablar sobre nuestra experiencia y mostrarles a todos que los bancos pueden ser organizaciones no solo aterradoras, enormes y burocráticas, sino también geniales en términos de innovación y tecnología. Así que hubo un iOS-mitap Mobile Talks. Esta es mi primera vez en podcasts, y vale la pena decir que gracias a AppsConf .

Experiencia. El camino a la programación.


Alex : He estado trabajando en Android durante aproximadamente 5 años. De estos, durante tres años y un mes he estado trabajando en la aplicación en el aire. Todo comenzó en la escuela. Ya he comenzado a entender que la programación es algo interesante. Cuando tenías una computadora, parecía que no había nada, luego escribiste algo así y apareció algo nuevo. Este tipo de magia de programación atraída. Pero comencé a entrar en este negocio, por decirlo suavemente, a un lado. No sé por qué sucedió, pero lo primero que encontré fue el tutorial de Perl . Fue bastante aterrador. No es ningún secreto que la parte decente de la educación general y superior rusa son las hojas de trucos, sin ellas, en ninguna parte. Después de que mis amigos y yo aprobamos todos los exámenes en el Liceo de Física y Matemáticas, decidimos que sería bueno convertir todo lo que teníamos en física y todas las ramas de las matemáticas en algún tipo de hoja electrónica. Así es como surgió nuestra primera aplicación de Android. Entonces mi amigo lo adaptó para iOS. La aplicación Formula Book es una referencia de fórmula que aún vive en la Tienda: Google Play y AppStore. Hubo un período algo oscuro cuando el mismo amigo y yo estuvimos involucrados en una startup, de la cual no hablaré en detalle. Lo único que puedo decir sobre él es que fue alojado en el fallecido Parse, si recuerdas, Facebook tenía un Parse.com. Era una red social, que dio muchas experiencias interesantes diferentes, porque tuve que resolver muchos aspectos. Ella se inclinó con éxito cuando yo era estudiante de segundo año. Se necesita dinero Me di cuenta de que la programación es un tema , es interesante para todos. Pensé que mis padres estaban interesados ​​en enseñar programación infantil, y ofrecí tutoría: "Te enseñaré cómo hacer aplicaciones de Android". Contaba con el público más joven de los niños, pero al final sucedió que de alguna manera estaba enseñando a tíos de 30 a 40 años . Era bastante extraño, pero interesante. Por cierto, varios de ellos para nuestros cursos, durante el tiempo que estudiamos, casi de la nada llegaron a la oferta con éxito y se pusieron a trabajar en algún lugar en junio. En mi tercer año, estaba pensando dónde ir a la práctica de verano. Al principio pensé que solo necesitabas hacer una lista de los mejores estudios de desarrollo móvil que hay en Moscú, escribirles quién soy y que puedo conseguir un aprendiz. Pero mientras le decía esto a un buen amigo, lo revisé en App in the Air. Llegué a ellos, hice una tarea de prueba, realicé prácticas, pasantías y desde entonces he estado allí.

Roman : Alexey planteó un tema interesante sobre el camino a la programación. Mi experiencia también es indirecta, ya que no estudié en una facultad puramente programadora. Casi siempre resuelvo algunos de mis problemas aplicados usando una computadora. Mi primera computadora fue una estación de juegos donde aprendí a reorganizar las ventanas. Probablemente todavía recuerdo cómo se hace esto, incluso con los ojos cerrados puedo hacerlo. Fue en la programación que vine, gracias a los cursos en la escuela. Vi qué hermosos dibujos, gráficos se pueden programar. Me atrajeron tanto que decidí inscribirme en cursos. Era Pascal, y fue muy emocionante. Ilya, ¿estudiaste como programador o también estuvo de lado?

Ilya : Comprendí desde la escuela que parece que me gusta la informática y las matemáticas, y sería interesante intentarlo todo. En consecuencia, fui a estudiar al Instituto de Aviación de Moscú en la Facultad de Matemática Aplicada y Programación. Los primeros dos cursos realmente me arrepentí de mi elección, porque había algún tipo de estaño: mucho matanálisis, mucho desarrollo en C, donde escribimos cosas extrañas como árboles de sufijos, todo tipo de algoritmos espeluznantes. No me gustó, no entendí por qué esto era necesario. Luego probé el desarrollo de iOS y luego me di cuenta de que definitivamente me gusta la programación. Ahora, por supuesto, entiendo por qué se necesitaban todos estos algoritmos . Esta es una base genial que me ayuda ahora. Pero luego pensé que era completamente inútil.

Alexey : Sobre las terribles matemáticas. Al final, también terminé las matemáticas aplicadas en la Escuela Superior de Economía. Las impresiones son exactamente iguales: matemática terrible 4 años. La única diferencia es que durante los últimos dos años no ha sido tan terrible, porque no aparecía en la universidad con frecuencia. Ayuda mucho Tal consejo es cómo lidiar con las matemáticas.

Roman : El truco de la vida es maravilloso. Por favor, no lo escuchen, queridos estudiantes, este es un mal consejo.

Programador Educativo


Ilya : ¿Tienes chicos sin diploma? Tengo una persona sin diploma en el equipo, y tenemos varios desarrolladores de Android que tampoco terminaron nada y al mismo tiempo codifican muy bien.

Alexei : Tenemos muchas personas que todavía son estudiantes. App in the Air tiene una política de contratación de este tipo. Siempre invitamos a muchos estudiantes a la práctica de verano. Ellos hacen algunas tareas. Aquellos que hicieron lo mejor recibieron regalos y ofertas para realizar una pasantía. La mayoría de los que ahora son reclutados de tales prácticas y pasantías. Hasta hace poco, la mayoría provenía de la Escuela Superior de Economía, pero no de matemática aplicada, sino de ingeniería de software.

Romano : nunca le presté atención. La pregunta me dejó perplejo. Pero, si mi memoria me sirve, muchos tipos con diplomas. Siempre miramos el resultado. Lo más probable, todos con educación superior.

Sobre desarrollo de producto


Ilya : Hablemos de algo cercano a lo que estamos haciendo: el desarrollo de productos. Lesha, ¿qué consideras importante en el desarrollo de productos?

Alexei : Una pregunta bastante interesante, incluso diría que es una pregunta difícil. Lo más importante es simplemente no olvidar que al final está haciendo algo (estoy hablando específicamente sobre desarrollo móvil) que se dibujará en una pantalla pequeña y una persona viva interactuará con él. Eso es todo lo que haces. En la búsqueda de soluciones técnicas de moda, para arquitecturas flexibles, debemos recordar que en realidad al usuario no le importa lo que hay dentro de usted; lo principal es que funciona , preferiblemente de forma rápida y sin errores. Presta más atención a los comentarios que te dan cómo se siente el usuario.

Ilya : Sí, aquí estoy de acuerdo contigo. Esta es principalmente una aplicación cliente. Pero usted dice que puede escucharlo así: "Martillo sobre arquitectura, no importa en absoluto qué diferencia hace". De hecho, esto no es del todo cierto. Si no hacemos algo en la etapa inicial, más tarde volverá a nosotros. De todos modos, debes pensarlo.

Romano : complementaría aquí. La arquitectura se vuelve importante en esos momentos cuando su equipo es grande y el producto está en constante evolución. Cuando el proyecto no es muy grande, entonces, en mi opinión, se interpone, porque tiene una sobrecarga en términos de una gran cantidad de archivos. En un pequeño equipo establecido, es más probable que la arquitectura interfiera . Por un equipo pequeño me refiero a tres personas, un máximo de cuatro. Si es más, y si también son ciudades diferentes, entonces ya se necesitan procesos y reglas allí, que no solo acordó, sino que están formalmente escritos en papel. Volviendo al desarrollo de productos, siempre me interesaron aquellos productos y aplicaciones que yo mismo uso con gusto.

El criterio principal es el placer de usar lo que haces todos los días. No solo cierra tareas, sino que también es un usuario activo de su propia aplicación.

Ilya : Sí, esto es lo mejor que puede pasar cuando lo usas y realmente disfrutas lo que también haces en el trabajo. Creo que las aplicaciones más útiles son aquellas que nos permiten ahorrar nuestro tiempo.

Esta fue una de las razones por las que fui a trabajar a un banco. El dinero ocupa una gran parte de nuestras vidas. Los conseguimos en el trabajo, los gastamos en todas partes, y si podemos ahorrar esos minutos, horas que dedicamos a trabajar con ellos, en mi opinión, eso es genial.

Romano : Interesante. Solo quiero hacerme a un lado y hacerle una pregunta a Lesha. Por alguna razón, pensé que App in the Air es una aplicación. ¿Tienes varios?

Aplicación en el aire


Alexei : De hecho, esta es una aplicación en Android e iOS. Si es absolutamente simple, entonces App in the Air es un rastreador de vuelos, un asistente para los viajeros. Nuestro público objetivo son las personas que vuelan con mucha frecuencia. Intentamos hacer todo lo posible para facilitarles la vida a aquellos de los que habló Ilya, para ahorrarles tiempo. También hay un subproducto, que es una pequeña copia de la aplicación en el aire para aquellos que se encuentran. Es decir, si conoce a un pariente de un avión, puede usar la aplicación con funcionalidad truncada. Pero esta no es la rama principal, y fue, más bien, un experimento.

Roman : Lo que me sorprendió, dijiste que constantemente invitas a la gente a hacer pasantías. Tengo la sensación de que tiene un gran equipo y que todos están haciendo algo, pero App in the Air es una pequeña aplicación. ¿Es esto cierto o no?

Alexei : Sí, lo es. Hasta hace poco, incluso hace menos de un año, teníamos un total de 10 personas: ambas plataformas, back-end, análisis, soporte. Por el momento, hay 25 de nosotros en la sala de chat principal. Esto se debe al hecho de que, en primer lugar, algunos lugares, como el soporte, se están expandiendo, y han aparecido algunas instrucciones adicionales que las personas también necesitan.

Roman : ¿Todos estos pasantes que invitas van al desarrollo o se distribuyen de manera uniforme en todas las áreas de la empresa?

Alexey: Aproximadamente de manera uniforme. ¿Cómo va esto? Vienen estudiantes que necesitan práctica. Les decimos: "Mira, puedes hacer esto, tal y tal". Hay un montón de diferentes tareas del mundo real. No inventado, pero que, si se hace bien, podemos construirlo y usarlo. Eligen lo que más les gusta: algunos Android, algunos iOS, algunos backend, algunos web. Muchas tareas en ciencia de datos y aprendizaje automático. Incluso si han venido muchos estudiantes, no todos terminan quedándose, pero una parte todavía se instala en nuestra empresa y se convierte en nuestros empleados.

Jornada laboral


Roman : Es interesante escuchar cómo alguien construye un día de trabajo típico. Ilya, ¿cómo te va todo?

Ilya : Mi historia no es muy típica, porque ahora soy más gerente que desarrollador. Por lo tanto, un día de trabajo típico consiste en varias reuniones, varias reuniones paralelas, varias reuniones urgentes y otros casos que deben resolverse con urgencia. Hay un problema que necesita llegar a tiempo, pero no se necesita algo. Necesito priorizar . Esto es probablemente lo más difícil en mi trabajo, porque necesita comprender lo que debe hacer después de 5 minutos, y es aconsejable entenderlo de antemano.

Roman : Cuando dirigí el equipo de desarrollo de Yandex.Browser, fue muy difícil tener varias reuniones el mismo día. Incluso después de dos horas de reuniones al día, me sentí exprimido como un limón. ¿Cómo lidias con tal flujo?

Ilya : Creo que estoy acostumbrado. Mi día habitual son cuatro reuniones al menos . Me reservo por algún tiempo en el calendario cuando sé que necesito hacer alguna tarea técnica o algo en el proyecto. A veces todavía trato de pasar de contrabando a alguna parte. Por lo tanto, planeo cosas en el calendario. Siempre tengo un plan para la semana, que definitivamente debo hacer.

Por cierto, un consejo genial: graba todos tus asuntos en un rastreador de tareas.

Por ejemplo, todos mis asuntos laborales y no laborales, al mismo tiempo que todavía estoy renovando mi casa, están en el mismo Rastreador de tareas. Esta es toda una lista en la que me tiro un día de trabajo y lo hago. Ayuda a resolver problemas. Por ejemplo, hay media hora entre reuniones, y parece que no tiene tiempo para transferir nada y resolver nada importante, pero puede hacer alguna tarea que no necesita realizar en el camino a casa por la noche.

Roman : Resulta que tienes tanto tareas de trabajo como personales en algún lugar alojado en un solo lugar.

Ilya : si. Yo uso Wunderlist para esto. Si hablamos de tareas de trabajo, todavía hay un calendario y un poco de Jira. Por ejemplo, para AppsConf usamos Trello. Pero a mí personalmente, Trello no me va muy bien. Para mis cosas uso Wunderlist.

Alexei : Ilya, dices que tienes tu propia Wunderlist, en la que tienes todas las tareas. ¿Cómo se sincroniza con lo que se usa en el trabajo? ¿La sincronización se realiza manualmente o hay algo configurado para esto?

Ilya : Sí, a mano. Por lo general me sale el rompecabezas para ir allí y allá. No me lleva mucho tiempo. Por lo tanto, hasta ahora esta opción me conviene. Pero parece que hay algunas cosas listas para usar que puedes atornillar y hacer todo. Pero hasta que duela, no lo resuelvo.

Roman : Además de trabajar en tu día de trabajo, ¿hay algo más que encajar? Por ejemplo, un pasatiempo. ¿Qué haces por la mañana, por la tarde?

Ilya : Por supuesto, el pasatiempo principal es reparar, ¿cómo puede ser sin él? Hay muchas cosas relacionadas con algunas actividades adicionales: ya sea grabar un podcast, lo que estamos haciendo ahora o preparar AppsConf. Todavía hay suficiente tiempo para cualquier cosa. A veces me las arreglo para dar un paseo por la noche, pero este es el máximo.

Alexei : Roma, has estado girando el desarrollo de iOS durante muchos años. Seguramente ha desarrollado algunos enfoques de hierro y probados por el tiempo que utiliza para usted. ¿Cómo construyes tu jornada laboral?

Roman : Mi día de trabajo es relativamente tranquilo en términos de reuniones. Todos los días hay un stand-up, nuestro equipo distribuido nos sincroniza. Varias personas están en Moscú, la mayoría de ellas en Novosibirsk. Como de costumbre, todos se ponen de pie, así que nosotros nos ponemos de pie. Durante todo el tiempo que estoy involucrado en el desarrollo, tengo dos modos de operación.

  • El modo de flujo , cuando entiendo lo que hay que hacer, y el pensamiento fluye como un río. No me contengo y no me detengo. Puedo sentarme en esta secuencia hasta dos horas y escribir código.
  • El modo que se usa para tareas con mucha incertidumbre, de modo que entiendo claramente si tengo progreso en esta tarea incierta. Esta es una técnica de Pomodoro , un temporizador de 25 minutos. Antes del comienzo de los próximos 25 minutos, establecí un micro objetivo, al final miro para ver si he alcanzado la meta. Si no logro el objetivo de tres tomates seguidos, esta es una ocasión para pensar: descanse o sobreestime y aborde la solución desde el otro lado.

Me ayuda mucho Además, es muy útil apagar todos los mensajeros instantáneos y configurar la renovación automática del correo una vez por hora, o incluso mejor, simplemente inicie el cliente de correo con sus propias manos y verifique qué atacó durante este tiempo.

Ilya : Aquí estoy completamente de acuerdo contigo. Decidí realizar un experimento y activé el modo de no molestar en el teléfono. Lo único que dejé son todas las llamadas entrantes. En este modo, he estado viviendo durante la tercera semana. Maldición, qué calma se volvió. Ahora no me molesto en absoluto por ninguna vibración, porque simplemente no existen.

: iPhone Apple Watch. Telegram, , . : Android. Twitter, Instagram, Telegram . . .

: . . , . , . , - , .

: , , , .

: . , , - , , . : , , . Pomodoro , : , . . - , , . , , , 10-15 . . , , . , - . , , .

. , , - . , -. , , , , - , . , - . , , : «, ». , . . , , - .

, , , Excel, , : , , - . - , , , 1, 2, 3. 30-40 . . , -, . . : , , . , . , - : , , , , , . , : «, , — . , 3-4 ». - , . , , . , .

: , , , . , . , ? , , - .

: , , - , , , , . - , . , , , . , , , , . - . .

: , .

, , , .

- , . , , . . , - , .

: — , ? . , X , . X . . , , ( , ), 2-3 , , « ». . . , , , . . X . , . .



: , ? , - IDE, Xode. Xode, ?

: Android Xode. , .

Android : Android Studio, IntelliJ IDEA. Android Studio, MacOS.

: Git ?

: , , Git UI. , alias. — , . , GitUp . Mac. , . , . , . , , , . .

: , , , rebase . UI , , - commit messages. GitUp — .

: , . , . Xcode, SourceTree . : «, , ». , Fork . . , , . , , .

: . Dash Mac. Windows, Linux, . Mac . , . Dash :

  1. , . , , Android , , .
  2. snippets. , alias. Dash, alias, Tab «paste» . , . IDE, , Xcode, Android Studio.

: , Dash — . , . , , ?

: Xcode. , . IntelliJ IDEA. Swift , Objective-C. AppCode . : , . JetBrains . , , Xcode, AppXode - Swift, , Objective-C, . Xcode, .

: : Vim Emacs?

: Vim.

: Emacs. Vim, Emacs.

: , .

: , Vim Xcode ?

: , .

: , - , Vim Pet Project Python. IntelliJ Xcode Vim, . , , . - — , .

: - . , Starcraft. , , .

, , , . , , - , , . , MacOS , . , . SourceTree, Fork. ? ? .

: , . , , Lotus Notes. , . , , .

Mind Map, MindNode . . - , .

: Xcode Fork . , , Keynote, , . Keynote .



: ? ?

: MindNode . mind map , , . , - , : , - . mind map, , . .

: Dash , Snitch . MacOS. , , Firewall, , , , , , . , , . , . - , , , . , Adobe, .

MicroSnitch — . , , . , , , , . , , Android Emulator . , , OK Google, OK Google, , . , , , .

: , . 4 .

Mi proceso de pensamiento funciona mejor cuando escribo o dibujo lo que está en mi cabeza ahora.

Alexei : Escucha, pero no observaste tal efecto en la escala en esto, si cambias de un cuaderno o simplemente de hojas A4 a una pizarra blanca o un rotafolio, entonces va aún mejor, está tratando de atraer tanta atención sobre todo esto así como así ?

Roman : Sí, sí. Incluso pienso en hacer una tabla enorme en casa en la pared, como hacen en las oficinas. Sí, realmente existe tal efecto e incluso es agradable pensar con claridad.

Alexei : Escuché que puedes cubrir las paredes con un poco de pintura especial que convierte la pared en un tablero, es decir, puedes escribir y borrar en la pared. Ilya está en reparación, ¿dime dónde conseguir esa pintura?

Ilya : Sí, tenemos esto en nuestra oficina, es fácil de hacer.

Roman : El tiempo pasó imperceptiblemente, propongo resumir y quiero agradecer a mis interlocutores y a ti por escuchar o leer.

Como conclusión, vea la invitación de Alexei Mileev a AppsConf . Todavía estamos trabajando en la versión completa del programa, pero los informes ya han sido aceptados:

  • Dmitry Gryazin sobre su rica experiencia trabajando con pruebas de Unidad y UI en desarrollo para Android.
  • Philip Uvarov sobre el desarrollo de complementos de Gradle.
  • Ilya Tsarev habla sobre los miedos, las expectativas y la cruda realidad al pasar a un puesto directivo.

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


All Articles