tga2013 presentation: want to be a programmer?
Post on 28-Nov-2014
509 Views
Preview:
DESCRIPTION
TRANSCRIPT
Want to be a Programmer?
TGA2013 *Change to Learn -- Learn to Change*
14.12.2013 aapo.koski@iki.fi
A programmer?
Seriously?
TGA 14.12.2013 aapo.koski@iki.fi
Programmer … err … programs
TGA 14.12.2013 aapo.koski@iki.fi
Anything else?
Planning, estimation
Design, implementation
Testing, building, releasing
Communication
TGA 14.12.2013 aapo.koski@iki.fi
Motivation?
Business, technology or problem
motivated?
TGA 14.12.2013 aapo.koski@iki.fi
Reasons to become a Programmer
Jobs Hard skills
Flexibility
Good salary
Challenge Art-
likeness
It’s cool
TGA 14.12.2013 aapo.koski@iki.fi
Reasons NOT to become a Programmer
Do not like programming
Not willing to update your
skills
Management Overtime
TGA 14.12.2013 aapo.koski@iki.fi
TGA 14.12.2013 aapo.koski@iki.fi
Technology Motivated
Business Motivated
Problem Motivated
Me in the 90’s
Me now
But there’s this thing called
Quality
… ”SW quality” is not evident
TGA 14.12.2013 aapo.koski@iki.fi
TGA 14.12.2013 aapo.koski@iki.fi
External Quality
Reli-ability
Usabil-ity
Func-tion-ality
Perfor-mance
Charis-ma
Secu-rity
Main-tain-
ability
Integr-ability
TGA 14.12.2013 aapo.koski@iki.fi
Internal Quality
Test-ability
Read-ability
Main-tain-
ability
Support-ability
Port-ability
TGA 14.12.2013 aapo.koski@iki.fi
Process Quality
Delivery
Budget Repeat-ability
How anyone can handle this? TGA 14.12.2013 aapo.koski@iki.fi
Does quality matter?
Depends on who you ask... and who
ends up paying for the lack of it.
TGA 14.12.2013 aapo.koski@iki.fi
Are we any good?
From an objective POV (?)
TGA 14.12.2013 aapo.koski@iki.fi
TGA 14.12.2013 aapo.koski@iki.fi
www.standishgroup.com
CHAOS Report 2012
We have been analyzed…
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 aapo.koski@iki.fi
Learning
There’s no substitute for learning on
the battlefield.
TGA 14.12.2013 aapo.koski@iki.fi
2 1
3 4
TGA 14.12.2013 aapo.koski@iki.fi
Lazy Diligent / hardwork-ing
Competent
Incompetent
*Adapted from an original idea of M. Ristimäki, 2011
Competence • “Minimum 5 years of experience on DeWALT
D27107XPS Type 3 Combination Saw…”
TGA 14.12.2013 aapo.koski@iki.fi
Tools
Keep your toolbox effective
TGA 14.12.2013 aapo.koski@iki.fi
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 aapo.koski@iki.fi
What’s in your toolshed?
TGA 14.12.2013 aapo.koski@iki.fi
So, once more, all together now…
There is NO silver bullet.
TGA 14.12.2013 aapo.koski@iki.fi
What to beware, part 1
TGA 14.12.2013 aapo.koski@iki.fi
”Happy Creative
Programmer”
”Proud Lead Programmer”
”Product/ System Guru”
”Grumpy Asshole
Programmer”
http://hackerboss.com/the-birth-of-the-grumpy-asshole-programmer/
What to beware, part 2 • Do not let the Architecture Astronauts* scare you…
TGA 14.12.2013 aapo.koski@iki.fi
*http://www.joelonsoftware.com/articles/fog0000000018.html
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 aapo.koski@iki.fi
Shopping list…
Soft skills Communication
Writing Learning (cont.)
Technical skills
TGA 14.12.2013 aapo.koski@iki.fi
Takeway
Do only things that make sense.
Hack.
TGA 14.12.2013 aapo.koski@iki.fi
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 aapo.koski@iki.fi
https://www.schneier.com/blog/archives/2006/09/what_is_a_hacke.html
The importance of never being done
And make sure programming is fun enough.
TGA 14.12.2013 aapo.koski@iki.fi
TGA 14.12.2013 aapo.koski@iki.fi
“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
top related