Thursday 13 February 2014

[dcphp-dev] Re: Being a programmer at 55

Great post, Oscar.  I agree with a lot of what TheCodist wrote.  Sometimes I work longer when I am in the zone, and sometimes the chain pointers just won't hang together, so I go play with the dog.  And today I never underestimate the value of sleep to the logical/creative process!

Mostly the biggest difference that has come with age is learning the software funhouse of PHP and finally being smart enough to amass a teaching library of examples.  It really doesn't do me any good to remember all the nuances of an email pipe or a cURL post request, but on the occasions when I need the knowledge, I can go back to my well-documented example, with all of the comments that explained the key points.  A consequence of this discipline has been that I can address all of the small challenges much faster than I could have when I worked in older programming languages, where I did not keep detailed notes and well-commented examples.  And as we all know, the larger challenges are made up of small challenges.  My PHP library gives me the time I need to concentrate on other things that I'm not so good at, because I know I'll be able to blow through the PHP part of things. 

If I could give one bit of advice to any new programmer it would be, "Slow down, save your work, write good comments, and come back to it in a month (whether you need to or not) to see if the comments still make sense."  If I could give one bit of advice to any new programming team it would be, "Work together, collaborate, develop consensus around every difficult issue, then come back to it in a month and see if the decisions still make sense."  I worked for a while with a young man who measured his life by the number of commits.  He would work in isolation late into the night (sometimes into the morning) and when he came to the daily stand-up he was so sleep deprived that he couldn't explain what he had done the night before.  So we had to start reading his code in order to try to figure it out.  Invariably it was sparsely commented and often had the code smell of a self-absorbed thought process.  I never tried to prove it, but I harbored the idea that his contribution to the project was actually a net minus because of all the team time lost trying to understand what he was doing.  No doubt he was a brilliant problem solver at the algorithmic level.  I wonder how much more effective our team might have been if he had been more of a team player, more reflective and better able to express his ideas in natural language.  I am sure the team could have learned a lot from him.

Does it really take 10,000 hours to achieve proficiency?  Maybe not.  Maybe it takes 10,000 challenges.  It's interesting to try to handle the "help desk" activities for a while.  Deal with other people's problems.  It will teach you a lot about your own thought processes.  A good way to do this is tackle questions on Experts-Exchange or StackOverflow.  If you accept one challenge a day with your morning coffee, in a year you will have wrestled down a couple of hundred problems.  You'll have done some well and some not so well, but it will have given you a variety of interesting questions and it's a great way to get a head start on the teaching library.




On Wednesday, February 12, 2014 11:49:22 AM UTC-5, Oscar Merida wrote:

--
You received this message because you are subscribed to the Google
Group: "Washington, DC PHP Developers Group" - http://www.dcphp.net
To post, send email to washington-dcphp-group@googlegroups.com
To unsubscribe, send email to washington-dcphp-group+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/washington-dcphp-group?hl=en
---
You received this message because you are subscribed to the Google Groups "Washington, DC PHP Developers Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to washington-dcphp-group+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 comments:

Post a Comment