by Thierry de Pauw on
Developing Developers, Ivan Zimine
How to grow developers.
Programs must be written for people to read, and only incidentally for machines to execute.
-- Hal Abelson, Structure and Interpretation of Computer Programs
Reading is good but is not enough. You don't always understand everything that is being written.
You also need guidance from somebody that explains you in which direction you should go.
I started working with Terry.
There is a before and after Terry.
Terry is really hard. I thought I knew how to program.
New language, a new framework (Ruby on Rails) and new way of working.
If you have enough tests and they are all green, you don't need this whole baggage "you may not do this, not do that, ...". As long as your tests are green, it prevents you from writing too much/unnecessary code.
Imposter Syndrome prevents us from asking questions. The earlier you ask questions, the earlier you improve.
About Mob Programming/Pair Programming:
For an idea to go from someone's head into the computer it must go through someone else's hands.
-- Llewellyn Falco used to work with Woody Zuil
=> You must first express your idea before you can program it.
Mobbing: Navigator (tells the driver what needs to be done), Driver (hands on the keyboard) and Observers (things of the next move)
this requires practice: telling someone what needs to be done.
TDD vs BDD people: bottom-up vs top-down
they are trying to solve the same thing but they attack it from a different direction.
For Mob Programming to be effective: ergonomics is important.
=> big table, screen far enough, not two screens for Driver and Navigator but one screen, good chairs, ...
You have the problem to solve, the programming language/technique and the editor/environment you use. As a software engineer, you are constantly micro switching between these 3 things. That's why programming is so hard.
Tips for practice sessions:
- practice regularly
- do it in a group
- allow others to surprise you
- try several new things at the same time
- let naive and/or disruptive people participate
To improve your programming skills:
go to different conference formats like SoCraTes