Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

In The Shadow Of The Ninja

3,155 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

In The Shadow Of The Ninja

  1. 1. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  2. 2. In The Shadow Of The Ninja Biding Your Time While Plotting Your Coup Zachary Burnham Energy Federation Incorporated May 27, 2011
  3. 3. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  4. 4. So who is this guy, anyway?Zend Certified Engineer (5.3)Zend Framework contributorphp|architect Technical EditorFull time php developer at Energy Federation Incorporated (http://www.energyfederation.org, http://www.efi.org)I’m just this guy, you know?zburnham@gmail.com, @zburnham, http://www.zacharyburnham.com Zachary Burnham Energy Federation Incorporated May 27, 2011
  5. 5. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  6. 6. .ninja { color: black; visibility: hidden;} What is a “Code Ninja”? Zachary Burnham Energy Federation Incorporated May 27, 2011
  7. 7. class Zach extends Huge_Nerd{ ... protected $isNinja = false; ...} Zachary Burnham Energy Federation Incorporated May 27, 2011
  8. 8. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  9. 9. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  10. 10. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  11. 11. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  12. 12. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  13. 13. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  14. 14. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  15. 15. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  16. 16. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project? Zachary Burnham Energy Federation Incorporated May 27, 2011
  17. 17. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project?2. Did they come in with less than optimal coding habits/styles/philosophies? Zachary Burnham Energy Federation Incorporated May 27, 2011
  18. 18. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project?2. Did they come in with less than optimal coding habits/styles/philosophies?3. What core technologies did you expect them to be familiar with, other than theprogramming language in question? What was the reality? Zachary Burnham Energy Federation Incorporated May 27, 2011
  19. 19. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project?2. Did they come in with less than optimal coding habits/styles/philosophies?3. What core technologies did you expect them to be familiar with, other than theprogramming language in question? What was the reality?4. Have you ever been in a position to interview someone for a junior or mid-levelposition? Recently?4a. What questions did you ask in that interview? Zachary Burnham Energy Federation Incorporated May 27, 2011
  20. 20. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project?2. Did they come in with less than optimal coding habits/styles/philosophies?3. What core technologies did you expect them to be familiar with, other than theprogramming language in question? What was the reality?4. Have you ever been in a position to interview someone for a junior or mid-levelposition? Recently?4a. What questions did you ask in that interview?5. If a mid-level coder came to you and asked what technologies they shouldfamiliarize themselves with in order to progress to a senior level, what would you tellthem? And, why those particular technologies? Zachary Burnham Energy Federation Incorporated May 27, 2011
  21. 21. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project?2. Did they come in with less than optimal coding habits/styles/philosophies?3. What core technologies did you expect them to be familiar with, other than theprogramming language in question? What was the reality?4. Have you ever been in a position to interview someone for a junior or mid-levelposition? Recently?4a. What questions did you ask in that interview?5. If a mid-level coder came to you and asked what technologies they shouldfamiliarize themselves with in order to progress to a senior level, what would you tellthem? And, why those particular technologies?6. How long is a reasonable time-frame for a mid-level coder to becomesenior, if they follow your advice? Zachary Burnham Energy Federation Incorporated May 27, 2011
  22. 22. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project?2. Did they come in with less than optimal coding habits/styles/philosophies?3. What core technologies did you expect them to be familiar with, other than theprogramming language in question? What was the reality?4. Have you ever been in a position to interview someone for a junior or mid-levelposition? Recently?4a. What questions did you ask in that interview?5. If a mid-level coder came to you and asked what technologies they shouldfamiliarize themselves with in order to progress to a senior level, what would you tellthem? And, why those particular technologies?6. How long is a reasonable time-frame for a mid-level coder to becomesenior, if they follow your advice?7. What resources would you recommend? (ie community, sites,books, etc) Zachary Burnham Energy Federation Incorporated May 27, 2011
  23. 23. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project?2. Did they come in with less than optimal coding habits/styles/philosophies?3. What core technologies did you expect them to be familiar with, other than theprogramming language in question? What was the reality?4. Have you ever been in a position to interview someone for a junior or mid-levelposition? Recently?4a. What questions did you ask in that interview?5. If a mid-level coder came to you and asked what technologies they shouldfamiliarize themselves with in order to progress to a senior level, what would you tellthem? And, why those particular technologies?6. How long is a reasonable time-frame for a mid-level coder to becomesenior, if they follow your advice?7. What resources would you recommend? (ie community, sites,books, etc)8. How do you measure junior coders productivity, if youre in aposition to do so? Zachary Burnham Energy Federation Incorporated May 27, 2011
  24. 24. 1. Have you been in a position recently to have to orient a junior- to mid-leveldeveloper? What was the nature of the project?2. Did they come in with less than optimal coding habits/styles/philosophies?3. What core technologies did you expect them to be familiar with, other than theprogramming language in question? What was the reality?4. Have you ever been in a position to interview someone for a junior or mid-levelposition? Recently?4a. What questions did you ask in that interview?5. If a mid-level coder came to you and asked what technologies they shouldfamiliarize themselves with in order to progress to a senior level, what would you tellthem? And, why those particular technologies?6. How long is a reasonable time-frame for a mid-level coder to becomesenior, if they follow your advice?7. What resources would you recommend? (ie community, sites,books, etc)8. How do you measure junior coders productivity, if youre in aposition to do so?9. Any general advice that youd give a mid-level coder? Zachary Burnham Energy Federation Incorporated May 27, 2011
  25. 25. IRC Zachary Burnham Energy Federation Incorporated May 27, 2011
  26. 26. IRC Freenode IRC net work, irc.freenode.net #phpchttp://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial Zachary Burnham Energy Federation Incorporated May 27, 2011
  27. 27. 1. Have you been in aposition recently to have toorient a junior- to mid-level developer? What was the nature of the project? Zachary Burnham Energy Federation Incorporated May 27, 2011
  28. 28. 1. Have you been in aposition recently to have toorient a junior- to mid-level developer? What was the nature of the project? Zachary Burnham Energy Federation Incorporated May 27, 2011
  29. 29. function destruct($object){ if (is_array($object)) { foreach ($object as $obj) { destruct($obj); 2. Did they come in with } } elseif (is_object($object)) { less than optimal coding if (in_array(‘__destruct’, get_class_methods($object ))) { habits/styles/ $object->__destruct(); } } philosophies? unset($object);} (yes, that’s Magento code) Zachary Burnham Energy Federation Incorporated May 27, 2011
  30. 30. 3. What core technologies didyou expect them to be familiar with, other than the programming language in question? What was the reality? Zachary Burnham Energy Federation Incorporated May 27, 2011
  31. 31. 4. Have you ever been in a position to interview someone for a junior or mid-level position? Recently? 4a. What questions didyou ask in that interview? Zachary Burnham Energy Federation Incorporated May 27, 2011
  32. 32. 5. If a mid-level coder came to you and asked what technologies they should familiarizethemselves with in order to progress to a senior level,what would you tell them? And, why those particular technologies? Zachary Burnham Energy Federation Incorporated May 27, 2011
  33. 33. 6. How long is a reasonable time-frame for a mid-levelcoder to become senior, if they follow your advice? Zachary Burnham Energy Federation Incorporated May 27, 2011
  34. 34. 7. What resources would you recommend? (iecommunity, sites, books, etc) Zachary Burnham Energy Federation Incorporated May 27, 2011
  35. 35. 8. How do you measure junior codersproductivity, if youre in a position to do so? Zachary Burnham Energy Federation Incorporated May 27, 2011
  36. 36. 9. Any general advice thatyoud give a mid-level coder? Zachary Burnham Energy Federation Incorporated May 27, 2011
  37. 37. Ben Ramsey is the Vice President of Engineering at Moontoast, the SocialCommerce Network. He is also a leader in the PHP community—the founder ofthe Atlanta PHP user group, the organizer of the Nashville PHP user group, thefounder of the PHP Groups user group network, a founding member ofPHPCommunity.org, and a speaker at industry conferences worldwide.Ben has written for php|architect, International PHP Magazine, and ZendDeveloper Zone and has contributed to several books, including php|architect’sZend PHP 5 Certification Study Guide (Marco Tabini & Associates) and PHP 5Unleashed (Sams). Zachary Burnham Energy Federation Incorporated May 27, 2011
  38. 38. Ben RamseyBen Ramsey is the Vice President of Engineering at Moontoast, the SocialCommerce Network. He is also a leader in the PHP community—the founder ofthe Atlanta PHP user group, the organizer of the Nashville PHP user group, thefounder of the PHP Groups user group network, a founding member ofPHPCommunity.org, and a speaker at industry conferences worldwide.Ben has written for php|architect, International PHP Magazine, and ZendDeveloper Zone and has contributed to several books, including php|architect’sZend PHP 5 Certification Study Guide (Marco Tabini & Associates) and PHP 5Unleashed (Sams). Zachary Burnham Energy Federation Incorporated May 27, 2011
  39. 39. “Ive never worked for an agency where we had a formal mentoring program, but yes, when I started there, the team I worked on had junior- and mid-level developers.Brian DeShong was instrumental in establishing our coding standards and code review practices.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  40. 40. “I think for the senior devs to point out their own weaknesses in the code,it was good for the junior devs to learn from that and to understand that we were are trying as a team to build the best possible software, and with thatin mind, it wasnt a destructive review, but rather, constructive.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  41. 41. “I think that being "senior" encompasses more than just knowing more technologies. In fact,while I think a senior developer does need to have a handle on a lot of different technologies, theywill somewhat forego their "jack-of-all-trades" thatseems to come with being more of a mid-level dev.… I think "soft skills" and leadership abilities startbecoming more important, and ... narrowing focus into specialties is part of it. … I do feel that being "senior" is more of a mindset and it comes with time and experience. Theres a certain confidence that comes with doing things over a long period of time. You can use that confidence to start leading others.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  42. 42. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  43. 43. OH NOES! Zachary Burnham Energy Federation Incorporated May 27, 2011
  44. 44. “Everyones talking about the "Cloud" these days, and what that really means [to me] is that service-oriented architectures are becoming more and more important, so knowing how to connect to and integrate with web services is key.”(“Cloud”, get it?) Zachary Burnham Energy Federation Incorporated May 27, 2011
  45. 45. “The best senior-level developers are the ones who strive to be the best at what theyre doing, so theadvice I would give anyone is to be your best. Thats really cheesy-sounding, but I honestly believe it. Strive to be your best, and it willshow. If you just sit around all day, just getting by and never going above and beyond, then thatll show, too.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  46. 46. “I never really thought of myself as working towards being a "senior" developer. Ive alwaysjust wanted to learn and be the best I could be atwhat Im doing. In my experience, thats really the mindset it takes. Its a journey, and Im by no means at the end of it. I dont think you shouldwait to be the "senior" anything. Just always strive to be better at what you do, and youll find yourself there. …  I feel like a damned motivational speaker now.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  47. 47. Brian DeShong is an Atlanta-based seniorsoftware engineer for Yahoo!. Brian has 12years of experience in software development,architecture, systems administration, andtechnical leadership. He specializes in PHPand open source technologies. Zachary Burnham Energy Federation Incorporated May 27, 2011
  48. 48. Brian DeShongBrian DeShong is an Atlanta-based seniorsoftware engineer for Yahoo!. Brian has 12years of experience in software development,architecture, systems administration, andtechnical leadership. He specializes in PHPand open source technologies. Zachary Burnham Energy Federation Incorporated May 27, 2011
  49. 49. “The idea was to have user experienceand design done and signed off on before we started building a feature.  It didnt always work out perfectly, but if UX/ design was behind, wed at least startback end code and foundational stuff forthe component at the start of the sprint.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  50. 50. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  51. 51. “The types of projects Ive worked on and led over the years are the kind that involve a lot of clever use of databases and caching.  So, getting them schooled on that kind of stuff is pretty common.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  52. 52. “It sounds cliche, but books like Design Patterns are a great reference.. The Gang of Four (and others) have come up with elegant solutions to very common problems in software development.  So, rather than rollingyour own and thinking youre smarter than the average bear, its better to stand on the shoulders of giants and leverage the thinking thats already been done ...most of the time.  Not always, but most of the time. For example, if you apply, say, classic Active Record, and your site runs like [stuff], then you fail.  So,take advice from so-called "experts" and master architect-types, but use your own common sense and reasoning to determine if a given solution is A) best for you, and B) is going to scale.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  53. 53. “I say thats absolutely true.  Leading a team, or atleast leading an effort on a project, is key to being senior...  Or, at the very least, you need to be EXTREMELY reliable and dependable.  And always deliver high quality work, on time.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  54. 54. “If theyre looking back [at] old code and NOTsaying "what the hell was I thinking?" then that means theyre not learning and growing as a developer.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  55. 55. “Ive seen managers promote people one level up for a year.  Those managers, frankly, are [stuff]y and should be fired. Theyre doing aHUGE disservice to themselves, the developer themselves, and all of their co-workers by promoting people prematurely.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  56. 56. The Pragmatic ProgrammerThe Mythical Man-MonthCode Complete 2The Object-Oriented Thought Process Zachary Burnham Energy Federation Incorporated May 27, 2011
  57. 57. http://www.phpdeveloper.orghttp://planet-php.nethttp://codeascraft.etsy.com/#phpc Zachary Burnham Energy Federation Incorporated May 27, 2011
  58. 58. What did you do yesterday?What are you doing today?Is anything standing in your way? Zachary Burnham Energy Federation Incorporated May 27, 2011
  59. 59. “Always be enhancing your skills andgaining more experience.  Its key to growing your career.   Work with others.  Question everything.  If you dont believe in something, say so.  Dont be a sheep.  Andalways look back at your work with a critical eye.  Refactor.  Improve.  And...be reliable.  Become someone that others can depend on to deliver quality software, on time, and to specification.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  60. 60. Matthew Turland has been working with PHP since2002. He has been both an author and technical editorfor php|architect Magazine, spoken at multipleconferences including ZendCon and php|tek, served asan instructor for php|architect training courses, andcontributed to Zend Framework. He holds the PHP 5and Zend Framework certifications and is the authorof php|architect’s Guide to Web Scraping with PHP.He currently works as a Senior Engineer for Synacor. Zachary Burnham Energy Federation Incorporated May 27, 2011
  61. 61. Matthew TurlandMatthew Turland has been working with PHP since2002. He has been both an author and technical editorfor php|architect Magazine, spoken at multipleconferences including ZendCon and php|tek, served asan instructor for php|architect training courses, andcontributed to Zend Framework. He holds the PHP 5and Zend Framework certifications and is the authorof php|architect’s Guide to Web Scraping with PHP.He currently works as a Senior Engineer for Synacor. Zachary Burnham Energy Federation Incorporated May 27, 2011
  62. 62. “Designing and maintaining code to be flexible that way isnt really somethingthat can be taught or communicated in so many words.  So, I guess thats part of what comes with experience.  School generally hands you requirements that dont change. Contrasts to the real world that way.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  63. 63. “Hes closer to mid-level now, but not quite ready to move far outside his comfort zone. I think to a certain degree that thats something thatseparates a mid- from a senior-level.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  64. 64. “If someone doesnt mix well with your team in an interview, thats a good indicator they might not work well together.  You can teach an unskilleddeveloper skills. Teaching someone whos not used to working with a team orprefers to operate independently to work well with one [is not as easy] in my opinion.  Being able to collaborate andcommunicate are essential.  A lot of times,were not just writing code: were bridgingthe gap between people and technology.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  65. 65. “Your job can’t be a 9-5 if you ever hope to be trulygood at it. Work is a great opportunity to sharpen your skills, but it can’t end there or your progress will be slower by orders of magnitude. The field has to be something you’re passionate about. You have to careabout what you produce and not just because you want to avoid pain or annoyance later on. You must have a genuine want to learn, expand, and grow, and that can never stop. Tech has been a whirlwind of change for the last 40 years and it’s not showing any signs ofstopping. Nor will we be able to. A lot of developers in my area are what I call “day coders”. To them, it *is* a 9-5. And they’ll only get to be so good at it because of that.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  66. 66. “If there was an effective objective means of measuring productivity, it would probably have already had widespread implementation in the industry. Realistically, I think it can be gauged to a certain extent by how many questions they ask, how resourceful they prove to be at learning things on their own, how much time they spend working, how many(Questions. derp.) errors they make, etc.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  67. 67. Eli has worked in/on/around the internet for over 16years, with the last 10 spent exclusively with PHP.  Hehas worked a number of varied jobs in the past,including HiiDef/Goodsie, Zend, TravelPod/TripAdvisor, Digg and for the Hubble Space TelescopeProgram. He is co-author of the book PHP 5 inPractice and has presented at numerous conferences. Zachary Burnham Energy Federation Incorporated May 27, 2011
  68. 68. Eli WhiteEli has worked in/on/around the internet for over 16years, with the last 10 spent exclusively with PHP.  Hehas worked a number of varied jobs in the past,including HiiDef/Goodsie, Zend, TravelPod/TripAdvisor, Digg and for the Hubble Space TelescopeProgram. He is co-author of the book PHP 5 inPractice and has presented at numerous conferences. Zachary Burnham Energy Federation Incorporated May 27, 2011
  69. 69. “Ive noticed that lots of juniors, not having had their soul crushed yet, are excited about every new tech that appears, and immediately will want to use it in production :)” Zachary Burnham Energy Federation Incorporated May 27, 2011
  70. 70. “Now, of course its important to USE stock solutions when they are available and solve a need.  But you also need to know when the situation just calls for doing something yourself.  Ive had people come into a situation, andimmediately start ripping on the existing codebase because its not <insert big name framework> … or because it doesnt use a certain design pattern, orbecause its not using a certain templating engine, etc.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  71. 71. “As long as you understand the basics of being able to write javascript, and as long as you show that you can do basic AJAX- like-stuff with one of the many libraries,then its met. You dont need to understand the deep core event model, or stuff like that.   Heck, Ive forgotten all that myself at the moment, because the libraries exist to shield you from that.  Wipe that part of brain, inject jQuery instead”. Zachary Burnham Energy Federation Incorporated May 27, 2011
  72. 72. “Stuff like Unit Testing, well, dirty little secret, Ive done verylittle of it.  Again its been because of the nature of the projectsI work on...   Early stage rapidly changing rapid development, recode your whole system every 6 months type projects … unit testing, IMO, ends up getting in your way more than it helps you.” … “To me, I find that there is a right time and place for it.  Once you have a stable application, out of beta, and in maintenance mode, is an AWESOME TIME to add it. But when you are in the rip rebuild whole sections of your core architecture every 3 months phase of the project, whichevery project Ive been on hasnt really left ;)   Well, it honestly does get in your way. Ive had whole teams screaming about unit testing, and ripping what was in place out, because ofthat.  Then later, a couple years later, adding it back in, slowly.   Im really big about doing just what you need, now, without putting yourself in a corner … because 2 weeks from now,youll need something completely different.  That gets back to the overengineering.  Overengineering is extra painful when you are being highly agile, and changing directions as needed.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  73. 73. “In general, I expect to see mid- level to be 2-5 or 3-6 years experience, somewhere in there.    So about a 3 year path.  Now, if the mid has 6 years experience, and still doesnt seem senior,then they could get that in a year,via expanding their horizons, Id think.”... “Of course, it alldepends on the company and the individual.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  74. 74. http://www.phpdeveloper.org Zachary Burnham Energy Federation Incorporated May 27, 2011
  75. 75. “For books, whateverbook I write next willbe a must.  Make sure you buy it.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  76. 76. “Its definitely not about hours.  Hours are a horrible measure as one coder might spend 1 hourand get more done than the guysitting in the chair for 20 hours.   So it always comes down to tasks.   Tasks are assigned, and reasonable timeframes arediscussed.   Performance is then measured by if the tasks aredone in reasonable timeframe … AND/OR if the junior comes back and says:  "Dude, we underestimated", and s/he is Zachary Burnham right :)” Energy Federation Incorporated May 27, 2011
  77. 77. “[I]t comes back to the whole get involved thing ... Community, conferences, IRC, blogs,something.   Get a greater look on life than justwhat you do at your job each day.   Of course, agood company is going to encourage you to do that as PART of your job, but not all will.  Oneother thing I might throw in there, is while you are at that mid-level … think hard about your future.   Decide where you want to be in your career, end-game wise.   If you see yourself moving into the management realm … then honestly start working towards that.   If you (Dear Disney: Please don’t sue me. Love, Zach)want to be the guy who has written code for 50years, then thats cool too, and keep focusing on that.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  78. 78. Many moons ago, at the tender age of 14, Cal touched his first computer. (We’reusing the term “computer” loosely here, it was a TRS-80 Model 1) Since then hislife has never been the same. He graduated from TRS-80s to Commodores andeventually to IBM PC’s.For the past 10 years Cal has worked with PHP and MySQL on Linux, OSX, andWindows. He has built a variety of projects ranging in size from simple web pagesto multi-million dollar web applications. When not banging his head on hismonitor, attempting a blood sacrifice to get a particular piece of code working, heenjoys building and managing development teams using his widely imitated butnever patented management style of “management by wandering around”.These days, when not working with PHP, Cal can be found working on a varietyof projects, most of which require a higher security clearance than you have sothey can’t be listed here.Cal is currently based in Nashville TN where he is currently gainfully unemployedas the Chief Marketing Officer of Blue Parabola, LLC. Zachary Burnham Energy Federation Incorporated May 27, 2011
  79. 79. Cal EvansMany moons ago, at the tender age of 14, Cal touched his first computer. (We’reusing the term “computer” loosely here, it was a TRS-80 Model 1) Since then hislife has never been the same. He graduated from TRS-80s to Commodores andeventually to IBM PC’s.For the past 10 years Cal has worked with PHP and MySQL on Linux, OSX, andWindows. He has built a variety of projects ranging in size from simple web pagesto multi-million dollar web applications. When not banging his head on hismonitor, attempting a blood sacrifice to get a particular piece of code working, heenjoys building and managing development teams using his widely imitated butnever patented management style of “management by wandering around”.These days, when not working with PHP, Cal can be found working on a varietyof projects, most of which require a higher security clearance than you have sothey can’t be listed here.Cal is currently based in Nashville TN where he is currently gainfully unemployedas the Chief Marketing Officer of Blue Parabola, LLC. Zachary Burnham Energy Federation Incorporated May 27, 2011
  80. 80. “I expect my mid-range developers to be able to code and perform like Seniors.  The onlydifference is that I expect Seniors to be able to mentor. If I dont think you can learn new technologies, pick up new techniques andbasically "figure [stuff] out" then I most likelywont hire you.” … “A Senior should be able to lead. A Mid should be able to code, a Jr. should be able to learn.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  81. 81. “You should be able to identify a problem, propose a solution, take criticism if the solution isnt the best one and then go figure out how to code it.  And by figure out I meaneither write the code or ask someoneto help. Dont stare at the screen for 4 hours and then go ask someone.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  82. 82. “Showing that I can give you a problemand 2-3 developers to work with and you solve the problem without causingpersonnel problems or causing fights gets you an interview from mid to Sr.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  83. 83. “[T]hat varies wildly with the person and thecareer goals of the person.  If they are a fantastic coder but not comfortable leading...never.  A lot of developers dont want that addedresponsibility thats fine and I reward them withraises and such just the same. But if they want to climb to Sr. and then to Architect (An architect absolutely MUST be able to inspire confidence and lead...otherwise hes useless) then I create that career path for them. Some, like me, dontwant to climb a technical ladder at all, they want to move into management. I encourage this for the right people.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  84. 84. “I dont care that youve read Tom Peters latest. I care that you took a Jr. under your wing and now Ive got 2 Mid levels. SHOW ME.  And dont do it and then expect me to see it. TELL ME. If you cant toot your own horn a bit, no one else will. Dont tell me piddly [stuff]. But when a project is done and youve helped the new Jr with his, get the Jr to tell me how much you helped. Then Ill call you both in and welldiscuss it.  Figure out how to train people.  Write blogs, host informal training lunches, step it so so that every time I turn around I am hearingyour name...oh and keep your project on track.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  85. 85. “If you are a developer then you can look at another developer, the work they did on the last sprint/project/or bug, howlong it took them and you should be able to decide if it was appropriate.  If you think it wasnt talk to them. Ask them why in a very non-threatening way.  If they are blowing smoke up your skirt, you know it because you ARE adeveloper. … I tolerate failure all the time. I wont tolerate lying to me or covering stuff up. … You cant teach a project manager how to know if a developer is lying to them. They have no frame of reference.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  86. 86. “Figure out what you want to do. Do you want to code? Do you want to manage?  Dont climb to architect level and then figure out you really wanted to manage.  Once you know,make it your passion. Figure out what the next step is either in yourcompany or in the company you want (That’s a passion fruit.) to work for and then take the step.” Zachary Burnham Energy Federation Incorporated May 27, 2011
  87. 87. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  88. 88. What have we learned? Zachary Burnham Energy Federation Incorporated May 27, 2011
  89. 89. Books:Advanced PHP Programming - Schlossnagle http://tinyurl.com/5rt3oj7The Pragmatic Programmer  - Hunt and Thomas http://tinyurl.com/6hk7plzThe Mythical Man Month - Brooks http://tinyurl.com/65upu99Code Complete 2 - McConnell http://tinyurl.com/63ex3m2The Object-Oriented Thought Process - Weisfeld http://tinyurl.com/6bsxr55Blogs:http://www.phpdeveloper.orghttp://www.planet-php.netIRCFreenode IRC network: irc.freenode.net#phpchttp://en.wikipedia.org/wiki/Wikipedia:IRC/Tutorial Zachary Burnham Energy Federation Incorporated May 27, 2011
  90. 90. Zachary BurnhamEnergy Federation Incorporated May 27, 2011
  91. 91. Zachary Burnhamzburnham@gmail.com@zburnhamhttp://www.zacharyburnham.comhttp://joind.in/3406 Zachary Burnham Energy Federation Incorporated May 27, 2011

×