Já há algum tempo que não fazemos uma pausa na nossa revisão semanal de artigos técnicos interessantes, provavelmente devido à sobrecarga de trabalhos de projeto. No entanto, aqui vamos nós de novo com a missão de encontrar, rever e entregar-lhe semanalmente conteúdos de grande valor para líderes de engenharia e programadores de software.
Porque é que o estamos a fazer?
-
A partilha de conhecimentos é crucial para o desenvolvimento de competências tecnológicas e nós preocupamo-nos com isso.
-
Para ajudar os líderes de engenharia a encontrarem as soluções de que necessitam para tomar decisões baseadas em provas nas suas projectos de software.
-
Acreditamos firmemente no poder da autoeducação, esforçando-nos sempre por aprender coisas novas e por nos fortalecermos, 1% de cada vez
-
Há imensos conteúdos tecnológicos de grande qualidade em linha que merecem mais destaque e estamos prestes a dar crédito onde ele é devido
Construção de um roteiro para esta série, realizei um inquérito no LinkedIn para perguntar CTOs e gestores de engenharia sobre os seus principais desafios num 2020 já suficientemente difícil e para além dele.
Eis o que eles disseram:

Sem mais delongas, deixe-me convidá-lo para o primeiro episódio de TheCodestReview com a contribuição de nosso CTO, Chefe de Desenvolvimento e Líder de Frontend cobrindo os tópicos abaixo:
"O vosso sistema tem um estrangulamento. Algures!" - quando lutamos para melhorar o desempenho da aplicação, esquecemo-nos das principais limitações do sistema, talvez não sejam os elementos mais populares da aplicação, mas podem ter um efeito negativo no resto e o escalonamento pode não ajudar nós aqui.
"A monitorização é fundamental para sistemas escaláveis" - não podemos ser cegos na nossa atividade e é melhor sabermos do problema antes de sermos informados pelos utilizadores ou pelo nosso CEO. A monitorização é a chave para a fiabilidade.
"A camada de dados é a mais difícil de escalar" - A base de dados é o coração da nossa aplicação e, como qualquer coração, é difícil cortá-la sem afetar o nosso sistema venoso, pelo que é frequentemente o nosso ponto de estrangulamento. Por outro lado, quanto mais tempo estivermos na mercadoQuanto mais dados processamos, mais difícil é manter o desempenho esperado.
No artigo mencionado, o autor destaca alguns aspectos específicos da arquitetura de aplicações de elevado desempenho. Ao longo dos anos, aprendemos a utilizar soluções como AWS ou Azulejo, mas mesmo os melhores nuvem não nos protege de nós próprios. Quando criamos uma aplicação, não nos concentramos em resolver problemas que estão ausentes, prevendo-os à partida. Por conseguinte, deparamo-nos com muitos problemas mais tarde, quando a nossa aplicação cresce. O autor do artigo dá-nos muitas dicas valiosas sobre onde procurar otimização, qual é o maior problema e como este afecta a sua aplicação. Pondo em causa os meus muitos anos de experiência no sector, concordo plenamente com o Ian. Gostaria também de acrescentar que os conselhos fornecidos no artigo se aplicam a todas as aplicações que mantemos. A implementação destas diretrizes trará benefícios para a projeto ao nível da sua fiabilidade e previsibilidade, que é uma caraterística importante para crescimento das empresas.
- As medidas de desempenho habitualmente utilizadas não são estritamente técnicas
- A velocidade de entrega do software é mensurável, mas os indicadores utilizados devem ser corretamente interpretados para que a otimização obtenha o efeito desejado
- O mais eficaz equipa é uma equipa bem coordenada e com boas ligações - os líderes de engenharia devem compreender os problemas e as motivações dos programadores e vice-versa para obter efeitos saudáveis e sinérgicos.
Juan Pablo Buritica levantou um tema que ainda parece ser um nicho. As pessoas que gerem projectos de TI adoptam frequentemente algumas medidas de eficiência (como o gráfico burndown básico no JIRA), mas estas ainda não estão estreitamente correlacionadas com as entregas de código partes para otimizar o processo de entrega de software com base neles. Normalmente, a otimização diz respeito à distribuição de tarefas e à comunicação dentro da equipa, mas é raro acompanhar indicadores estritamente técnicos que o autor menciona, por exemplo, "tempo para fundir". Na era dos ganchos web do GitHub e dos sistemas de gestão de tarefas abertos à integração, este tipo de abordagem torna-se relativamente fácil de aplicar - os dados estão na ponta dos dedos, só precisa de os alcançar e de os processar da forma correta.
O autor chama a atenção, e com razão, para o facto de as estatísticas que descreve poderem rapidamente virar-se contra o equipa de desenvolvimentoMas isso só acontece quando a equipa de gestão não compreende totalmente as especificidades do trabalho do programador. Por conseguinte, é importante que o PM ou PO tenha conhecimentos técnicos e seja capaz de perceber o que está por detrás das tarefas individuais no sistema.
Na era de uma pandemia, em que um grande número de trabalhadores mudou para trabalho remoto No entanto, se o utilizador não tiver a certeza de que a sua palavra-passe é a mesma ou muito semelhante em todo o lado, não se apercebe do perigo que lhe está associado. Um bom exemplo é a situação citada por Dan, em que os utilizadores utilizam as mesmas palavras-passe ou palavras-passe muito semelhantes em todo o lado e não estão conscientes do perigo que lhes está associado.
Se utilizar as mesmas palavras-passe em muitos sítios, pode acontecer que um dos sítios tenha "problemas de segurança", que a base de dados seja divulgada na Internet ou que alguém o veja a introduzir uma palavra-passe que acidentalmente abre todas as suas portas. Na minha opinião, todos os serviços em linha deveriam informá-lo sobre o perigo associado à introdução da mesma palavra-passe durante o processo de registo.
O Single Sing On (SSO) ou a utilização de gestores de palavras-passe como o One Identity ou o LastPass são muito úteis para manter as normas básicas de higiene e segurança em linha, protegendo os nossos empregados e locais de trabalho de vulnerabilidades e ameaças digitais.
Dá formação aos seus empregados sobre a gestão consciente de palavras-passe?
Obrigado por lerem até ao fim e fiquem atentos ao próximo episódio que está para breve!