SlideShare une entreprise Scribd logo
1  sur  85
Télécharger pour lire hors ligne
5-10-15 lat kariery 

Java developera
od zera do bohatera i … z powrotem
Wojciech Seliga
Creative Commons Attribution-NonCommercial-ShareAlike 3.0
32years
Firstly, a digression
Software is eating the world
from code.org
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
Only in USA itself!
No balance between
supply and demand in the
IT job market
Photo by winnifredxoxo - Creative Commons Attribution 2.0
It’s easy to earn a lot
Photo by Andrew Magill - Creative Commons Attribution 2.0
but earning a shitload means usually
managerial path
–Richard Stallman
“The computer industry is the only
industry that is more fashion-driven than
women's fashion.”
Photo by Hartwig HKD - Creative Commons Attribution-NoDerivs 2.0
years
0
• Popular (unis, internet,
literature, open source, free)
• Cross-platform
• Relatively idiot proof
• Good (free) tools
• Good job market (salaries)
• Sexy???
Why Java?
• The language rather simple and easy to
learn, slowish in some applications
• Well, it’s quite backward and I cannot
boost my ego with fancy idioms; a lot of
crap in the language (backward
compatibility at all cost…)
• Easy to (re)write lots of code (ideally
from scratch), yeah!!!
First Java thoughts and behaviours
• They often need to, but are afraid to ask
• Focus on how to write something tersely, neatly, in a
geeky way
• Concentration on “I” - their own education, benefits,
perspective, feelings
// an awesome trick from
// http://stackoverflow.com/questions….
// which allows us to make it way! faster.
// the code follows here ...
Picture by Patrick Barry CC BY SA 2.0
“They are stupid.
They have fucked up
this code”
Focus on low level code quality
• naming convention,
• whitespaces,
• checkstyle rules
• unit test coverage,
• some low level metrics
Predictions provided quickly,
optimistically and eagerly
(rule of thumb)
Spread shallow
Zdjęcie jeffreyw - Creative Commons BY 2.0
I call them juniors
and (later)
grown-up juniors (mids)
The most numerous
group
“How” age
years
5
• Quite verbose and explicit language actually
makes it easier to understand and maintain the
code
• Language supports the understanding that
coding is about “write once, read many times”
• Remembering when writing code that it will be
read 100x more often
• Backward compatibility is not that bad after all…
Java afterthoughts and behaviours
• They need to ask others more seldom, but still are
reluctant as it if would reveal their weakness
• “We and Them Language” (devs vs. customers/users
or “the business”/management)
• Concentrated on the product (my baby) and the
domain
// it's safe to apply a simplified formula
// and thus reduce the complexity
// from O(n) into O(log(n)), which does help
// a lot for long-haul flights.
// the code follows here ...
Picture by Patrick Barry CC BY SA 2.0
“This code looks
broken. Let’s see if we
can fix it.”
Picture by Patrick Barry CC BY SA 2.0
Use The Force,
Read The Source
UTSL
Use the Source, Luke
Focus on higher level code quality
• correct design
• consistency
• adherence to requirements
• functional test coverage
• security
• maintainability
• provide predictions more carefully
• involve others
• think about happy and unhappy paths
• try to predict unpredictable
Knowledge depth
T-shaped man
I call them seniors
Seniors assume
responsibility
The group where most of us
consider themselves to belong
And where the majority stops…
“What” age
years
10
• Quite verbose and explicit language actually
makes it easier for newbies to pick up modules
of non-trivial size and understand them
• Good debuggers, stack traces, thread/
heapdumps and diagnosis tools are life savers.
• Backward compatibility (maybe not 10+ years
back…) is a really good thing in the wild
(Scala, I am looking at you…)
Further afterthoughts about Java
• They ask questions often, do not feel vulnerable
• “It depends” guys
• “We together” language (his dev team + business/management
+ customers/users)
• Concentration on their team and the users
// Because JAA aviation rules allow
// a simplified check here, together with
// aircraft performance department we decided
// (look at http://wiki....)
// to use a simplified formula which allows us
// to reduce O(n) complexity into O(log(n))
// and thus make it acceptably fast
// for long-haul flights.
// the code follows here ...
Picture by Patrick Barry CC BY SA 2.0
“This code looks strange. Let’s
find out why they decided to
implement it in this way”
• Fitting into the big picture
• Response to Market
Trends
• Discovering real (often
hidden) problems
• Addressing business risks
• Usability
• User adoption
• Upgrades/migrations
• Future usage growth
• Constant Learning
Feedback Loop
Mentors
Customers
Users
CI
CD
TDD
DevOps
Bug-fixing
Code Review
Release Cycle
Experiments
Great Team Player != Yes Man
The ability to say “no” is the
sign of true professionalism
Picture by Stephen Almond, CC BY-SA 3.0
• very reluctant to provide any estimations upfront
• eager to operate with ranges and probability
• narrow down the estimates along the way
Picture by FalseReflex, CC 3.0 BY-NC
–Niels Bohr
“Prediction is very difficult,
especially about the future”
PI-shaped man
Eat like a bird and poop like an elephant
Guy Kawasaki
Photo by Megan Coughlin - CC BY-ND 2.0 Photo by blmiers2 - CC BY-NC-SA 2.0
10000
hours
8 hours per day
5.5 years
14.7 years
3 hours per day
Meetings Procrastination
Processes
Methodology
Overhead
E-mails
www.paulgraham.com/
I call them leaders
and/or principals
The group where most of
us aspire to belong, but
many will never be
“Why” age
years
15
• It’s a truly powerful platform. The language
itself hasn’t really changed, but the whole
ecosystem has changed tremendously!
• Amazing tools!
• No serious successor today for
enterprises
• Java 8 finally brought well balanced
language changes
Current afterthoughts about Java
Focus on true customer needs, people around them and their growth
Picture by Patrick Barry CC BY SA 2.0
“Wow, such an unusual code.
I didn’t think about it in this
way. Maybe I was wrong…”
• Noticing and predicting the changes of the trends
• Creating new trends
• ???
PiPi-shaped Man
I call them unicorns
“With whom” age
Seniority - summed up
Focus Technology Product
Solving
problem
Customer
Defining the right problem
Needs
assistance
Independent
Teaching
others
Impacting
the company
Technical
capability
Quality Code L&F
Low Level
System Design
Usability
Extensibility
Architecture
Maintainability
Technical
innovation
Passive
Local
Introduction
Team
Buy-in
Company
Community
Junior Mid Senior Principal
Knowledge
Span
Fragments
of a single stack
Most of the
stack, some element
of other stacks
Complete stack
and a lot of elements
of other stacks
Various stacks
(deeply!)
Bugs Surprised Disappointed Expecting Leveraging
Seniority - cont.
Watching
Questioning
& proposing
Changing
teammates
Changing
company
Process
Improvement
Change Agent
Big Picture
Doesn’t care
or learning
System/Product
understanding
Domain
understanding
Domain expert
(innovation)
Stance Arrogant “Socrates”
Open to
Criticism
Critical
Typical
Experience
1K - 5K hours 3K - 12K hours 7K-20K hours 15K+ hours
Junior Mid Senior Principal
Teaching/
mentoring
Receiver Interns & Juniors Whole team
All people
(also outside)
Estimation Eager & Naive Careful
Reluctant
Pessimistic
Iterative
Narrowing
Communication Team
Simplifies; removes need,
focuses on customers
Notices and removes comms
bottlenecks via processes
Cross-Team
Seniority - coding passion
Junior
Application
Code
Mid
Reusable
Libraries
Senior
Reusable
Frameworks
Principal
Buy over Build…
LoC
A few closing
thoughts
http://www.pracuj.pl/pracuj-w-it/#/8/ 
Yes, you can!
–Heraclitus
“There is nothing permanent except change.”
Don’t concentrate on
mastering only

a technology
Learn to learn
constantly
Summary
• Juniors assume other people ignorance, principals assume
their own ignorance
• Java as a platform and a language is far from dead
• Mastering only Java puts you in a rut. A rut turns silently into
a grave. Overheated job market is your secret enemy - it’s
too easy to rest on laurels.
• After 32 years of coding, I still know nothing
Technical
Skills
Communication
Skills
–Mahatma Gandhi
“Live as if you were to die tomorrow.
Learn as if you were to live forever.”
Software is eating the world
Are we - software developers - aware of this responsibility?
Aren’t we spoiled too much to feel this responsibility?
Are we mature enough to bear this responsibility?
Are we learning enough to succeed?
Questions
?
@wseliga We are
hiring
in Gdańsk!
Shameless
plug

Contenu connexe

Tendances

Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015Wojciech Seliga
 
Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Wojciech Seliga
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)David Benjamin
 
Design for developers
Design for developersDesign for developers
Design for developersJohan Ronsse
 
Building real things for real people 2009
Building real things for real people 2009Building real things for real people 2009
Building real things for real people 2009Justin Ferrell
 
Hiring a developer: step by step debugging
Hiring a developer: step by step debuggingHiring a developer: step by step debugging
Hiring a developer: step by step debuggingLaurent Cerveau
 
The good, the bad, the ugly of UX Recruiting
The good, the bad, the ugly of UX RecruitingThe good, the bad, the ugly of UX Recruiting
The good, the bad, the ugly of UX RecruitingJason Mesut
 
UXPA2019 Enhancing the User Experience for People with Disabilities: Top 10 ...
UXPA2019  Enhancing the User Experience for People with Disabilities: Top 10 ...UXPA2019  Enhancing the User Experience for People with Disabilities: Top 10 ...
UXPA2019 Enhancing the User Experience for People with Disabilities: Top 10 ...UXPA International
 
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterpriseApache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterpriseAdrian Trenaman
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product releaseLaurent Cerveau
 
Common Objections to TDD (and their refutations)
Common Objections to TDD (and their refutations)Common Objections to TDD (and their refutations)
Common Objections to TDD (and their refutations)Seb Rose
 
CTO vs. VP of Engineering
CTO vs. VP of EngineeringCTO vs. VP of Engineering
CTO vs. VP of Engineeringbcantrill
 
UXPA2019 Optimal AR UX for Complex Purchases — How immersive technology boost...
UXPA2019 Optimal AR UX for Complex Purchases — How immersive technology boost...UXPA2019 Optimal AR UX for Complex Purchases — How immersive technology boost...
UXPA2019 Optimal AR UX for Complex Purchases — How immersive technology boost...UXPA International
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Jens Hoffmann
 
Esodoc, multi-platform for documentary
Esodoc, multi-platform for documentaryEsodoc, multi-platform for documentary
Esodoc, multi-platform for documentaryDescience Ltd
 

Tendances (20)

Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015Spartez Open Day March 13th 2015
Spartez Open Day March 13th 2015
 
Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013Software Developer Career Unplugged - GeeCon 2013
Software Developer Career Unplugged - GeeCon 2013
 
Architects and design-org
Architects and design-orgArchitects and design-org
Architects and design-org
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)
 
Design for developers
Design for developersDesign for developers
Design for developers
 
Building real things for real people 2009
Building real things for real people 2009Building real things for real people 2009
Building real things for real people 2009
 
Hiring a developer: step by step debugging
Hiring a developer: step by step debuggingHiring a developer: step by step debugging
Hiring a developer: step by step debugging
 
The good, the bad, the ugly of UX Recruiting
The good, the bad, the ugly of UX RecruitingThe good, the bad, the ugly of UX Recruiting
The good, the bad, the ugly of UX Recruiting
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 
UXPA2019 Enhancing the User Experience for People with Disabilities: Top 10 ...
UXPA2019  Enhancing the User Experience for People with Disabilities: Top 10 ...UXPA2019  Enhancing the User Experience for People with Disabilities: Top 10 ...
UXPA2019 Enhancing the User Experience for People with Disabilities: Top 10 ...
 
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
 
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterpriseApache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
 
Common Objections to TDD (and their refutations)
Common Objections to TDD (and their refutations)Common Objections to TDD (and their refutations)
Common Objections to TDD (and their refutations)
 
CTO vs. VP of Engineering
CTO vs. VP of EngineeringCTO vs. VP of Engineering
CTO vs. VP of Engineering
 
UXPA2019 Optimal AR UX for Complex Purchases — How immersive technology boost...
UXPA2019 Optimal AR UX for Complex Purchases — How immersive technology boost...UXPA2019 Optimal AR UX for Complex Purchases — How immersive technology boost...
UXPA2019 Optimal AR UX for Complex Purchases — How immersive technology boost...
 
Fowd Recap
Fowd RecapFowd Recap
Fowd Recap
 
Intro to the class
Intro to the classIntro to the class
Intro to the class
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08
 
Esodoc, multi-platform for documentary
Esodoc, multi-platform for documentaryEsodoc, multi-platform for documentary
Esodoc, multi-platform for documentary
 

En vedette

Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014Wojciech Seliga
 
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)Wojciech Seliga
 
Innowacja w praktyce - Infoshare 2014
Innowacja w praktyce - Infoshare 2014Innowacja w praktyce - Infoshare 2014
Innowacja w praktyce - Infoshare 2014Wojciech Seliga
 
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKitAtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKitWojciech Seliga
 
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]Wojciech Seliga
 
Escaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterEscaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterWojciech Seliga
 

En vedette (7)

Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014
 
Social Hacking
Social HackingSocial Hacking
Social Hacking
 
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)
How to be Awesome at a Java Developer Job Interview (Confitura 2012, Polish)
 
Innowacja w praktyce - Infoshare 2014
Innowacja w praktyce - Infoshare 2014Innowacja w praktyce - Infoshare 2014
Innowacja w praktyce - Infoshare 2014
 
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKitAtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
AtlasCamp 2012 - Testing JIRA plugins smarter with TestKit
 
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
InfoShare 2012 efektywne przeglądy kodu w zespołach agile [Polish]
 
Escaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterEscaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year Later
 

Similaire à 5-10-15 years of Java developer career - Warszawa JUG 2015

Open Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration PresentationOpen Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration Presentationdarryl_lehmann
 
From TrainedMonkey to Google SoC mentor – How to become an OOo developer
From TrainedMonkey to Google SoC mentor – How to become an OOo developerFrom TrainedMonkey to Google SoC mentor – How to become an OOo developer
From TrainedMonkey to Google SoC mentor – How to become an OOo developerAlexandro Colorado
 
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...Juraj Martinka
 
Product Vs Craft
Product Vs CraftProduct Vs Craft
Product Vs CraftMagenTys
 
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...DevOpsDays Tel Aviv
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseJames Wickett
 
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkTaming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkJoseph Yoder
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"Daniel Bryant
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleJAXLondon_Conference
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?Kasra Khosravi
 
Technologies for startup
Technologies for startupTechnologies for startup
Technologies for startupDzung Nguyen
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsChristian Heilmann
 
Digital Success Stack for DCBKK 2018
Digital Success Stack for DCBKK 2018Digital Success Stack for DCBKK 2018
Digital Success Stack for DCBKK 2018Kyvio
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Balanced Team
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010Klocwork
 
Quality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
Quality and the "Secret Mission:" From End-Stage Tester to Skilled AnalystQuality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
Quality and the "Secret Mission:" From End-Stage Tester to Skilled AnalystDevorah Firestone
 
10 Big Ideas from Industry
10 Big Ideas from Industry10 Big Ideas from Industry
10 Big Ideas from IndustryGarth Gilmour
 
Why you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyWhy you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyMatts Devriendt
 
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownAvisi B.V.
 

Similaire à 5-10-15 years of Java developer career - Warszawa JUG 2015 (20)

Open Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration PresentationOpen Web Technologies and You - Durham College Student Integration Presentation
Open Web Technologies and You - Durham College Student Integration Presentation
 
From TrainedMonkey to Google SoC mentor – How to become an OOo developer
From TrainedMonkey to Google SoC mentor – How to become an OOo developerFrom TrainedMonkey to Google SoC mentor – How to become an OOo developer
From TrainedMonkey to Google SoC mentor – How to become an OOo developer
 
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
Beyond Technical Debt: Unconventional techniques to uncover technical and soc...
 
Product Vs Craft
Product Vs CraftProduct Vs Craft
Product Vs Craft
 
Why other ppl_dont_get_it
Why other ppl_dont_get_itWhy other ppl_dont_get_it
Why other ppl_dont_get_it
 
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
How to survive continuous innovation - Sebastien Goasguen - DevOpsDays Tel Av...
 
DevOps for Defenders in the Enterprise
DevOps for Defenders in the EnterpriseDevOps for Defenders in the Enterprise
DevOps for Defenders in the Enterprise
 
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkTaming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
Technologies for startup
Technologies for startupTechnologies for startup
Technologies for startup
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
 
Digital Success Stack for DCBKK 2018
Digital Success Stack for DCBKK 2018Digital Success Stack for DCBKK 2018
Digital Success Stack for DCBKK 2018
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
Quality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
Quality and the "Secret Mission:" From End-Stage Tester to Skilled AnalystQuality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
Quality and the "Secret Mission:" From End-Stage Tester to Skilled Analyst
 
10 Big Ideas from Industry
10 Big Ideas from Industry10 Big Ideas from Industry
10 Big Ideas from Industry
 
Why you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software companyWhy you should integrate peer code reviews in your software company
Why you should integrate peer code reviews in your software company
 
ASAS 2014 - Simon Brown
ASAS 2014 - Simon BrownASAS 2014 - Simon Brown
ASAS 2014 - Simon Brown
 

Plus de Wojciech Seliga

Sprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdfSprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdfWojciech Seliga
 
Jak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klientaJak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klientaWojciech Seliga
 
How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...Wojciech Seliga
 
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Wojciech Seliga
 
Better Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsBetter Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsWojciech Seliga
 
Bringing Effectiveness and Sanity to Highly Distributed Agile Teams
Bringing Effectiveness and Sanity  to Highly Distributed Agile TeamsBringing Effectiveness and Sanity  to Highly Distributed Agile Teams
Bringing Effectiveness and Sanity to Highly Distributed Agile TeamsWojciech Seliga
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsWojciech Seliga
 

Plus de Wojciech Seliga (7)

Sprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdfSprzedawanie własnego biznesu IT - Confitura 2023.pdf
Sprzedawanie własnego biznesu IT - Confitura 2023.pdf
 
Jak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klientaJak być zarąbistym developerem w oczach szefa i ... klienta
Jak być zarąbistym developerem w oczach szefa i ... klienta
 
How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...How to impress your boss and your customer in a modern software development c...
How to impress your boss and your customer in a modern software development c...
 
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013Escaping Test Hell - Our Journey - XPDays Ukraine 2013
Escaping Test Hell - Our Journey - XPDays Ukraine 2013
 
Better Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian PluginsBetter Front-end Development in Atlassian Plugins
Better Front-end Development in Atlassian Plugins
 
Bringing Effectiveness and Sanity to Highly Distributed Agile Teams
Bringing Effectiveness and Sanity  to Highly Distributed Agile TeamsBringing Effectiveness and Sanity  to Highly Distributed Agile Teams
Bringing Effectiveness and Sanity to Highly Distributed Agile Teams
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile Teams
 

Dernier

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Dernier (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

5-10-15 years of Java developer career - Warszawa JUG 2015

  • 1. 5-10-15 lat kariery 
 Java developera od zera do bohatera i … z powrotem Wojciech Seliga Creative Commons Attribution-NonCommercial-ShareAlike 3.0
  • 3.
  • 5. Software is eating the world
  • 6. from code.org Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License Only in USA itself!
  • 7. No balance between supply and demand in the IT job market Photo by winnifredxoxo - Creative Commons Attribution 2.0
  • 8. It’s easy to earn a lot Photo by Andrew Magill - Creative Commons Attribution 2.0 but earning a shitload means usually managerial path
  • 9. –Richard Stallman “The computer industry is the only industry that is more fashion-driven than women's fashion.”
  • 10. Photo by Hartwig HKD - Creative Commons Attribution-NoDerivs 2.0
  • 12. • Popular (unis, internet, literature, open source, free) • Cross-platform • Relatively idiot proof • Good (free) tools • Good job market (salaries) • Sexy??? Why Java?
  • 13. • The language rather simple and easy to learn, slowish in some applications • Well, it’s quite backward and I cannot boost my ego with fancy idioms; a lot of crap in the language (backward compatibility at all cost…) • Easy to (re)write lots of code (ideally from scratch), yeah!!! First Java thoughts and behaviours
  • 14. • They often need to, but are afraid to ask • Focus on how to write something tersely, neatly, in a geeky way • Concentration on “I” - their own education, benefits, perspective, feelings
  • 15. // an awesome trick from // http://stackoverflow.com/questions…. // which allows us to make it way! faster. // the code follows here ...
  • 16. Picture by Patrick Barry CC BY SA 2.0 “They are stupid. They have fucked up this code”
  • 17. Focus on low level code quality • naming convention, • whitespaces, • checkstyle rules • unit test coverage, • some low level metrics
  • 18. Predictions provided quickly, optimistically and eagerly (rule of thumb)
  • 19. Spread shallow Zdjęcie jeffreyw - Creative Commons BY 2.0
  • 20.
  • 21.
  • 22. I call them juniors and (later) grown-up juniors (mids)
  • 25.
  • 27. • Quite verbose and explicit language actually makes it easier to understand and maintain the code • Language supports the understanding that coding is about “write once, read many times” • Remembering when writing code that it will be read 100x more often • Backward compatibility is not that bad after all… Java afterthoughts and behaviours
  • 28. • They need to ask others more seldom, but still are reluctant as it if would reveal their weakness • “We and Them Language” (devs vs. customers/users or “the business”/management) • Concentrated on the product (my baby) and the domain
  • 29. // it's safe to apply a simplified formula // and thus reduce the complexity // from O(n) into O(log(n)), which does help // a lot for long-haul flights. // the code follows here ...
  • 30. Picture by Patrick Barry CC BY SA 2.0 “This code looks broken. Let’s see if we can fix it.”
  • 31. Picture by Patrick Barry CC BY SA 2.0 Use The Force, Read The Source UTSL Use the Source, Luke
  • 32. Focus on higher level code quality • correct design • consistency • adherence to requirements • functional test coverage • security • maintainability
  • 33. • provide predictions more carefully • involve others • think about happy and unhappy paths • try to predict unpredictable
  • 35.
  • 36.
  • 37. I call them seniors
  • 39. The group where most of us consider themselves to belong And where the majority stops…
  • 41.
  • 43. • Quite verbose and explicit language actually makes it easier for newbies to pick up modules of non-trivial size and understand them • Good debuggers, stack traces, thread/ heapdumps and diagnosis tools are life savers. • Backward compatibility (maybe not 10+ years back…) is a really good thing in the wild (Scala, I am looking at you…) Further afterthoughts about Java
  • 44. • They ask questions often, do not feel vulnerable • “It depends” guys • “We together” language (his dev team + business/management + customers/users) • Concentration on their team and the users
  • 45. // Because JAA aviation rules allow // a simplified check here, together with // aircraft performance department we decided // (look at http://wiki....) // to use a simplified formula which allows us // to reduce O(n) complexity into O(log(n)) // and thus make it acceptably fast // for long-haul flights. // the code follows here ...
  • 46. Picture by Patrick Barry CC BY SA 2.0 “This code looks strange. Let’s find out why they decided to implement it in this way”
  • 47. • Fitting into the big picture • Response to Market Trends • Discovering real (often hidden) problems • Addressing business risks • Usability • User adoption • Upgrades/migrations • Future usage growth • Constant Learning
  • 49. Great Team Player != Yes Man
  • 50. The ability to say “no” is the sign of true professionalism Picture by Stephen Almond, CC BY-SA 3.0
  • 51. • very reluctant to provide any estimations upfront • eager to operate with ranges and probability • narrow down the estimates along the way Picture by FalseReflex, CC 3.0 BY-NC
  • 52. –Niels Bohr “Prediction is very difficult, especially about the future”
  • 54. Eat like a bird and poop like an elephant Guy Kawasaki Photo by Megan Coughlin - CC BY-ND 2.0 Photo by blmiers2 - CC BY-NC-SA 2.0
  • 56. 8 hours per day 5.5 years
  • 57. 14.7 years 3 hours per day Meetings Procrastination Processes Methodology Overhead E-mails
  • 58.
  • 60. I call them leaders and/or principals
  • 61. The group where most of us aspire to belong, but many will never be
  • 63.
  • 65. • It’s a truly powerful platform. The language itself hasn’t really changed, but the whole ecosystem has changed tremendously! • Amazing tools! • No serious successor today for enterprises • Java 8 finally brought well balanced language changes Current afterthoughts about Java
  • 66. Focus on true customer needs, people around them and their growth
  • 67. Picture by Patrick Barry CC BY SA 2.0 “Wow, such an unusual code. I didn’t think about it in this way. Maybe I was wrong…”
  • 68. • Noticing and predicting the changes of the trends • Creating new trends • ???
  • 70. I call them unicorns
  • 72. Seniority - summed up Focus Technology Product Solving problem Customer Defining the right problem Needs assistance Independent Teaching others Impacting the company Technical capability Quality Code L&F Low Level System Design Usability Extensibility Architecture Maintainability Technical innovation Passive Local Introduction Team Buy-in Company Community Junior Mid Senior Principal Knowledge Span Fragments of a single stack Most of the stack, some element of other stacks Complete stack and a lot of elements of other stacks Various stacks (deeply!) Bugs Surprised Disappointed Expecting Leveraging
  • 73. Seniority - cont. Watching Questioning & proposing Changing teammates Changing company Process Improvement Change Agent Big Picture Doesn’t care or learning System/Product understanding Domain understanding Domain expert (innovation) Stance Arrogant “Socrates” Open to Criticism Critical Typical Experience 1K - 5K hours 3K - 12K hours 7K-20K hours 15K+ hours Junior Mid Senior Principal Teaching/ mentoring Receiver Interns & Juniors Whole team All people (also outside) Estimation Eager & Naive Careful Reluctant Pessimistic Iterative Narrowing Communication Team Simplifies; removes need, focuses on customers Notices and removes comms bottlenecks via processes Cross-Team
  • 74. Seniority - coding passion Junior Application Code Mid Reusable Libraries Senior Reusable Frameworks Principal Buy over Build… LoC
  • 78. –Heraclitus “There is nothing permanent except change.”
  • 79. Don’t concentrate on mastering only
 a technology Learn to learn constantly
  • 80. Summary • Juniors assume other people ignorance, principals assume their own ignorance • Java as a platform and a language is far from dead • Mastering only Java puts you in a rut. A rut turns silently into a grave. Overheated job market is your secret enemy - it’s too easy to rest on laurels. • After 32 years of coding, I still know nothing
  • 82.
  • 83. –Mahatma Gandhi “Live as if you were to die tomorrow. Learn as if you were to live forever.”
  • 84. Software is eating the world Are we - software developers - aware of this responsibility? Aren’t we spoiled too much to feel this responsibility? Are we mature enough to bear this responsibility? Are we learning enough to succeed?
  • 85. Questions ? @wseliga We are hiring in Gdańsk! Shameless plug