SlideShare a Scribd company logo
HOW TO BECOME
A BETTER
DEVELOPER?
1
Jerzy Zawadzki
▸ PHP programmer with 10 years of experience
▸ at Polcode for over 7 years, now a Senior PHP Developer
▸ working with Symfony2 and/or Magento on a daily basis
▸ Zend Certified Engineer
▸ Magento Certified Developer
▸ in spare time I like hiking, chasing after special services with a
camera or building something with LEGO
2
- founded at 2006 by developers
- PHP (i.a. Symfony 2, Laravel, ZF, Magento, Wordpress)
- Ruby On Rails
- Python
- clients mostly from the North America, Western Europe and
Australia
- 800 satisfied customers
- 1200 conducted projects
- >100 devs
- Warsaw, Krakow, Katowice, Lodz, Bialystok
+ remote
3
HOW TO BECOME
A BETTER
DEVELOPER?
4
WHAT DOES IT
MEAN TO BE A
GOOD DEVELOPER?
5
I’M A GOOD DEV
BECAUSE…
I HAVE 10 YEARS
OF EXPERIENCE?
6
I’M A GOOD DEV
BECAUSE…
I KNOW ALL OF THE
PROGRAMMING PRINCIPLES
AND METHODOLOGIES?
7
Abstraction principle, Code reuse, Cohesion, Command–query separation, Defensive
programming, Dependency inversion principle, Discoverability, Don't repeat yourself,
Fail-fast, GRASP, Hollywood principle, Information hiding, Interface segregation
principle, Inversion of control, KISS principle, Law of Demeter, Liskov substitution
principle, Loose coupling, MINASWAN, Open/closed principle, Principle of least
astonishment, Separation of concerns, Separation of mechanism and policy, Single
responsibility principle, SOLID, Uniform access principle, 80:20 rule, Amdahl's law, Code
smell, Deutsch limit, Greenspun's tenth rule, Gustafson's law, If it ain't broke, don't fix it,
IIABDFI, MINASWAN, Ninety-ninety rule, Rule of three, Zero one infinity rule,
Acceptance test-driven development, After the Software Wars, Agile Manifesto, Agile
software development, Behavior-driven development, The Cathedral and the Bazaar,
Comment programming, Cowboy coding, Design-driven development, Domain-driven
design, Extreme programming, Formal methods, Hollywood principle, Homesteading the
Noosphere, Integration competency center, Iterative and incremental development,
Kanban, KISS principle, Lean integration, Lean software development, Lightweight
methodology, The Magic Cauldron, Mayo-Smith pyramid, Micro-innovation, Minimalism,
Open/closed principle, Planning poker, PM Declaration of Interdependence, Release
early, release often, Retrenchment, Rule of least power, Secure by design, Slow
programming, Specification by example, Test double, Continuous test-driven
development, Test-driven development, Test-Driven Development by Example, There's
more than one way to do it, Transformation Priority Premise, Unix philosophy, Waterfall
model, Worse is better, You aren't gonna need it,
https://en.wikipedia.org/wiki/Category:Software_development_philosophies
8
I’M A GOOD DEV
BECAUSE…
I DON’T USE
FRAMEWORKS?
9
I’M A GOOD DEV
BECAUSE…
I CODE IN NOTEPAD?
10
I’M A GOOD DEV
BECAUSE…
I WRITE GOOD CODE?
11
I’M A GOOD DEV
BECAUSE…
I WRITE GOOD CODE?
12
?
1.
ABOUT GOOD CODE
13
“”Always code as if the guy who ends up
maintaining your code will be a violent
psychopath who knows where you live.”
– Martin Golding.
14
KISS
15
you cannot write
perfect code
16
you can write code
that is good enough
17
UGLY CODE
that works is
BETTER
than pretty one that
DOESN’T
18
2.
ABOUT GOOD
PROJECTS
19
The Psychology of
Computer Programming
Gerald M. Weinberg
1971
20
Programming quality
according to Weinberg
▸ Use Symfony
▸ DDD!
▸ BDD!
▸ DO NOT code in Laravel
▸ Don’t touch Wordpress, ever
▸ PHP sucks
21
▸ Use Symfony
▸ DDD!
▸ BDD!
▸ DO NOT write in Laravel
▸ Don’t touch Wordpress, ever
▸ PHP sucks
Programming quality
according to Weinberg
22
X
Software quality
meets the
specification
on time and
budget
adaptable to changing
requirements
23
efficient in a given
environment
meets the
specification
24
searching for
requirements
25
on time and
budget
26
“It always takes longer than
you expect, even when you
take into account
Hofstadter's Law.
▸ Douglas Hofstadter
Hofstadter’s law
27
“The first 90% of the code accounts for
the first 90% of the development time.
The remaining 10% of the code accounts for
the other 90% of the development time.
▸ Tom Cargill, Bell Labs
Rule of Credibility
(Ninety-ninety rule)
28
efficient in a given
environment
29
You’re not coding
Facebook*
30
Optimization
as an
“Art for art's sake”
31
Servers are cheaper
than developers
32
The fastest query
is one that
will not be run
33
34
The fastest code
is one that
will not be run
35
adaptable to changing
requirements
36
Which system
requirements may
change?
All of them!
37
38
39
X
In large projects, it is
not possible to be
prepared for every
change.
40
41
Software quality
meets the
specification
on time and
budget
adaptable to changing
requirements
efficient in a given
environment
42
43
3.
ABOUT GOOD
DEVELOPERS
44
THINK
45
Don’t think ONLY
about the code
46
▸ customers and their needs
▸ the user
▸ the problem
▸ code maintaince
▸ the future
▸ other developers
THINK ABOUT
47
Act like a
PROFESSIONAL
48
Stick to the standards
49
Don’te be afraid to say:
I DON’T KNOW
50
Check the specification
Ask the client
51
Ask
WHY?
52
Communication
53
Empathy.
54
55
There is not just one
solution to the majority of
problems
56
57
If something is stupid, but it works
it ain’t stupid.
58
Thanks
Any questions?
59

More Related Content

PPTX
About PHP
PPTX
PHP vs JavaScript
PDF
Make your app idea a reality with Ruby On Rails
PPTX
Nascenia -- company profile
PPTX
Java script fundamental - Introduction to JavaScript Programming Language
PDF
Why xamarin?
PDF
Measuring code quality:WTF/min by @dgomezg
PPT
Vittorio Viarengo, VP Oracle Telco Strategy and Development Oracle fusion mid...
About PHP
PHP vs JavaScript
Make your app idea a reality with Ruby On Rails
Nascenia -- company profile
Java script fundamental - Introduction to JavaScript Programming Language
Why xamarin?
Measuring code quality:WTF/min by @dgomezg
Vittorio Viarengo, VP Oracle Telco Strategy and Development Oracle fusion mid...

Similar to How to become a better developer? (20)

PPT
Software Development in 21st Century
PPTX
Preocupações Desenvolvedor Ágil
PDF
Friday final test
PDF
It is a sunny day
PDF
Rules of development (and everything else for what matters)
KEY
Products are a mess
PPTX
You cant be agile if your code sucks
PDF
Surviving a Hackathon and Beyond
PPTX
Ordina Accelerator program 2019 - DevOps CI-CD
PPTX
Skill of superb developers
PDF
Developer++ through patterns, architecture, and products
PPTX
Agile product development
PDF
Random thoughts and dev practices / advices to build a great product
PPTX
11 rules for programmer should live by
PPT
Arch factory - Agile Design: Best Practices
PPTX
Recipe of a rockstar developer
PDF
Back To Basics Hyper Free Principles For Software Developers
PPT
Pragmatic 1
PPTX
CF Camp 2013 Software Craftsmanship for CFML Developers
PPTX
MagmaRails - Passionate Programmer
Software Development in 21st Century
Preocupações Desenvolvedor Ágil
Friday final test
It is a sunny day
Rules of development (and everything else for what matters)
Products are a mess
You cant be agile if your code sucks
Surviving a Hackathon and Beyond
Ordina Accelerator program 2019 - DevOps CI-CD
Skill of superb developers
Developer++ through patterns, architecture, and products
Agile product development
Random thoughts and dev practices / advices to build a great product
11 rules for programmer should live by
Arch factory - Agile Design: Best Practices
Recipe of a rockstar developer
Back To Basics Hyper Free Principles For Software Developers
Pragmatic 1
CF Camp 2013 Software Craftsmanship for CFML Developers
MagmaRails - Passionate Programmer
Ad

More from Polcode (20)

PDF
How to keep customers engaged to turn them into fans
PDF
Expert Advice on ERP
PDF
User Experience (UX): Brand-Customer Interaction
PDF
The Difference Between UX and UI
PDF
5 Benefits of Utilizing Machine Learning in eLearning
PDF
KrakowJS Conference Highlights
PDF
Best Practices for Dropdowns
PDF
What’s Next for the Web?
PDF
Book Recommended By Our CTO
PDF
8 Biggest Web Design Trends For 2018 eCommerce
PDF
World Wide Web today
PDF
Wordpress in numbers
PDF
Cryptocurrencies in e-commerce
PDF
Why Choose WooCommerce?
PDF
A guide to vastly improving your eCommerce business by investing nothing more...
PDF
Boost your conversions by 40% and more with these 10 growth hacking tips!
PDF
Future web developer, you are going to be tremendously valuable
PDF
10 reasons why Symfony is just the right fit for your project
PDF
Free, SaaS or Enterprise? You’re asking the wrong question!
PDF
Improve your web and app development with the Symfony3 framework.
How to keep customers engaged to turn them into fans
Expert Advice on ERP
User Experience (UX): Brand-Customer Interaction
The Difference Between UX and UI
5 Benefits of Utilizing Machine Learning in eLearning
KrakowJS Conference Highlights
Best Practices for Dropdowns
What’s Next for the Web?
Book Recommended By Our CTO
8 Biggest Web Design Trends For 2018 eCommerce
World Wide Web today
Wordpress in numbers
Cryptocurrencies in e-commerce
Why Choose WooCommerce?
A guide to vastly improving your eCommerce business by investing nothing more...
Boost your conversions by 40% and more with these 10 growth hacking tips!
Future web developer, you are going to be tremendously valuable
10 reasons why Symfony is just the right fit for your project
Free, SaaS or Enterprise? You’re asking the wrong question!
Improve your web and app development with the Symfony3 framework.
Ad

Recently uploaded (20)

PPTX
Surgical thesis protocol formation ppt.pptx
PDF
L-0018048598visual cloud book for PCa-pdf.pdf
PPTX
Cerebral_Palsy_Detailed_Presentation.pptx
PDF
Manager Resume for R, CL & Applying Online.pdf
PPTX
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
PPTX
DPT-MAY24.pptx for review and ucploading
PPTX
_+✅+JANUARY+2025+MONTHLY+CA.pptx current affairs
DOC
field study for teachers graduating samplr
PPTX
internship presentation of bsnl in colllege
PDF
Daisia Frank: Strategy-Driven Real Estate with Heart.pdf
PPTX
Nervous_System_Drugs_PPT.pptxXXXXXXXXXXXXXXXXX
PPTX
Principles of Inheritance and variation class 12.pptx
PDF
Prostaglandin E2.pdf orthoodontics op kharbanda
PPT
Gsisgdkddkvdgjsjdvdbdbdbdghjkhgcvvkkfcxxfg
PPTX
Prokaryotes v Eukaryotes PowerPoint.pptx
DOCX
mcsp232projectguidelinesjan2023 (1).docx
PPTX
Definition and Relation of Food Science( Lecture1).pptx
PPT
APPROACH TO DEVELOPMENTALlllllllllllllllll
PPTX
1751884730-Visual Basic -Unitj CS B.pptx
PPTX
退学买新西兰毕业证(WelTec毕业证书)惠灵顿理工学院毕业证国外证书制作
Surgical thesis protocol formation ppt.pptx
L-0018048598visual cloud book for PCa-pdf.pdf
Cerebral_Palsy_Detailed_Presentation.pptx
Manager Resume for R, CL & Applying Online.pdf
PE3-WEEK-3sdsadsadasdadadwadwdsdddddd.pptx
DPT-MAY24.pptx for review and ucploading
_+✅+JANUARY+2025+MONTHLY+CA.pptx current affairs
field study for teachers graduating samplr
internship presentation of bsnl in colllege
Daisia Frank: Strategy-Driven Real Estate with Heart.pdf
Nervous_System_Drugs_PPT.pptxXXXXXXXXXXXXXXXXX
Principles of Inheritance and variation class 12.pptx
Prostaglandin E2.pdf orthoodontics op kharbanda
Gsisgdkddkvdgjsjdvdbdbdbdghjkhgcvvkkfcxxfg
Prokaryotes v Eukaryotes PowerPoint.pptx
mcsp232projectguidelinesjan2023 (1).docx
Definition and Relation of Food Science( Lecture1).pptx
APPROACH TO DEVELOPMENTALlllllllllllllllll
1751884730-Visual Basic -Unitj CS B.pptx
退学买新西兰毕业证(WelTec毕业证书)惠灵顿理工学院毕业证国外证书制作

How to become a better developer?