Os tais side projects
Sou desenvolvedor iOS, trabalho CLT em uma empresa 8hrs por dia 5 dias por semana. Minha mente não para de ter idéias de novos aplicativos, possibilidades, principalmente relacionadas as coisas que gosto. E agora, como dar vazão a essas idéias todas? Como controlar o tempo?
Parece clichê, mas eu sempre fui (desde a aquisição do meu iPad 2) rato da app Store. Baixava sempre uns 3 apps por vez, para ver o que eles faziam e como eram. Fascinado por esse mundo, me profissionalizei na área. Trabalhar com iOS hoje demanda constante atualização (e não, não estou falando do sisema operacional e sim de você mesmo). Que tal unir o útil ao agradável?
Quando trabalhamos com iOS em alguma empresa, geralmente nos é imposta uma arquitetura/esquema de trabalho. O objetivo é ajudar a coordenar os muitos desenvolvedores do projeto, mantendo todos em sincronia. As vezes mudamos de projeto e aí mudam as especificações, mas a frequência com que isso acontece é inversamente proporcional a frequência com que a Apple lança API's novas. Os side projects solucionam esse problema, e vou oferecer um passo a passo para você iniciar nesse mundo.
- Pré — requisito: Tenha um mac pessoal com o ambiente de desenvolvimento rodando de maneira satisfatória. De nada adianta você ficar 5 horas esperando um app seu buildar, as coisas tem que fluir. É caro, mas garanto que vale o investimento. Aqui vale uma informação sobre tempo: Estipule uma quantidade pequena/razoável de tempo para se dedicar nesse projeto. Geralmente eu faço 1h por dia (as vezes um pouco mais, e as vezes menos). Fins de semana são bons concentradores de tempo então você pode aproveitar uma foga para dar uma adiantada em algo que esteja tomando muito tempo.
- Alguns apps ajudam a organizar as idéias, tirar ela da cabeça e colocar no papel de maneira muito rápida. Os que eu utilizo mais são os nativos da Apple, notas e Keynote. Com eles fica fácil fazer anotações e até criar um mini protótipo do funcionamento do app. Lá na frente isso será útil. Caso você perceba que a idéia não se desenvolve no papel, parta para outra, mas deixe suas anotações guardadas, o futuro é incerto.
- Uma vez que temos as idéias organizadas é hora de colocar a mão na massa. Se não sabe git, hora de aprender. Antes de sair codificando, precisamos organizar as tarefas que temos que fazer, tal qual em uma empresa os PM's/PO's fazem. Para isso costumo utilizar o software trello. É fácil criar um board e organizar da maneira que faça mais sentido pra você. Serve como um concentrador de informações também.
- Chegou a hora mais aguardada. Os passos anteriores levam no máximo umas 6 horas, e como o tempo é escasso vamos aproveitar muito a parte da codificação. Aqui o caminho é livre: Quero aprender clean-swift? Não sei muito bem como funciona o Core-Data? Adoraria fazer um app para Apple Watch… Essas são perguntas que te ajudam a guiar o desenvolvimento.
- Escreva artigos sobre o que você anda aprendendo. Sua confiança vai estar lá no alto pois o assunto estará fresco. Não importa se o tema é muito simples ou complexo, você estará passando a sua visão do mesmo.
- Fique ligado, às vezes surgem novas idéias e esses processos podem ocorrer em paralelo. Salve seus apps em repositórios git e em backups locais (se possível claro)
- Tenho um app semi pronto (TL;DR os apps nunca estão prontos). Publicar ou não publicar na loja?. Nesse ponto tem que analisar os prós e os contras. Publicar, vai te trazer um ganho significativo no currículo, bem como experiência com publicação, ao custo de $99 anuais. Não publicar, vai te trazer a economia dessa grana ai (e não é pouca), bem como permitir uma maior liberdade com o produto que você construiu, deixando o mesmo em um estado customizável por exemplo.
Chego ao final com a missão cumprida de instigar a sua cabeça de desenvolvedor a se aprofundar cada vez mais na tecnologia, unindo seus temas de interesse em projetos totalmente seus.
Se quiser conhecer um side project meu que está publicado na loja, acesse http://bit.ly/MegaWatchApp
Se quiser ler o artigo correspondente acesse Aplicativo para Apple Watch com SwiftUI.
Se você possui apple watch, estou disponibilizando aqui dois códigos promocionais para o app abaixo gratuitamente. Corre porque o primeiro que pegar leva.
ETWFFY9AY77J
YPKMAHLXNPXM