a developer's journey to craftsmanship

18
A Developer's Journey to Craftsmanship from imperative programming to application architecture

Upload: georgiana-gligor

Post on 18-Aug-2015

45 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: A developer's journey to craftsmanship

A Developer's Journey to Craftsmanship

from imperative programming to application architecture

Page 2: A developer's journey to craftsmanship
Page 3: A developer's journey to craftsmanship
Page 4: A developer's journey to craftsmanship

Imperative programming

• get the computer do what you tell it to

• functions to group repeating functionality

• learn the tools of the trade

Page 5: A developer's journey to craftsmanship
Page 6: A developer's journey to craftsmanship

Object-Oriented Programming

• examples are too simple, project is too complex

• classes are more a collection of functions

• Util/

Page 7: A developer's journey to craftsmanship
Page 8: A developer's journey to craftsmanship

Modular structure• packaging principles

• modules

• MVC

• behaviour

• refine OOP knowledge

• refactoring

Page 9: A developer's journey to craftsmanship
Page 10: A developer's journey to craftsmanship

Performance considerations

• database optimisations

• caching

• logs

• minification

• metrics

Page 11: A developer's journey to craftsmanship
Page 12: A developer's journey to craftsmanship

Test-driven development

• treat current codebase as legacy

• cover with tests one module a time

• prevent regression

• embrace continuous integration

• observe incidents occurance diminishing

Page 13: A developer's journey to craftsmanship
Page 14: A developer's journey to craftsmanship

Service-oriented interactions

• data access shifts from monolithical (fat model) to services

• horizontal scalability

• improve caching approach

• eventual consistency

Page 15: A developer's journey to craftsmanship
Page 16: A developer's journey to craftsmanship

Domain-driven design

• complete mindset change

• core domain

• bounded context

Page 17: A developer's journey to craftsmanship
Page 18: A developer's journey to craftsmanship

Architecture

• able to address each colour of the rainbow

• choose your battles wisely

• don’t stop learning