32
Want to be a Programmer? TGA2013 *Change to Learn -- Learn to Change* 14.12.2013 [email protected]

TGA2013 Presentation: Want to be a Programmer?

Embed Size (px)

DESCRIPTION

My presentation in the Tampere Goes Agile 2013 event at Tampere Hall on 14th December 2013.

Citation preview

Page 1: TGA2013 Presentation: Want to be a Programmer?

Want to be a Programmer?

TGA2013 *Change to Learn -- Learn to Change*

14.12.2013 [email protected]

Page 2: TGA2013 Presentation: Want to be a Programmer?

A programmer?

Seriously?

TGA 14.12.2013 [email protected]

Page 3: TGA2013 Presentation: Want to be a Programmer?

Programmer … err … programs

TGA 14.12.2013 [email protected]

Page 4: TGA2013 Presentation: Want to be a Programmer?

Anything else?

Planning, estimation

Design, implementation

Testing, building, releasing

Communication

TGA 14.12.2013 [email protected]

Page 5: TGA2013 Presentation: Want to be a Programmer?

Motivation?

Business, technology or problem

motivated?

TGA 14.12.2013 [email protected]

Page 6: TGA2013 Presentation: Want to be a Programmer?

Reasons to become a Programmer

Jobs Hard skills

Flexibility

Good salary

Challenge Art-

likeness

It’s cool

TGA 14.12.2013 [email protected]

Page 7: TGA2013 Presentation: Want to be a Programmer?

Reasons NOT to become a Programmer

Do not like programming

Not willing to update your

skills

Management Overtime

TGA 14.12.2013 [email protected]

Page 8: TGA2013 Presentation: Want to be a Programmer?

TGA 14.12.2013 [email protected]

Technology Motivated

Business Motivated

Problem Motivated

Me in the 90’s

Me now

Page 9: TGA2013 Presentation: Want to be a Programmer?

But there’s this thing called

Quality

… ”SW quality” is not evident

TGA 14.12.2013 [email protected]

Page 10: TGA2013 Presentation: Want to be a Programmer?

TGA 14.12.2013 [email protected]

External Quality

Reli-ability

Usabil-ity

Func-tion-ality

Perfor-mance

Charis-ma

Secu-rity

Main-tain-

ability

Integr-ability

Page 11: TGA2013 Presentation: Want to be a Programmer?

TGA 14.12.2013 [email protected]

Internal Quality

Test-ability

Read-ability

Main-tain-

ability

Support-ability

Port-ability

Page 12: TGA2013 Presentation: Want to be a Programmer?

TGA 14.12.2013 [email protected]

Process Quality

Delivery

Budget Repeat-ability

Page 13: TGA2013 Presentation: Want to be a Programmer?

How anyone can handle this? TGA 14.12.2013 [email protected]

Page 14: TGA2013 Presentation: Want to be a Programmer?

Does quality matter?

Depends on who you ask... and who

ends up paying for the lack of it.

TGA 14.12.2013 [email protected]

Page 15: TGA2013 Presentation: Want to be a Programmer?

Are we any good?

From an objective POV (?)

TGA 14.12.2013 [email protected]

Page 16: TGA2013 Presentation: Want to be a Programmer?

TGA 14.12.2013 [email protected]

www.standishgroup.com

CHAOS Report 2012

We have been analyzed…

Page 17: TGA2013 Presentation: Want to be a Programmer?

The findings…

If we have good people

• who know what they are trying to achieve

• with true involvement

• with good communication with who they’re

achieving it for

• who are well-supported

they will succeed, if success is possible.

TGA 14.12.2013 [email protected]

Page 18: TGA2013 Presentation: Want to be a Programmer?

Learning

There’s no substitute for learning on

the battlefield.

TGA 14.12.2013 [email protected]

Page 19: TGA2013 Presentation: Want to be a Programmer?

2 1

3 4

TGA 14.12.2013 [email protected]

Lazy Diligent / hardwork-ing

Competent

Incompetent

*Adapted from an original idea of M. Ristimäki, 2011

Page 20: TGA2013 Presentation: Want to be a Programmer?

Competence • “Minimum 5 years of experience on DeWALT

D27107XPS Type 3 Combination Saw…”

TGA 14.12.2013 [email protected]

Page 21: TGA2013 Presentation: Want to be a Programmer?

Tools

Keep your toolbox effective

TGA 14.12.2013 [email protected]

Page 22: TGA2013 Presentation: Want to be a Programmer?

agility

Values

•Communication

•Simplicity

•Feedback

•Respect

•Courage

•…

Principles

•Rapid delivery

•Frequent delivery

•Embrace change

•Self-organization

•Regular adaption

•SOLID

•…

Practices

•Scrum/Kanban

•CI

•Unit tests

•Pair programming

•Sprints/iterations

•Daily standups

•…

TGA 14.12.2013 [email protected]

Page 23: TGA2013 Presentation: Want to be a Programmer?

What’s in your toolshed?

TGA 14.12.2013 [email protected]

Page 24: TGA2013 Presentation: Want to be a Programmer?

So, once more, all together now…

There is NO silver bullet.

TGA 14.12.2013 [email protected]

Page 25: TGA2013 Presentation: Want to be a Programmer?

What to beware, part 1

TGA 14.12.2013 [email protected]

”Happy Creative

Programmer”

”Proud Lead Programmer”

”Product/ System Guru”

”Grumpy Asshole

Programmer”

http://hackerboss.com/the-birth-of-the-grumpy-asshole-programmer/

Page 26: TGA2013 Presentation: Want to be a Programmer?

What to beware, part 2 • Do not let the Architecture Astronauts* scare you…

TGA 14.12.2013 [email protected]

*http://www.joelonsoftware.com/articles/fog0000000018.html

Page 27: TGA2013 Presentation: Want to be a Programmer?

Enterprise Architecture "a well-defined practice for conducting

enterprise analysis, design, planning, and

implementation, using a holistic approach at

all times, for the successful development and

execution of strategy. Enterprise Architecture

applies architecture principles and practices

to guide organizations through the business,

information, process, and technology changes

necessary to execute their strategies. These

practices utilize the various aspects of an

enterprise to identify, motivate, and achieve

these changes."

TGA 14.12.2013 [email protected]

Page 28: TGA2013 Presentation: Want to be a Programmer?

Shopping list…

Soft skills Communication

Writing Learning (cont.)

Technical skills

TGA 14.12.2013 [email protected]

Page 29: TGA2013 Presentation: Want to be a Programmer?

Takeway

Do only things that make sense.

Hack.

TGA 14.12.2013 [email protected]

Page 30: TGA2013 Presentation: Want to be a Programmer?

Hackers?

“A hacker is someone who thinks outside the box. It's

someone who discards conventional wisdom, and

does something else instead. It's someone who looks

at the edge and wonders what's beyond. It's

someone who sees a set of rules and wonders what

happens if you don't follow them. A hacker is

someone who experiments with the limitations of

systems for intellectual curiosity.” - Bruce Schneier, Secrets and Lies, 2000

TGA 14.12.2013 [email protected]

https://www.schneier.com/blog/archives/2006/09/what_is_a_hacke.html

Page 31: TGA2013 Presentation: Want to be a Programmer?

The importance of never being done

And make sure programming is fun enough.

TGA 14.12.2013 [email protected]

Page 32: TGA2013 Presentation: Want to be a Programmer?

TGA 14.12.2013 [email protected]

“I've come to believe deeply in the

idea that that becoming a great

programmer has very little to do

with programming.” - Jeff Atwood (2011)

http://www.codinghorror.com/blog/2011/02/how-to-write-without-writing.html