When I was young (about 16 or 17 years old), I remember writing in my notebook something that goes like this:
(I was aspiring to become a pastor during that time)
When you are already a pastor, and you need to make some major decisions, make sure to also consult people who are much younger than you, because they might have some ideas that you and the older people failed to consider.
(TLDR: This is just my story of how I got more convinced that this “Copenhagen Interpretation” thing, this idea of “something being in two different states at the same time”, is not right. If you do not like stories, you can stop reading at this point. )
During the panel discussion at the DevCon Davao 2017 last October 7, the panelists talked about the number of programmers needed by the industry versus the number of programmers being produced by the academia.
One of the panelists said that the industry needs about 5000 programmers every year (if I am not mistaken), but the academia only produces more than 1000 graduates per year. The academia is not able to meet the demand for programmers.
But what if there is another solution to this problem?
About four weeks before my talk for DevCon Davao 2017 last October 7, I started reading the “Rough Cuts” of Uncle Bob Martin’s book “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” available at Safari Books Online. (I might find gems in it I can use to answer questions that might be thrown at me during the talk! )
The book was very good. Some blurry concepts, which I read in Uncle Bob’s blog and heard in his talks, were cleared.
But in chapter four of the book, he said this:
Of course, not all statements are provable. The statement: “This is a lie.” is neither true nor false. It is one of the simplest examples of a statement that is not provable.
Disclaimer first: I’m not a scientist. I only learned a bit about how things work in the world of science (what laws or theories are, for example) through Dr. Werner Gitt’s talk titled “In the Beginning was Information”
But I read someone in the past who said that when we, normal (non-scientist) people, hear the word scientist, what we have in mind is someone wearing a lab gown, experimenting with things in a neutral fashion and presenting the results, in an unbiased way, of those experiments when they are done.
Then the author went on to say that that is not always the case.
“… I’ve been surprised by the reactions to these ideas. I understand that people naturally resist change; and that lots of programmers aren’t used to the ideas of decoupling (read that clause several times and weep). But this is not some new idea that occurred to me out of the blue. These ideas are old…”
When I first heard about “pair programming” a few years ago, I fell in love with it.
I thought to myself that this will be a great way to learn from someone else; much better than code review!
I can see firsthand how a master does his work, and I can have someone to guide me with my work! Wow! It is a good way of doing the “transfer of knowledge” thing (which I first heard from my first boss).
It is a great help in minimizing the mistakes that I might put into a codebase, because someone else is looking at my work in real time, which of course will make me confident about my work.
I hoped that someday I will be able to experience doing pair programming.