Atlanta PHP Talk 5/30/17: “How to be a better programmer”
The Atlanta PHP meetup took place at the offices of Shootproof which provides a variety of software products aimed at photographers on the perimeter of Atlanta around the intersection of I-75/I-285. The talk was given by a man named Micah who leads a team of 8 software engineers focusing on enterprise wordpress development.
The basic thrust of his talk was that there is a particular kind of learning curve that applies to ever new thing/area of knowledge that affects people of all skill levels. Micah believes this applies to most areas of life not just web development.
“The better understanding that these various stages exist helps us keep on track and avoid being distracted in too many directions. Being drawn in too many different directions results in not reaching levels of experience or mastery in particular things after we get through stages of over-confidence and doubt.”
Micah worked through particular stages with the help of a graph called the Competence-Confidence curve:
The most interesting thing I tookaway was the idea that this curve really does apply to every new area of knowledge of varying sizes. Some topics maybe can be mastered in 15 minutes and some many years but there is usually a period of over-confidence or miscalculation early on and some kind of doubt or period of adjustment where you really aren’t sure of your skills.
Micah had various reccomendations for getting througn these stages represented by the annotations with curly brackets at the top of the graph.
A lot of the things in the talk were those kind of classic pieces of advice that seem obvious but are worthwhile to re-affirm as simple as getting the right amount of sleep and time-boxing projects.
Micah emphasized the importance of feedback loops.In practical terms this includes a focus on keeping development as locally accesible as possible instead of developing remotely or manually pushing changes to a remote after each change.
Micah also had specific good advice about how to use Google and debug tools to keep the feedback loop alive in development (paraphrasing):
“Google is your friend - but if you cant find the answer in 10 minutes the feedback loop is lost. You are better off to get back to the console / dumping variables and do rough stabs at the problem to narrow it down than keep googling but focusing on your mastery of debug tools is the best option for this.
He made other points including:
Collaboration - working with people is the best cure to avoid comparing yourself to others.
Pair Programming - importance of remotely pair program when possible as it allows one person to “drive” even if they aren’t familiar with some particular code as it doesn’t hold another person up from coding who is familiar/ aids learning process.
Quoted the stat that we spend 90% time reading code, much more than writing, as most of the work is diagnosing the problem first.
Micah reccomended PHP Storm as an IDE he uses. (encouraging for Mike and that we appear to be in a good direction with adopting PHP Storm)