A great developer knows more than <code/>

Paul Heasley

@pheasley

phdesign.com.au

What makes a great developer?

Decide on your career path before it's decided for you

Picture your career as a skill tree

Start broad, expand your options

Discover your interests and strengths

Choose a discipline(s) to specialise in

Sometimes your hobbies should stay a hobby

Find a role model

Choose your roles strategically

How do you get the right roles?

Patterns and practices

Don't re-invent the wheel

The 'Gang of Four' patterns book

Design Patterns: Elements of Reusable Object-Oriented Software

Design Patterns: Elements of Reusable Object-Oriented Software

Practices

Planning and estimation

Requirements gathering

Solution design

Coding standards (e.g. naming conventions)

Coding practices (e.g. TDD / code reviews)

Communicable code


if (!el.offsetWidth || !el.offsetHeight) {
    ...
} 

vs.


function isVisible(el) {
    return el.offsetWidth && el.offsetHeight;
}
 
if (!isVisible(el)) {
    ...
} 

Domain-Driven Design

Tackling Complexity in the Heart of Software

Eric Evans

Domain-Driven Design, Tackling Complexity in the Heart of Software by Eric Evans

Specialists vs. Generalists

Community of practice

Estimation

Don't give estimates in perfect days, talk in real duration

Plan for 4 hours / day of undisturbed development

Don't estimate

Use story points, measure velocity

Learn user empathy

Use the product

Read comments and complaints

Talk to product owners

Do first line support

Perform user research

You built...

The Taj Mahal

They wanted...

A scooter

Leadership

People leaders vs. Craftsmanship leaders

Still with me?
We're nearly done.

Thanks!

http://phdesign.com.au/presentation-more-than-code

@pheasley