Skip to content

Instantly share code, notes, and snippets.

@coffeencoke
Forked from adkron/developer_levels.md
Created February 25, 2013 18:52
Show Gist options
  • Save coffeencoke/5032231 to your computer and use it in GitHub Desktop.
Save coffeencoke/5032231 to your computer and use it in GitHub Desktop.

Revisions

  1. @adkron adkron revised this gist Feb 15, 2013. 1 changed file with 77 additions and 2 deletions.
    79 changes: 77 additions & 2 deletions developer_levels.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,80 @@
    Entry
    =====

    - [ ] Pasion
    * Wants to learn
    - Passion
    * Wants to learn
    * Eager to learn
    - Aptitude
    * Can learn a new language with little help
    - Understands basics to a Language
    * Language comprehension
    * Understanding of programming languages and compilers
    * Knows language syntax
    * Competent in at least one language - able to complete a story
    * Able to follow instructions without hand holding
    * Conversant on basic software organization, algorithms, and data structures
    * Can create an array
    * Can create a string
    * Can write working code
    * Understands language constructs
    - Can navigate tools
    * Good problem solving
    * Basic IDE understanding
    * No need for tool specific knowledge

    Mid/Jr
    ======

    - Work independently
    * Codes what is asked of them
    * Able to lead a story to completion when pairing
    * Competent in more than 1 language
    * Shipped a project
    * Able to follow along with a stronger developer
    - Professionalism
    - Can write a test
    - Beginnings of design
    * UML for white board discussions
    * OO Design Patterns
    * Fundamental understanding of principles of software design
    * Understanding of design/architecture change impacts
    * Drives local design
    * Understands code idioms
    * Understands SOLID design principles
    - Problem Solvinng
    * Thinks through complex problems
    * Can work and solve problems with minimal direction
    - Pair Leadership
    * Mid-level pair leaders
    - Continued Self Education
    * Keeps up on Tech
    * Familiar with several frameworks and technologies and can explain strengths and weaknesses
    * Reads and follows external resources in the community
    * Open to new methodologies

    Senior
    ======
    - Understands cost/benefit
    * Can professionally push back on bad requirements and offer alternatives
    - Tech Leadership
    * Get a basic understanding of new technology as needed
    - Mentoring
    * Helps teach design and syntax to new developers
    - Drives change
    - Abstract Problem Solving
    - Testing
    * Can write tests with no guidance
    * Understands different testing approaches
    - Breadth of project types
    - Design/Architecture
    * Can recognize trade offs in design
    * Helps discover what to build
    * Understands proper pattern use
    * Understands SOLID, YAGNI, Demeter, etc.
    * Helps others discover architecture
    * Drive choices to minimize futre pain in change
    * Can view the system as a whole and know where lines can be separated
    - Leadership
    * Able to lead an entire software project life cycle
    - Complete Systems
    * Can write complex systems alone
  2. @adkron adkron revised this gist Feb 15, 2013. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion developer_levels.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    Entry
    =====

    -[] Pasion
    - [ ] Pasion
    * Wants to learn
  3. @adkron adkron revised this gist Feb 15, 2013. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion developer_levels.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    Entry
    =====

    - [] Pasion
    -[] Pasion
    * Wants to learn
  4. @adkron adkron created this gist Feb 15, 2013.
    5 changes: 5 additions & 0 deletions developer_levels.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    Entry
    =====

    - [] Pasion
    * Wants to learn