Como é o dia útil dos membros do PC AppsConf

Este ano, o Comitê do Programa AppsConf tem desenvolvedores móveis super legais. Todo mundo tem muita experiência, trabalha em empresas e startups líderes, soluções corporativas e seus produtos - eles sabem que estão na moda e podem compartilhar muitos truques.

Discutiremos casos específicos de problemas de trabalho na conferência, mas por enquanto discutiremos: ferramentas de trabalho, gerenciamento de tempo, motivação para o desenvolvimento de produtos, o papel da educação no trabalho de um programador e outras coisas interessantes.



Na terceira edição do Run Loop - um podcast sobre quem fabrica produtos com as próprias mãos - os apresentadores decidiram não ligar para ninguém. E conte sobre você, porque eles também fazem coisas úteis e legais.



Roman Busygin é um desenvolvedor líder de música Yandex para iOS.


Ilya Tsarev Chefe de iOS do Alfa Bank.


Alexey Mileev Desenvolvedor Android App in the Air.

Experiência. Atividades públicas


Romano : A primeira coisa que quero falar é sobre a experiência: onde nos iluminamos e o que fazemos, e não apenas as linhas da posição atual.

Estou no desenvolvimento do iOS desde o início. Lembro que quando a plataforma também foi chamada de iPhone SDK, foi a segunda versão beta do iOS 2.0. Fiquei atraído pela plataforma porque usei o primeiro iPhone por quase um ano, gostei de fotografar várias coisas interessantes da minha vida nele, mas as fotos permaneceram no dispositivo e eu queria compartilhá-las com alguém. Meu primeiro projeto foi apenas um cliente que sabia como enviar essas fotos do meu iPhone para a Internet. Então girou, girou. Depois trabalhei na Yandex e lá eles aceitaram esse projeto com grande interesse. Yandex.Maps, Search, Browser, KinoPoisk, smartpass foram anotados no meu histórico, este é um aplicativo para o iPad que permite que você vá às salas de cinema Yandex.Afish.

No início da formação do iOS, havia muito pouco desenvolvimento de informações, e eu realmente queria contar algo sobre mim e encontrar aqueles pioneiros que também se interessavam pelo assunto, porque ainda não estava na moda. Lentamente, pouco a pouco, comecei a organizar subbotniks Yandex no desenvolvimento móvel, que gradualmente cresceu para um formato separado para o evento Yandex Mobile Camp, que cresceu para uma seção móvel separada na grande conferência Yandex. A lista de atividades públicas pode ser complementada com podcasts. A primeira vez que me tornei hóspede em um submarino . Gostei tanto dessa experiência que decidi continuar e agora estou com você no lançamento do podcast Run Loop. Esta é a minha breve história.

Ilya : Claro, minha experiência não é tão impressionante quanto a de Roman. No desenvolvimento do iOS, eu tenho relativamente recentemente - apenas 5 anos. Comecei com o iOS 6. Todo o meu conhecimento sobre o desenvolvimento do iOS veio do instituto. No terceiro ano, eu e o pessoal começamos a fazer um projeto. Gostei e achei que a programação poderia ser interessante : não é só escrever algumas bobagens por lá, mas você pode criar aplicativos e tocá-los com as mãos, é legal. Então comecei a desenvolver o iOS. Depois disso, consegui trabalhar em várias startups. Alguns fecharam em alguns meses, enquanto outros viveram por vários anos. Tudo estava mais ou menos bom. Então entrei em uma grande empresa. Era o Alfa Bank, onde trabalho há três anos. Durante esse período, consegui permanecer no Alfa-Bank como desenvolvedor de produtos comum e depois líder, no momento em que sou responsável por todo o desenvolvimento do iOS.

Do público, sempre foi interessante para mim falar nas reuniões - eu sempre tive medo disso. Portanto, decidimos fazer nossas mitaps, que deveriam ter mais câmara com menos pessoas (não tão assustadoras), e contar exatamente como isso acontece no Alfa-Bank. Queríamos conversar sobre nossa experiência e mostrar a todos que os bancos podem ser não apenas organizações burocráticas, enormes e assustadoras, mas também legais em termos de inovação e tecnologia. Portanto, houve um Mobile Talks com iOS-mitap. Esta é a minha primeira vez em podcasts, e vale a pena agradecer ao AppsConf por isso.

Experiência. O caminho para a programação


Alex : Eu trabalho no Android há cerca de 5 anos. Desses, há três anos e um mês trabalho no App in the Air. Tudo começou na escola. Eu já comecei a entender que a programação é algo interessante. Quando você tinha um computador, parecia não haver nada, então você escreveu algo assim e algo novo apareceu. Esse tipo de mágica de programação atraiu. Mas comecei a entrar nesse ramo, para dizer o mínimo, de lado. Não sei por que aconteceu, mas a primeira coisa que me deparei foi o tutorial em Perl . Foi bem assustador. Não é segredo que a parte decente do ensino geral e do ensino superior russo é um truque, sem eles, em lugar nenhum. Depois que meus amigos e eu passamos em todos os exames no Liceu de Física e Matemática, decidimos que seria bom levar tudo o que tínhamos em física e todos os ramos da matemática para algum tipo de folha eletrônica. Foi assim que surgiu o nosso primeiro aplicativo para Android. Então meu amigo adaptou para iOS. O aplicativo Formula Book é uma referência de fórmula que ainda existe na Store: Google Play e AppStore. Houve um período um tanto sombrio em que eu e o mesmo amigo estávamos envolvidos em uma startup, sobre a qual não falarei em detalhes. A única coisa que posso dizer sobre ele é que ele estava hospedado no Parse, se você se lembra, o Facebook tinha um Parse.com. Era uma rede social, que dava muitas experiências interessantes diferentes, porque eu tinha que resolver muitos aspectos. Ela se dobrou com sucesso quando eu era estudante do segundo ano. Dinheiro é necessário. Eu percebi que a programação é um tópico , é interessante para todos. Eu achava que meus pais estavam interessados ​​em ensinar programação para crianças e ofereci aulas particulares: "Vou ensinar você a criar aplicativos para Android". Eu estava contando com o público mais jovem das crianças, mas, no final, aconteceu que eu estava ensinando tios de 30 a 40 anos . Foi bastante estranho, mas interessante. A propósito, vários deles para nossos cursos, durante o tempo que estudamos, quase do nada alcançaram a oferta com sucesso e foram trabalhar em algum lugar em junho. No meu terceiro ano, eu estava pensando onde ir para a prática de verão. No começo, pensei que você só precisava fazer uma lista dos principais estúdios de desenvolvimento móvel que estão em Moscou, escrever para eles quem eu sou e que conseguir um estagiário. Mas enquanto eu estava contando isso a um bom amigo, fui até o App in the Air. Eu vim para eles, fiz uma tarefa de teste, passei pela prática, estágio e desde então estou lá.

Roman : Alexey levantou um tópico interessante sobre o caminho da programação. Minha experiência também é indireta, pois não estudei em uma faculdade puramente de programador. Eu quase sempre resolvo alguns dos meus problemas aplicados usando um computador. Meu primeiro computador foi uma estação de jogos onde aprendi a reorganizar as janelas. Eu provavelmente ainda me lembro de como isso é feito, mesmo com os olhos fechados, eu consigo. Foi na programação que eu vim, graças aos cursos na escola. Eu vi que desenhos bonitos, gráficos podem ser programados. Eles me atraíram tanto que eu decidi me matricular em cursos. Foi Pascal, e foi muito emocionante. Ilya, você estudou como programador ou também estava do lado?

Ilya : Eu entendi da escola que parece que gosto de ciência da computação e matemática, e seria interessante tentar tudo. Nesse sentido, fui estudar no Instituto de Aviação de Moscou, na Faculdade de Matemática Aplicada e Programação. Nos dois primeiros cursos, eu realmente me arrependi da minha escolha, porque havia algum tipo de lata: muita análise, muito desenvolvimento em C, onde escrevemos coisas estranhas como árvores de sufixo, todo tipo de algoritmo assustador. Não gostei, não entendi por que isso era necessário. Então tentei o desenvolvimento do iOS e percebi que definitivamente gosto de programação. Agora, é claro, eu entendo por que todos esses algoritmos eram necessários . Esta é uma base muito legal que me ajuda agora. Mas então eu pensei que era completamente inútil.

Alexey : Sobre matemática terrível. No final, também terminei matemática aplicada na Escola Superior de Economia. Impressões são exatamente as mesmas: matemática terrível 4 anos. A única diferença é que, nos últimos dois anos, ela não foi tão terrível, porque eu não aparecia frequentemente na universidade. Isso ajuda muito. Esse conselho é como lidar com a matemática.

Romano : Life hack é maravilhoso. Por favor, não ouçam, queridos estudantes, este é um mau conselho.

Educação para programadores


Ilya : Você tem caras sem diploma? Eu tenho uma pessoa sem diploma na equipe e temos vários desenvolvedores do Android que também não concluíram nada e, ao mesmo tempo, codificam muito bem.

Alexei : Temos muitas pessoas que ainda são estudantes. A App in the Air tem essa política de contratação. Sempre convidamos muitos alunos para a prática de verão. Eles fazem algumas tarefas. Aqueles que foram os mais legais recebem presentes e ofertas para um estágio. A maioria dos que agora são recrutados em tais práticas e estágios. Até recentemente, a maioria era da Escola Superior de Economia, mas não da matemática aplicada, mas da engenharia de software.

Romano : Eu nunca prestei atenção a isso. A pergunta me intrigou. Mas, se minha memória me serve, muitos caras com diplomas. Sempre olhamos para o resultado. Provavelmente, todos com ensino superior.

Sobre o desenvolvimento de produtos


Ilya : Vamos falar sobre algo parecido com o que estamos fazendo - sobre desenvolvimento de produtos. Lesha, o que você considera importante no desenvolvimento de produtos?

Alexei : Uma pergunta interessante, eu diria mesmo uma pergunta difícil. O mais importante é simplesmente não esquecer que, no final, você está fazendo uma coisa (estou falando especificamente sobre desenvolvimento móvel) que será desenhada em uma tela pequena e uma pessoa viva irá interagir com ela. Isso é tudo que você faz. Na busca de soluções técnicas modernas, para arquiteturas flexíveis, devemos lembrar que, na realidade, o usuário não se importa com o que está dentro de você - o principal é que ele funciona , de preferência rapidamente e sem bugs. Preste mais atenção aos feedbacks que mostram como o usuário se sente.

Ilya : Sim, aqui eu concordo com você. Este é principalmente um aplicativo cliente. Mas você diz que pode ouvi-lo assim: "Martele pela arquitetura, não importa a diferença." De fato, isso não é inteiramente verdade. Se não fizermos algo no estágio inicial, isso voltará mais tarde para nós. Mesmo assim, você precisa pensar sobre isso.

Romano : Eu suplementaria aqui. A arquitetura se torna importante nos momentos em que sua equipe é grande e o produto está em constante evolução. Quando o projeto não é muito grande, então, na minha opinião, atrapalha, porque você tem uma sobrecarga em termos de um grande número de arquivos. Em uma pequena equipe estabelecida, é mais provável que a arquitetura interfira . Por uma equipe pequena, quero dizer três pessoas, no máximo quatro. Se é mais, e também são cidades diferentes, já são necessários processos e regras, com os quais você não apenas concordou, mas que foram formalmente escritos em papel. Voltando ao desenvolvimento de produtos, sempre me interessei pelos produtos e aplicativos que eu mesmo uso com prazer.

O principal critério é o prazer de usar o que você faz todos os dias. Você não apenas fecha tarefas, mas também é um usuário ativo do seu próprio aplicativo.

Ilya : Sim, isso é a coisa mais legal que pode acontecer quando você o usa e realmente gosta do que você também faz no trabalho. Acredito que as aplicações mais úteis são aquelas que nos permitem economizar nosso tempo.

Essa foi uma das razões pelas quais fui trabalhar em um banco. O dinheiro ocupa uma grande parte de nossas vidas. Colocamos eles no trabalho, gastamos em todos os lugares e, se pudermos economizar esses minutos, horas que gastamos trabalhando com eles, na minha opinião, isso é legal.

Romano : Interessante. Eu só quero me afastar e fazer uma pergunta a Lesha. Por alguma razão, achei que o App in the Air é um aplicativo. Você tem vários?

App no ​​ar


Alexei : Na verdade, esse é um aplicativo no Android e iOS. Se for absolutamente simples, o App in the Air é um rastreador de voos - um assistente para os viajantes. Nosso público-alvo são pessoas que voam com muita frequência. Tentamos fazer de tudo para facilitar a vida das pessoas sobre as quais Ilya falou - para economizar tempo. Há também um subproduto, que é uma cópia pequena do aplicativo no ar para quem se encontra. Ou seja, se você encontrar um parente de um avião, poderá usar o aplicativo com funcionalidade truncada. Mas esse não é o ramo principal e foi, antes, um experimento.

Romano : O que me surpreendeu, você disse que constantemente convida pessoas para fazer estágios. Tive a sensação de que você tem uma grande equipe e está fazendo alguma coisa, mas o App in the Air é um pequeno aplicativo. Isso é verdade ou não?

Alexei : Sim, é. Até recentemente, menos de um ano atrás, tínhamos um total de 10 pessoas: plataformas, back-end, análises e suporte. No momento, somos 25 na sala de bate-papo principal. Isso se deve ao fato de que, em primeiro lugar, alguns lugares, como apoio, estão se expandindo e surgiram algumas direções adicionais necessárias para as pessoas.

Roman : Todos esses estagiários que você convida vão para o desenvolvimento ou são distribuídos igualmente em todas as áreas da empresa?

Alexey: Aproximadamente igualmente. Como está indo isso? Chegam estudantes que precisam praticar. Dizemos a eles: "Olha, você pode fazer isso, aquilo e aquilo." Há várias tarefas diferentes no mundo real. Não inventado, mas que podemos, se bem feito, aproveitar para construir e usar. Eles escolhem o que mais gostam: alguns Android, alguns iOS, alguns back-end, alguns Web. Muitas tarefas em ciência de dados e aprendizado de máquina. Mesmo que muitos estudantes tenham chegado, nem todos acabam permanecendo, mas uma parte ainda se instala em nossa empresa e se torna nossos funcionários.

Dia de trabalho


Romano : É interessante ouvir como alguém constrói um dia de trabalho típico. Ilya, como está tudo acontecendo com você?

Ilya : Minha história não é muito típica, porque agora sou mais gerente do que desenvolvedor. Portanto, um dia de trabalho típico consiste em várias reuniões, várias reuniões paralelas, várias reuniões urgentes e vários outros casos que precisam ser resolvidos com urgência. Há um problema que você precisa chegar a tempo, mas algo não é necessário. Precisa priorizar . Isso é provavelmente o mais difícil do meu trabalho, porque você precisa entender o que deve fazer após 5 minutos e é aconselhável entender isso com antecedência.

Roman : Quando chefiei a equipe de desenvolvimento do Yandex.Browser, foi muito difícil ter várias reuniões no mesmo dia. Mesmo depois de duas horas de reuniões por dia, me senti espremido como um limão. Como você lida com esse fluxo?

Ilya : Acho que estou acostumado. Meu dia normal é de quatro reuniões, pelo menos . Eu me reservo algum tempo no calendário quando sei que preciso executar alguma tarefa técnica ou algo no projeto. Às vezes ainda tento contrabandear para algum lugar. Portanto, planejo as coisas no calendário. Eu sempre tenho um plano para a semana, o que devo definitivamente fazer.

A propósito, uma dica interessante: grave todos os seus assuntos em um rastreador de tarefas.

Por exemplo, todos os meus assuntos de trabalho e de não trabalho, que ainda estou fazendo reforma de casa ao mesmo tempo, estão em um Rastreador de tarefas. Esta é uma lista em que me dedico um dia de trabalho e faço isso. Ajuda a resolver problemas. Por exemplo, há meia hora entre as reuniões e parece que você não tem tempo para transferir nada e resolver nada importante, mas você pode executar algumas tarefas que não precisa realizar no caminho de casa à noite.

Romano : Acontece que você tem tarefas de trabalho e pessoais em algum lugar hospedado em um só lugar.

Ilya : Sim. Eu uso o Wunderlist para isso. Se falamos de tarefas de trabalho, ainda há um calendário e um pouco de Jira. Por exemplo, para AppsConf, usamos o Trello. Mas para mim, pessoalmente, o Trello não vai muito bem. Para minhas coisas, eu uso o Wunderlist.

Alexei : Ilya, você diz que possui seu próprio Wunderlist, no qual tem todas as tarefas. Como você o sincroniza com o que é usado no trabalho? A sincronização acontece manualmente ou há algo configurado para isso?

Ilya : Sim, à mão. Eu costumo pegar o quebra-cabeça para ir lá e ali. Não me leva muito tempo. Portanto, até agora esta opção me convém. Mas parece que existem algumas coisas prontas que você pode estragar e fazer de tudo. Mas até doer, eu não o resolvo.

Roman : Além de trabalhar no seu dia de trabalho, algo mais se encaixa? Por exemplo, um hobby. O que você está fazendo de manhã, à noite?

Ilya : Claro, o principal hobby é o reparo, como pode ser sem ele. Há muitas coisas relacionadas a algumas atividades adicionais: gravar um podcast, o que estamos fazendo agora ou preparar o AppsConf. Ainda há tempo suficiente para qualquer coisa. Às vezes, consigo dar um passeio à noite, mas esse é o máximo.

Alexei : Roma, você está desenvolvendo o iOS há muitos anos. Certamente você desenvolveu algumas abordagens testadas pelo tempo, que você usa para si mesmo. Como você constrói seu dia de trabalho?

Romano : Meu dia de trabalho é relativamente calmo em termos de reuniões. Todos os dias há um stand-up, somos sincronizados por nossa equipe distribuída. Várias pessoas estão em Moscou, a maioria em Novosibirsk. Como sempre, todos estão de pé, e nós também. Durante todo o tempo em que estou envolvido no desenvolvimento, tenho dois modos de operação.

  • O modo de fluxo , quando eu entendo o que precisa ser feito, e o pensamento flui como um rio. Não me contenho e não paro. Eu posso ficar sentado por até duas horas e escrever código.
  • O modo usado para tarefas com muita incerteza, para que eu entenda claramente se tenho progresso nessa tarefa incerta. Esta é uma técnica de Pomodoro , um cronômetro de 25 minutos. Antes do início dos próximos 25 minutos, defino um microgoal - no final, procuro ver se atingi a meta. Se eu não atingir o objetivo de três tomates seguidos - esta é uma ocasião para pensar: ou descanse ou superestime e aproxime a solução do outro lado.

Isso me ajuda muito. Além disso, é super útil desativar todos os mensageiros instantâneos e definir a renovação automática de mensagens uma vez por hora, ou melhor ainda, basta iniciar o cliente de email com suas próprias mãos e verificar o que atacou durante esse período.

Ilya : Aqui eu concordo plenamente com você. Decidi realizar um experimento e ativei o modo não perturbe no telefone. A única coisa que me resta são todas as chamadas recebidas. Nesse modo, moro na terceira semana. Porra, quão calmo ficou. Agora não me importo com vibrações, porque elas simplesmente não existem.

: 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 .

Meu processo de pensamento funciona melhor quando escrevo ou desenho o que está na minha cabeça agora.

Alexei : Escute, mas você não observou esse efeito na escala, se você alternar de um notebook ou apenas de folhas A4 para um quadro branco ou para um flipchart, então fica ainda melhor, está tentando atrair tanto entusiasmo assim. ?

Romano : Sim, sim. Eu até penso em fazer uma enorme placa em casa na parede, como fazem nos escritórios. Sim, realmente existe esse efeito e é até agradável pensar direito.

Alexei : Ouvi dizer que você pode cobrir as paredes com uma tinta especial que transforma a parede em um quadro, ou seja, você pode escrever e apagar na parede. Ilya está envolvida em reparos, me diga onde conseguir essa tinta?

Ilya : Sim, temos isso em nosso escritório - é fácil de fazer.

Romano : O tempo passou imperceptivelmente, proponho resumir e quero agradecer aos meus interlocutores e a você por ouvir ou ler.

Como conclusão, veja o convite de Alexei Mileev para o AppsConf . Ainda estamos trabalhando na versão completa do programa, mas os relatórios já foram aceitos:

  • Dmitry Gryazin sobre sua rica experiência trabalhando com testes de unidade e interface do usuário no desenvolvimento para Android.
  • Philip Uvarov sobre o desenvolvimento de plugins Gradle.
  • Ilya Tsarev sobre medos, expectativas e dura realidade ao passar para uma posição gerencial.

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


All Articles