• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Being and Excellent Software Developer - Windy City Rails
 

Being and Excellent Software Developer - Windy City Rails

on

  • 1,696 views

There was a time when knowing one language provided you with a life-long career. There was a time when technical prowess alone determined your value to the company. An excellent developer was an ...

There was a time when knowing one language provided you with a life-long career. There was a time when technical prowess alone determined your value to the company. An excellent developer was an expert in their language and tools, relegated to an enclosed room, cranking code to meet specifications. Today, possessing only these traits can leave you at risk. In another few years, possessing these traits alone will likely leave you jobless. What does it take to be an excellent developer in today’s fast-pace collaborative work environment?

Statistics

Views

Total Views
1,696
Views on SlideShare
1,422
Embed Views
274

Actions

Likes
1
Downloads
31
Comments
0

6 Embeds 274

http://lanyrd.com 133
http://blog.websourcing.fr 128
http://presentationdocs.playableitems.demobo.com 8
https://www.linkedin.com 3
http://us-w1.rockmelt.com 1
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Does this resonate with you at all?\n\nCall it what you want; junior, senior, lead - the general concept is the same (we hope)\n
  • Shu - Hold, Ha - Break, RI - Leave\nShu - follow rules as told, focus on how over why, generally one teacher\nHa - learning principles and theory, integrates new teachers into practice\nRi - Student adapts and learns from own practice and innovation\n
  • Dreyfus Model of Skills Acquisition\n\n
  • Shu - follow rules as told, focus on how over why, generally one teacher\n\nLittle or no knowledge\nLittle or no experience\nNeed rules\nImpatient for results\n\nNeed a mentor and close monitoring\n
  • Shu - follow rules as told, focus on how over why, generally one teacher\n\nSome experience\nCan find information\nBreak free of some rules\nCan’t filter irrelevant information\nCan’t determine importance\n\nNeed experience in limited and controlled real-world situations\n
  • Ha - learning principles and theory, integrates new teachers into practice\n\nHave a mental model\nAssociations formed\nCan handle the unknown\nMethodical\n\nNeed a variety of real-world situations to form connections between already held ideas and models\n
  • Ha - learning principles and theory, integrates new teachers into practice\n\nInterested in big picture\nImpatient with over-simplified information\nGrasp and apply maxims - YAGNI, Do the Simplest Thing That Can Possibly Work\nInternalization\n\nNeed a lot of practice, hindered as little as possible by policies or guidelines\n
  • Ri - Student adapts and learns from own practice and innovation\nTrue Authority\nDeveloped Intuition\nDeep pool of knowledge\nCan Interlink Skills\nTend to be inarticulate in how they arrive at conclusions\n\nContinue to practice. Learn by teaching.\n
  • Ri - Student adapts and learns from own practice and innovation\nVery Rare\nDevelop new models and approaches\n\nContinue to practice.\n\n
  • There’s a challenge in our field.\nWhere do you think most people spend their careers?\n
  • \n
  • Here’s where many think they are in their career\n
  • Here’s the furthest most advance\n\nNeed a lot of practice, hindered as little as possible by policies or guidelines\n
  • As we progress through these stages, what are we learning at a meta level?\n\n
  • \n
  • \n
  • \n
  • Neil Ford\n
  • Java :: Closure, Groovy, Scala, JRuby, Jython, Rhino, AspectJ\n.NET :: VB.NET, C#, F#, J#, Lua, Ruby.NET\n\nfunctional, relational, object oriented, aspect oriented\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • Deep Understanding of their area of specialization and a broad understanding of other disciplines within their broader role.\n\nA generalizing specialist is someone with one or more technical specialties who actively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas. - Coding Horror (Jeff Atwood)\n\nGeneralizing Specialist: A Definition\nA generalizing specialist is someone who:\nHas one or more technical specialties (e.g. Java programming, Project Management, Database Administration, ...).\nHas at least a general knowledge of software development.\nHas at least a general knowledge of the business domain in which they work.\nActively seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas.\nGeneralizing specialists are often referred to as craftspeople, multi-disciplinary developers, cross-functional developers, deep generalists, polymaths, versatilists, or even "renaissance developers". \n \n\n
  • \n
  • \n
  • \n
  • Keep your commitments.\nCommunicate Early and often\nShare credit for accomplishments, ideas, and contributions.\nHelp other employees find their greatness. \n\nDon't ever play the blame game.\nNever blind side a coworker, boss, or reporting staff person.\nBring suggested solutions with the problems to the meeting table.\nYour verbal and nonverbal communication matters.\n\n
  • Keep your commitments.\nCommunicate Early and often\nShare credit for accomplishments, ideas, and contributions.\nHelp other employees find their greatness. \n\nDon't ever play the blame game.\nNever blind side a coworker, boss, or reporting staff person.\nBring suggested solutions with the problems to the meeting table.\nYour verbal and nonverbal communication matters.\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Edward DeBono\nParallel Thinking\n\nBenefits\n Power – the group is looking and working in the same direction\n Time saving – thinking in parallel saves tangential argument thus time\n Removal of ego – minimizes emotion, creates focus\n One thing at a time – minimizes confusion created by argument \n\nHow To\nAlways start and end with the Blue Hat\n Why we are here, what we want to accomplish, the sequence of hats\n What we’ve achieved, next steps \nHats are always referred to by their color and not their function\n Facilitator calls for a certain hat and participants must stay with that hat until it changes\n\n
  • \n
  • \n
  • \n
  • \n

Being and Excellent Software Developer - Windy City Rails Being and Excellent Software Developer - Windy City Rails Presentation Transcript

  • Being An Excellent Software DeveloperMichael “Doc” Norton ◊ @DocOnDev ◊ doc@leandog.com
  • Excellent: remarkable character worthy of praise
  • SoftwareDeveloper: research, design, develop, and test
  • Excellent Software Developer:Remarkable character worthy of praise in the research, design, development, and testing of software
  • Right. how?
  • Master y
  • Know
  • KnowYour
  • KnowYour hit S
  • Know Stuff Your
  • Know Craft Your
  • Know Craft Your
  • Know Craft Your
  • Apprenti Journeyman Master ce
  • Apprenti Journeyman Master ce Shu Ha Ri
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Where are you?
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Shu Ha Ri Innovator Proficient Expert Advance Compete d nt BeginnerNovice
  • Done?
  • Polyglo t
  • Polyglo thttp://memeagora.blogspot.com/2006/12/polyglot- programming.html
  • Polygl otComputer program or script written in a valid form of multiple programming languageshttp://memeagora.blogspot.com/2006/12/polyglot- programming.html
  • Ruby Rails
  • RSpec Ruby Capistrano ActiveRecordBundler CSS Sinatra Capybara Rails HAML Cucumber HTML Factory Girl CoffeeScript JavaScriptGems Thor i18n RakeJasmine
  • Done?
  • T-Shape
  • T- ShapeIndividuals able to apply deep vertical skills but who have empathy with other skills in the team
  • empathy with other skills apply deep vertical skills
  • empathy with other skills apply deep vertical skills
  • empathy with other skills RSpec Ruby Capistrano ActiveRecord apply deep vertical Bundler CSS Sinatra Capybara skills Rails HAML Cucumber HTML Factory Girl CoffeeScript JavaScript GemsThor i18n RakeJasmine
  • empathy with other skills RSpec Capistrano ActiveRecord apply deep vertical Bundler CSS Sinatra Capybara skills RailsRuby HAML Cucumber HTML Factory Girl CoffeeScript JavaScript GemsThor i18n RakeJasmine
  • empathy with other skills RSpec Capistrano ActiveRecord apply deep vertical Bundler CSS Sinatra Capybara skills Rails HAML Cucumber HTML Factory Girl CoffeeScript JavaScript GemsThor i18n RakeJasmine
  • empathy with other skills RSpec Capistrano ActiveRecord apply deep vertical Bundler CSS Sinatra Capybara skills Rails HAML Cucumber HTML Factory Girl CoffeeScript JavaScript GemsThor i18n RakeJasmine
  • empathy with other skills RSpec Capistrano ActiveRecord apply deep vertical Bundler CSS Sinatra Capybara skills HAML Cucumber HTML Factory Girl CoffeeScript JavaScript GemsThor i18n RakeJasmine
  • empathy with other skills Capistrano ActiveRecord RSpec apply deep vertical Bundler CSS Sinatra Gems Capybara skills HAML Cucumber HTML Factory Girl CoffeeScript JavaScript i18n Thor RakeJasmine
  • empathy with other skills Capistrano ActiveRecord apply deep vertical CSS Sinatra Capybara skills HAML Cucumber HTML Factory Girl CoffeeScript JavaScript i18n Thor RakeJasmine
  • empathy with other skills Rake ActiveRecord JavaScript HTML apply deep vertical Sinatra Thor Jasmine Capistrano Factory Girl Capybara CSS i18n Cucumber CoffeeScript HAML skills
  • empathy with other skills apply deep vertical skills
  • empathy with other skills apply deep vertical skills Business Analysis User Experience Quality Assurance
  • User Experience skills empathy Quality with otherusiness Analysis Assurance apply deep vertical skills
  • empathy with other skills apply deep vertical skills
  • empathy with other skills apply deep vertical skills
  • empathy with other skills Team Coaching Leadership Business Domain apply deep vertical Public Functional Speaking Programming Project Management skills Mentorship Aesthetic Java Frameworks Design Clojure Account Management Python
  • Software Developer
  • Done?
  • Collegi al
  • Collegi al United in a common purpose andrespecting each others abilities to work toward that purpose
  • Can weall getalong?
  • Should weintroduce jQuery?
  • Should weintroduce jQuery?
  • Should weintroduce jQuery?
  • Should we introduceDisagree. I Needs Great Idea, I jQuery? Discussion Desire Not in Total Good Idea, I Require Will Be a Have Discussion Agreement, Will Work Changes Leader in Change Have Minor but Will For It Implementat Suggestion Concerns Support ion s
  • What kind of keyboards should we use?
  • What kind ofWired are better. I like the numeric keypads. keyboards Wireless, dude, wireless. I need my own rig or a tub of Germ-X.It doesn’t matter to me, but we could each buy our own. should we I just want small profile keyboards. use?Small profile is crap, bro.I don’t really care, but I personally like larger keyboards.
  • What kind of Wired are better. I like the numeric keypads. keyboards It doesn’t matter tome, but we could each Wireless, dude, wireless. I need my own rig or a tub of Germ-X. should Iwe buy our own.I don’t really care, but I just want small profile keyboards. use? Small profile is crap, bro. personally like larger keyboards.
  • Tell Sell Consult Agree Advise Inquire Delegate I consider this my I’m not I consider I consider I’d like to responsibility interested in this my this my I’d like us to talk about it, I’d like to .I this, but I’llresponsibility responsibility make this but I’m hear about it, understand to manager, support , and I don’t decision happy to but I’d prefer other folks whatever want anyone but would together. I have someone else might feel decision iselse involved appreciate hope you’d someone else make the invested and made. I’d in this help like that too. make the decision. will be happy rather not be decision deciding. decision. to answer involved. questions. Delegation 8
  • Delegat Tell Sell Consult Agree Advise Inquire Joker e I consider I’m not I consider this my I consider I’d like to I’d like us I’d like to interested this my responsibili this my talk about I feel you to make hear about in this, butresponsibili ty. I responsibili it, but I’m violated this it, but I’d I’ll support ty, and I understand ty to happy to our decision prefer whatever don’t want other folks manager, have agreement together. I someone decision isanyone else might feel but would hope you’d someone and we else make made. I’dinvolved in invested appreciate else make should talk like that the rather not this and will be help the right away. too. decision. be decision happy to deciding. decision. involved. answer questions. Delegation 8
  • Delegation 8
  • Trend % Profit40302010 0-10 Q1 Q2 Q3 Q4 Next
  • We’re AsDoome Trend a matter of % Profit 40 fact... d 30 20 Yes, but I I’ve seen this before. feel... 10 Let’s try ... 0 This isn’t -10That will never workQ2 Q1 Q3 a problem, it’s an Q4 Next because... AWSOME opportunity!
  • Neutral, objective, The emotional Careful and only concerned view, cautious, the with facts and just what you feel, “devil’s figures no justification advocate”, points needed out the weakness in ideasSunny and positive, Associated with Cool, the color of covers hope and fertile growth, the sky, above positive thinking creativity and new everything else,Six Thinking ideas the organizing hat
  • Done?
  • Never.
  • Never. “Anyone who stops learning is old,whether at twenty or eighty.”  ~ Henry Ford
  • “Anyone who stops learning is old, whether at twenty or eighty.”  ~ Henry FordThanksMichael “Doc” Norton ◊ @DocOnDev ◊ doc@leandog.com