As Leis Fundamentais Do Projeto De Software Na Visão De Um Desenvolvedor Android

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /As Leis Fundamentais Do Projeto De Software Na Visão De Um Desenvolvedor Android

As Leis Fundamentais Do Projeto De Software Na Visão De Um Desenvolvedor Android

Vinícius Thiengo
(1449) (3)
Go-ahead
"Não é quem você é que mantém você para trás. É quem você acha que você não é."
Denis Waitley
Kotlin Android
Capa do livro Mapas Android de Alta Qualidade - Masterização Android
TítuloMapas Android de Alta Qualidade - Masterização Android
CategoriasAndroid, Kotlin, Masterização, Especialização
AutorVinícius Thiengo
Edição
Ano2020
Capítulos11
Páginas166
Acessar Livro
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Tudo bem?

Eu quero começar este artigo com uma pergunta… provavelmente não tão simples de responder:

O que faz você pensar que quando em um projeto freelancer, por exemplo, até mesmo o tempo investido no estudo de alguma API em específico deve ser também tempo cobrado (R$)?

Soa charlatanismo, não?

Bom, ao menos para alguns desenvolvedores isso pode sim soar como uma prática mau-caráter…

a não ser que você aprenda isso com um engenheiro de software com mais de 20 anos de Vale do Silício e com carreiras em empresas como Google e LinkedIn.

Sim, qualquer tempo investido para a solução, implementação ou manutenção, de projeto deve ser cobrado. E não somente as linhas de código-fonte.

E o engenheiro de software que eu estou falando sobre vai além… de acordo com a experiência dele até mesmo comentários e espaços em branco contam como parte do trabalho remunerado.

No mundo comum (dos engenheiros desenvolvedores Brasileiros) o que eu acabei de lhe apresentar possivelmente soa muito estranho.

E não somente devido à "cobrar também por tempo investido em estudo de documentação", mas também porque no Brasil o comum é cobrar por dia de trabalho e não por horas de trabalho.

Como falei, quando alguém que está lhe dando esse ensinamento é alguém com um portfólio confiável. Então é sim válido internalizar e utilizar com sabedoria o conhecimento adquirido.

O livro "As Leis Fundamentais do Projeto de Software" de Max Kanat, o engenheiro que eu estava citando no início.

Este livro é o local onde você aprende esses e mais outros inúmeros pontos importantes na carreira de um desenvolvedor de aplicativos.

Capa do livro As Leis Fundamentais do Projeto de Software

O que pretendo fazer nesta resenha é, literalmente, convencer você a também investir tempo nesta leitura.

E novamente, já está até virando clichê isso aqui: não estou ganhando nem mesmo o livro para estar indicando essa leitura a ti.

E antes de continuar já lhe afirmo com segurança que o título "As Leis Fundamentais do Projeto de Software" é disparado o melhor livro sobre desenvolvimento de software que eu li até o momento em que escrevo este conteúdo.

E é isso mesmo: dentre todos os livros de desenvolvimento que eu já li.

E acredite, estamos falando de um livro de 2011 e com nada mais nada menos que somente 109 páginas além de capítulos curtos… sem nenhuma, absolutamente nenhuma linha de código.

E se você me acompanha a algum tempo, então é provável que você já tenha recebido alguma indicação minha de inúmeros outros livros de desenvolvimento.

Quando falo indicação é aquela indicação enfática, no modo: Você tem que ler!

E para mim está ok.

Pois eu não acredito que exista um único livro que pode ser utilizado como o "manual" completo em um determinado assunto.

Aliás, eu ainda acho o livro Padrões de Implementação de Kent Beck como uma das melhores obras na área de TI.

E sim, também li e gostei (não completamente) do popular Código Limpo de Robert Martin.

Mas sem sombra de dúvidas Max Kanat tem um livro que é preciso ser lido por todos aqueles que se dizem profissionais de desenvolvimento de software.

Veja bem…

você certamente já deve ter ouvido falar sobre a necessidade de ser simples, de evitar complexidade. Certo?

Nós com frequência ouvimos que boa parte do sucesso da Apple é devido à simplicidade de seus produtos (a parte de software eu discordo completamente).

Porém, entre ouvir e ter ciência de algo é completamente diferente de agir dessa maneira.

E cá para nós… agora assumindo o mesmo pensamento divulgado por Max Kanat no livro dele: até mesmo aplicativos dos mais simples estão cheios de complexidade.

Veja o nosso projeto Android de app framework para YouTubers.

São, seguramente, mais de 5.000 linhas de código para um projeto que:

Mais de CINCO MIL linhas de código.

Não são muitas as funcionalidades… mas têm característica neste projeto de app framework que é "peso morto". Ou seja, não serve de nada.

E por que?

Simples. Porque por algum motivo o complexo parece mais "NERD das Galáxias". Ou seja, impressiona mais.

E uma outra causa comum de geração de complexidade em projeto de software é a tentativa herege de prever problemas futuros e desde então tentar resolvê-los.

Isso é heresia. Period!

Essa é uma das maiores fontes de problemas em projetos de software: tentar resolver gargalos que ainda não existem.

O autor é enfático em vários trechos do livro sobre isso: somente dê atenção a problemas e soluções que estão no escopo do primeiro release do projeto.

Os problemas que aparentemente são "óbvios"… deixe-os primeiro aparecerem para depois se despender foco e energia neles.

Obviamente que eu e o autor estamos assumindo que o seu código está bem escrito. Ao menos tudo bem dividido e bem nomeado…

até porque isso é algo não discutível, é o mínimo esperado em qualquer projeto, independente do tamanho dele.

Outra coisa que o autor deixa claro como o "mínimo esperado" é a necessidade de um bom planejamento, projeto, antes de se iniciar a codificação.

E acredite, planejamento não é nem de perto tão divertido como programar. Mas provavelmente é mais importante do que programar.

A parte "codificar" é apenas um detalhe de um projeto de software muito bem planejado (diagramas, requisitos, protótipos, …).

Mas enfim… eu não quero ser o chato que escreve uma resenha maior do que o próprio livro.

Estou buscando ao máximo não deixar complexo algo que deve por obrigação ser simples.

Então se você chegou aqui, volto a enfatizar:

Leia o livro "As Leis Fundamentais do Projeto de Software".

Vai, sem sombra de dúvidas, valer cada centavo… e será algo rápido como a leitura de Lauren Ipsum.

E por fim um presente, um bônus para você que chegou até o final da resenha…

um outro excepcional título para investir parte de seu tempo logo ao final de "As Leis Fundamentais do Projeto de Software" é o título Como ser um programador melhor de Pete Goodliffe.

Capa do livro Como ser um programador melhor

Este é um livro mais completo e denso do que o livro foco desta resenha. Porém é um outro "manual" para qualquer desenvolvedor de software.

É o complemento mais… digamos… maduro de "As Leis Fundamentais do Projeto de Software".

Bom, é isso.

Se houverem dúvidas sobre o título ou se você quiser recomendar algum outro… deixe logo abaixo nos comentários.

E não se esqueça de se inscrever na lista de e-mails do Blog 📩  (que é gratuita) e assim receber também os conteúdos exclusivos que eu libero somente por lá.

Abraço.

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

Construa Um Aplicativo Android Completo Para YouTubers - Parte 1Construa Um Aplicativo Android Completo Para YouTubers - Parte 1Android
Como e Onde Monetizar o Aplicativo Framework - YouTuber Android App - Parte 15Como e Onde Monetizar o Aplicativo Framework - YouTuber Android App - Parte 15Android
A Arte de Escrever Programas Legíveis Na Visão de Um Dev AndroidA Arte de Escrever Programas Legíveis Na Visão de Um Dev AndroidAndroid
Entendendo Algoritmos Na Visão de Um Desenvolvedor AndroidEntendendo Algoritmos Na Visão de Um Desenvolvedor AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog (3)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Samuel (0) (0)
12/07/2021
Muito show o livro
Responder
Adriano Carvalho Batista (1) (0)
29/12/2020
Você é um ótimo vendendo de livro, mesmo antes de terminar a leitura da resenha já comprei o meu.

Obrigado pela resenha.
Responder
Vinícius Thiengo (0) (0)
29/12/2020
Adriano, tudo bem?

Nem me fale isso: "Você é um ótimo vendendo de livro".

Eu paguei o mesmo que você. E realmente parece que sou um "garoto propaganda" da Novatec e da O'Reilly.

De qualquer forma, acredite: o livro é excepcional.

É isso.

Abraço.
Responder