21
THE RESTLESS DEVELOPER A Developer (or QA, or UX, or…) in Agile times 1

Restless developer

Embed Size (px)

Citation preview

THE RESTLESS DEVELOPERA Developer (or QA, or UX, or…) in Agile times

1

3

Three fundamental contemporary

software development ideas

(and how does that change our lives)

4

5*

6

“Lean Startup uses a feedback loop called

‘build-measure-learn’ to minimize project

risk and gets teams building quickly and

learning quickly. Teams build Minimum

Viable Products (MVPs) and ship them

quickly to begin the process of learning as

early as possible”

Borrowed from Jeff Gothelf's Lean UX

7

"innovation powered by.. direct observation

of that people want and need in their lives

and what they like or dislike about the way

particular products are made, packaged,

marketed, sold, and supported… [It’s] a

discipline that uses the designer’s sensibility

and methods to match people’s needs with

what is technologically feasible and what a

viable business strategy can convert into

costumer value and market opportunity.”

Tim Brown

8

Individuals and interactions

Working software

Customer collaboration

Responding to change

over processes and tools

over comprehensive documentation

over contract negotiation

over following a plan

Build-measure-learn

Guided by the user need

Soft skillsLeadership SkillsContinuous Feedback Clean code

Tests

Consulting Skills

Evolutionary ArchitectureEvolutive DesignTest AutomationRefactoring

Domain Knowledge

Continuous DeliveryFull AutomationFeature ToggleA/B Testing

ResearchingPrototyping

Multi PlatformMulti Language

9

10

We need to face the fact that our comfort zone is being shacked

11

Myths

12

FULL STACK DEVELOPER

1. Server Network and Hosting Environment

2. Data Modelling

3. Business Logic

4. API Layer / MVC

5. User Interface

6. User Experience

7. Understanding Client Needs

8. Infrastructure Management and DevOps

9. Automation

10. Cloud Computing

11. Data Science (Big Data, Analytics)

12. Consulting Skills

13. ???

13

Very hard to be good at all that

Teams, at the other hand, should strive for

multi-disciplinarity

WE DON’T NEED AN ARCHITECT - FOWLER

14

All important decisions go though him

His value is proportional to the numbers of decisions he takes

He doesn’t trust in the team

Keep an eye the future of the project and the backlog

Code with the team in the morning, attend business meetings in the afternoon

Coach and mentor to the team

His value is inversely proportional to the number of decisions he takes

THE JAVA DEVELOPER - SINGLE LANGUAGE DEFENDER

Java is the only language that is worth using. Replace Java with your favorite language.

Only work with Weblogic, etc. Replace Weblogic with your favorite web and application server.

Front end development must be JSF. Replace JSF with your favorite framework.

15

Favor the client needs, not our favorite technology.

Using new technologies sometimes drive to product innovation

Suggestions

16

17

"Carrots & Sticks are so last Century. Drive says for 21st century work, we need to upgrade to

autonomy, mastery and purpose."

18

No one is a natural. All need to learn.

All can learn. Learning is a process.

19

Angelina Fabro,

Javascript MasterClass

Not a Beginner

Not an Expert

1. Can deal with principles in any languages 2. Can start coding from scratch 3. You want to know how it works 4. May feel your code is mediocre

1. Don’t get all the code you read 2. Can’t explain to other people 3. Aren’t confident with debugging 4. Rely on references too much

1. Ask why obsessively 2. Teach / Speak in Events 3. Work through a suggested curriculum 4. Experiment recklessly 5. Have opinions 6. Seek mentorship 7. Program a lot, and have breaks 8. Recognise what good feedback is

What to do

A Restless Developer recognises Agile times demands new skills, technical and

non-technical.

He is not only striving to develop these skills himself, as he is fighting and

leading the team for that.

20