Primeiramente, o que são Testes Automatizados? Para simplificar o que é um teste automatizado,…
Cinco itens que não podem faltar na jornada dev
Não tem coisa melhor do que pegar a estrada, sem hora pra voltar, e conhecer os lugares que a gente sempre quis, não é mesmo?
Viagens como esta não começam no primeiro passo. Começam um pouco antes: quando aprontamos as malas. A princípio, a vontade é de colocar tudo dentro delas. “Vai que precisamos daquele cortador de unha? Mas seria muito peso…”.
E não tem coisa pior do que viajar com muita tralha. Especialmente se a viagem for longa. O que fazemos, então, é colocar na mala apenas aquilo que é essencial para os primeiros dias. As demais coisas, estas nós pegamos no caminho mesmo.
Se pensarmos a nossa vida profissional como uma viagem, a faculdade é este momento de aprontar as malas. É nela que adquirimos o conhecimento necessário para vencer os primeiros quilômetros da carreira.
Entretanto, conforme a estrada avança, novos conhecimentos precisam ser conquistados; outros precisam ser aprimorados. E se você tivesse uma listinha de itens que não podem faltar na sua bagagem? Continue no artigo que temos uma lista especialmente preparada pra você.
1 – O primeiro item, com certeza, é imprescindível: Clean Code
As empresas hoje não precisam apenas de um código que funcione. Quando você percebe que a maior parte do tempo e dinheiro gasto em software é na sua manutenção, codificar com clareza e com facilidade de leitura é economia de dinheiro.
Como diz Martin Fowler: “Qualquer um pode escrever um código que o computador entenda, mas o verdadeiro desenvolvedor escreve código que outro desenvolvedor entenda”.
Clean Code basicamente é isso: você escrever código claro, que seja de rápida e fácil compreensão. E existem técnicas pra isso.
Estas técnicas estão bem descritas no livro “Clean Code” de Robert C. Martin. Não é um livro muito extenso, apesar dos vários exemplos de refatoração de código, pensados para que você consiga entender melhor os conceitos apresentados pelo “Uncle Bob”.
Quando o seu código já estiver limpinho, brilhando, talvez seja a hora de você deixa-lo mais sólido.
Por isso, nenhuma bagagem está completa sem o segundo item dessa lista.
2- Os conceitos de SOLID.
SOLID, na verdade, é um acrônimo para Single responsability principle, Open/Closed principle, Liskov substitution principle, Interface segregation principle e Dependency inversion principle.
Como pode ter ficado claro, SOLID é um conjunto de princípio que, assim como o Clean Code, garantem a qualidade do seu código. Agora em um nível superior.
Enquanto o Clean Code vai falar sobre nomes de variáveis, corpo e nomenclatura de funções, o SOLID vai subir um pouco mais para o nível arquitetural do seu projeto, te ajudando a organizar melhor as suas classes, diminuindo acoplamento, aumentando o reuso de código, permitindo o uso de testes unitários e aumentando significativamente a manutenabilidade do software. E como já dissemos, a manutenção de sistemas é crítica. Todo ganho nesta etapa é bem vindo.
Existe muito material na internet discutindo amplamente este assunto em detalhes. Particularmente aconselho o blog do André Celestino, meu amigo pessoal, que aborda detalhadamente todos os conceitos SOLID. A linguagem que ele usa pra exemplificar é Delphi, mas os conceitos são válidos para qualquer linguagem.
E quando você estiver craque em SOLID, talvez comece a perceber alguma dificuldade no design das tuas classes. Você vai começar a perceber a necessidade de criar algumas classes que não tem ligação nenhuma com o negócio modelado, mas que podem ajudar as coisas a funcionarem.
Adicione aí na sua lista o próximo item deste texto!
3 – Os Padrões de Projeto.
Seguindo a nossa analogia da viagem, pense que você encontrou algumas pessoas no bar e está perguntando o melhor caminho para o seu destino. Essas pessoas vão fazer comentários sobre a estrada, sugerir atalhos, contar o caminho das pedras. Assim são os padrões de projeto.
Os problemas de software – por mais diferentes que os softwares sejam – são comuns entre si. Alguns desenvolvedores percebendo isso, criaram o primeiro livro de Padrões de Projeto (“Design Patterns” de Gamma, Vissides, Johnson e Helm). Este primeiro livro é um catálogo de 23 padrões de projeto, que na minha opinião, são os principais para o desenvolvedor iniciante. Mas existem muitos outros padrões, presentes nos mais diversos frameworks e que valem a pena serem estudados.
Se você dominar estes conceitos, com certeza já será um dev “quase” acima da média. Espero que haja mais espaço na sua lista para mais algumas coisinhas, como por exemplo:
4 – O Codificador Limpo.
Saber escrever bom código não será suficiente para você. Aliás, esse é o mínimo que se espera de um programador. Para subir na carreira, você precisa ler o livro do Robert Martin: O codificador limpo. Neste livro, o autor dá conselhos, dicas e até mesmo exemplos de como se comportar em determinadas situações da vida profissional.
Uma das muitas frases importantes desse livro é “Desenvolvedores tratam prazos como chute. Os Stakeholders tratam como compromisso”. Como você reagiria se o teu chefe pedisse uma tela importante do sistema para amanhã? Este livro é sobre situações desse gênero.
5 – E por falar em prazo, você já ouviu falar em SCRUM, Kanban, Lean, Safe…?
Pois é. Essa sopa de letrinhas compreende a maior parte das metodologias de produção de software. Ainda existem aquelas em que o seu chefe chega e fala “faz aí até terça”. Mas o fim dessas está próximo. Isto porque as metodologias de trabalho ajudam a serializar tarefas, dividir responsabilidades, garantir qualidade, garantir os prazos de entrega e principalmente: identificar problemas e reagir de maneira rápida e assertiva.
Minha dica é: não tenha medo. É bem mais simples do que você imagina. E essa é a mágica: com coisas tão simples como post-it e caneta, você consegue gerir o trabalho de meses!
Dica extra: Para onde eu devo ir?
Agora que a mala está pronta, talvez seja o momento de você começar a pensar no destino. Quando sair da faculdade, onde você deseja trabalhar? Quer abrir o próprio negócio?
Nos meus 15 anos de experiência, cheguei a conclusão de que existem 3 tipos de empresa. A Empresa-Salário, A Empresa-que-estou-fazendo-aqui? e a Empresa-de-Futuro.
A Empresa-Salário é aquela empresa familiar que só quer garantir um “salário melhor” para o seu dono no fim do mês. Ela não está realmente preocupada com o seu bem-estar nem em crescer. Quando o dono dela morrer, a empresa morrerá junto com ele. E quando você perceber, terá investido grande parte da sua vida em um lugar que te levou a lugar nenhum.
Fuja dessa empresa!
A Empresa-Que-Estou-Fazendo-Aqui? É muito parecida com a primeira. A diferença é que ela cresceu. Mas não sabe como. O proprietário está feliz com a camionete e o salário gordo que ganha. Talvez até tenha um pebolim na empresa. Mas não passa disso. Lembra do Kanban, SCRUM…? Eles não fazem ideia do que seja. Métricas? Pra quê?! O problema dessas empresas é que, como não sabem como chegaram, também não sabem como se manter onde estão. E quando um grande player chegar para dividir o mercado, ela não estará preparada. Provavelmente estará atrasada demais e não terá fôlego para implantar, em pouco tempo, todas as melhorias necessárias.
Você pode até estar lá dentro. Você vai aprender algumas coisas, mas não planeje muitos aniversários lá.
Prefira trabalhar na Empresa-de-futuro!
Em Maringá temos a sorte de ter várias empresas com esse perfil. São empresas que sabe onde são e a sua representatividade no mercado de software. Conhecem o seu tamanho e o porquê de estarem onde estão. Elas têm métricas e auditorias constantes.
Gostam de desafios e de estar em constante atualização. É o tipo de empresa que compreende que você, desenvolvedor, é peça chave para o sucesso da mesma. E por isso investe em qualidade de vida; quer ver você feliz. Ter uma Empresa-de-futuro no currículo é um ótimo diferencial. Vai dizer para qualquer contratante que você é fera!
E para você que quer empreender, a minha única dica é: trabalhe em alguma empresa.
Não estou falando pra você desistir. Imagine! Corra atrás dos teus sonhos. A questão é que trabalhar em uma boa empresa (uma empresa-de-futuro) vai te ajudar a ter uma noção de como a sua empresa pode ser. Ter contato com o público, vai te dar as perícias necessárias para tratar com os teus clientes. Ser um bom profissional vai te ajudar a identificar bons profissionais para o teu negócio. Não pense na segunda-feira como uma nova semana de trabalho. Pense em uma semana a menos de estágio.
Isso é tudo o que você precisam para a sua viagem? Claro que não! Tem mil outras ferramentas e materiais que seriam ótimos na sua bagagem. Mas se você gastar muito tempo fazendo as malas, podem perder o trem da sua história. A listinha de hoje já dá pra dar os primeiros passos. Se quiser ir mais longe, fica com você a tarefa de completar a listinha.
Um abraço, sucesso na viagem… E não esqueça de levar um casaquinho.
This Post Has 0 Comments