Edsger Dijkstra
O nome do blog, assim como tudo na vida, tem uma razão. Esse é o título de um artigo escrito por Robert Martin como uma resposta publica a outra artigo que criticava os hoje chamados de "artesão de software". Independente de discussões, criticas, denominações ou afins, se pode pegar um conhecimento valioso em torno desses artigos. E o tema humildade e a importância por trás do significado dessa palavra não é uma discussão recente, é possível pegar como exemplo o artigo intitulado "The Humble Programmer" que mesmo escrito na década de 70 mostra valores preciosos para os profissionais desenvolvedores de software ainda hoje.
Desenvolvimento de software não é uma ciência necessariamente exata, pois não aceita certo ou errado. Conceitos são muito mutáveis, o correto hoje pode ser errado amanhã. Assim como o aceito para uma circunstância não é necessariamente o correto em todas as outras similares que estão por vir. Entretanto, também não é uma ciência filosófica e abstrata onde algo correto pode se manifestar de várias vertentes equivalentes. É uma ciência dura e complexa que exige muito raciocínio, lógica, perguntas, abstrações, e é claro tentativa e erro. É uma ciência que exige pragmatismo e também humildade.
Nós não evoluímos através de acertos, e sim através de erros (nossos ou não). Só é possível afirmar que algo está ruim se houver um caso que demonstre na prática os motivos para isso, com argumentos sólidos. É disso que se trata os artigos citados, nós nunca sabemos de tudo e mesmo que soubéssemos, tudo pode subitamente mudar e o conhecimento adquirido se torna obsoleto. Segundo Uncle Bob, possivelmente a única forma de aprimoramento profissional é através de uma série de erros e um ciclo de aprendizagem contínuo.
É importante notar como evoluiu o papel de desenvolvedor no mundo, e chegamos hoje com os denominados artesão que buscam a perfeição. Audacioso, mas fantástico. Podemos pensar nesse tipo de utopia. Não faz muito tempo que, programadores que eram tidos como pedreiros do 3º milênio, com o único intuito de reproduzir código através de problemas solucionados pré-documentados. Hoje temos o ideal que o desenvolvimento não deve ser automatizado, e não pode ser pré-solucionados, é um trabalho manual e único feito por mestres em trabalho artesanal. Impossível de se aperfeiçoar sem muita dedicação e trabalho.
Estando nesse contexto histórico, nós como profissionais da área de desenvolvimento nada mais podemos fazer do que nos aperfeiçoarmos naquilo que fazemos. Nos profissionalizar ainda mais, mas conhecendo os nossos limites, como dito Edsger Dijkstra. E vivendo num mundo globalizado, onde o conhecimento é amplamente difundido seria muito arrogante de nossa parte deixar isso de lado, e não usar desses recursos para nos tornarmos profissionais melhores. E é esse o objetivo desse blog.
Assim como um programador sozinho não faz um programão, o blog tem o intuito de ser composto por vários autores que vêm de forma humilde expor o árduo e singelo conhecimento adquirido ao longo de uma carreira. É dito que uma boa forma de aprendizado a escrita, ela ativa mecanismos no cérebro que forçam a memorização de informações, assim como exige que se abstraia melhor o conteúdo para que seja possível explica-lo através de palavras. Também é de conhecimento comum aprender com exemplos e seguir os passos de profissionais renomeados, sendo assim se eles escrevem texto, livros e blogs, nada mais sensato do que também o fazer.
Textos citados:
https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html
https://blog.8thlight.com/uncle-bob/2013/02/01/The-Humble-Craftsman.html
Desenvolvimento de software não é uma ciência necessariamente exata, pois não aceita certo ou errado. Conceitos são muito mutáveis, o correto hoje pode ser errado amanhã. Assim como o aceito para uma circunstância não é necessariamente o correto em todas as outras similares que estão por vir. Entretanto, também não é uma ciência filosófica e abstrata onde algo correto pode se manifestar de várias vertentes equivalentes. É uma ciência dura e complexa que exige muito raciocínio, lógica, perguntas, abstrações, e é claro tentativa e erro. É uma ciência que exige pragmatismo e também humildade.
Nós não evoluímos através de acertos, e sim através de erros (nossos ou não). Só é possível afirmar que algo está ruim se houver um caso que demonstre na prática os motivos para isso, com argumentos sólidos. É disso que se trata os artigos citados, nós nunca sabemos de tudo e mesmo que soubéssemos, tudo pode subitamente mudar e o conhecimento adquirido se torna obsoleto. Segundo Uncle Bob, possivelmente a única forma de aprimoramento profissional é através de uma série de erros e um ciclo de aprendizagem contínuo.
É importante notar como evoluiu o papel de desenvolvedor no mundo, e chegamos hoje com os denominados artesão que buscam a perfeição. Audacioso, mas fantástico. Podemos pensar nesse tipo de utopia. Não faz muito tempo que, programadores que eram tidos como pedreiros do 3º milênio, com o único intuito de reproduzir código através de problemas solucionados pré-documentados. Hoje temos o ideal que o desenvolvimento não deve ser automatizado, e não pode ser pré-solucionados, é um trabalho manual e único feito por mestres em trabalho artesanal. Impossível de se aperfeiçoar sem muita dedicação e trabalho.
Estando nesse contexto histórico, nós como profissionais da área de desenvolvimento nada mais podemos fazer do que nos aperfeiçoarmos naquilo que fazemos. Nos profissionalizar ainda mais, mas conhecendo os nossos limites, como dito Edsger Dijkstra. E vivendo num mundo globalizado, onde o conhecimento é amplamente difundido seria muito arrogante de nossa parte deixar isso de lado, e não usar desses recursos para nos tornarmos profissionais melhores. E é esse o objetivo desse blog.
Assim como um programador sozinho não faz um programão, o blog tem o intuito de ser composto por vários autores que vêm de forma humilde expor o árduo e singelo conhecimento adquirido ao longo de uma carreira. É dito que uma boa forma de aprendizado a escrita, ela ativa mecanismos no cérebro que forçam a memorização de informações, assim como exige que se abstraia melhor o conteúdo para que seja possível explica-lo através de palavras. Também é de conhecimento comum aprender com exemplos e seguir os passos de profissionais renomeados, sendo assim se eles escrevem texto, livros e blogs, nada mais sensato do que também o fazer.
Textos citados:
https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html
https://blog.8thlight.com/uncle-bob/2013/02/01/The-Humble-Craftsman.html