Weitere ähnliche Inhalte
Ähnlich wie A modern Developer [2016] (20)
Kürzlich hochgeladen (20)
A modern Developer [2016]
- 1. © OPITZ CONSULTING 2016
überraschend mehr Möglichkeiten!
© OPITZ CONSULTING 2016
An overview about the craftsmanship of a
nowadays software engineer
Tommy Ziegler, Entwickler
A modern Developer
- 2. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 2
Knowing your tools
- 3. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 3
Knowing and using tools like ...
Development environment which improves your workflow (IntelliJ, Eclipse,
emacs ..)
Learn the shortcuts, find some cheat sheet
Continuous Integration and Delivery pipeline
Use Command Line Tools to understand the workflow
Code Quality
Static Code Analysis ( e.g.
Sonarcube, Sonargraph, ... )
Code reviews, coding guidelines
- 4. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 4
Software Craftsmanship
Test Driven Development
Pair Programming
Code Reviews
DevOps Culture
- 5. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 5
Clean Code mit Hilfe der Pfadfinder-Regel
- 6. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 6
Building the right product in a happy team
Agile project management Scrum / Kanban
Feature development with Minimum Viable Product
Data-driven development
UI / UX Expertise
- 7. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 7
Participate and get your hands dirty
Open Source participation
Writing blog articles about some experience
Share your knowledge around the team / company
Learn or have some look at new programming languages
Try to improve your code by migrating to new paradigms (e.g. J8 Streams)
- 8. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 8
Get more knowledge
Read on Stackoverflow, Dzone, Voxxed, Subscribe Weeklies and
Changelog Nightly, important blogs from companies and developers and
many other
Listen podcasts (e.g. heise Developer, innoQ Podcast, Java Council, SE-
Radio, ThoughtWorks, Java Possee [discontinued])
Watch webcasts, conference talks, YouTube and e-learning platforms
Devoxx, Spring Developer Channel
Visit Conferences ...
Devoxx, BED-Con,
Xconf HH, CodeTalks,
Jax, Javaland, JavaOne,
Riga Dev Days ...
- 9. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 9
Java Posse @ Devoxx
https://vimeo.com/113170080
- 10. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 10
Follow the trends in the IT field
Follow the reliable people on Twitter
Technology Twitter Channels and their Lead Developers
f.e. Java Champions, Spring / Google Developer etc.
People you meet on conferences, meetups etc.
Going to conferences
Participating at local Meetup Groups
- 11. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 11
Technical
Dependency Injection Frameworks
Microservices / Self-Contained Systems
RESTful Services with HAL + JSON (Hypertext-driven)
Dependency Managament and Build Tools (Maven, Gradle, Gulp, Npm, ...)
Web-Frontend
MVC Patterns, Component based (GWT, Vaadin, ...), Template based (JSP, Thymeleaf, ...),
Standalone Web-Frontend
Databases (RDBMS, Key-Value Store, Document based, Search Engines
Graph, ...)
Relational (f.e. Oracle, MySQL / MariaDB, MSSQL, Access ...)
NoSQL (f.e. Mongo, Reddis, Elasticsearch, Neo4J ...)
- 12. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 12
Technical
Imperative programming paradigm
e.g. Java, C/C++, ...
Functional programming paradigm
e.g. Lambdas, Haskell, ...
Reactive programming paradigm
MVC -> MVP -> MVVM -> MV* (MVW)
Functional:
- Programming by invoking
1 var arr = [2,3,1,8,5];
2 arr.forEach(element, index) {
3 console.log(elemet);
4 }
Imperative:
- Describe the algorithm by code construct
1 var arr = [2,3,1,8,5];
2 for(var i in arr) {
3 console.log(arr[i]);
4 }
- 13. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 13
Dependency Injection
http://dwiardiirawan.com/index.php/2016/05/18/wha
t-is-dependency-injection-and-what-are-the-
advantage/
- 14. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 14
Monolithic/Layered vs. Microservices
http://www.martinfowler.com/articles/microservices.html
- 15. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 15
Twelve Factor Apps
The twelfe Factor Apps (Heroku)
Deklarative Format
Saubere Verträge
Deployment auf Cloud Plattformen
Abweichung minimieren
Continuos Deployment
Skalierbarkeit
Webseite: https://12factor.net
Die ZWÖLF-FAKTOREN
1. Codebase
2. Abhängigkeiten
3. Konfiguration
4. Unterstütste Dienste
5. Build, release, run
6. Prozesse
7. Bindung an Ports
8. Nebenläufigkeit
9. Einweggebrauch
10. Dev-Prod-Vergleichbarkeit
11. Logs
12. Admin-Prozesse
- 16. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 16
RESTful Services
- 17. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 17
Databases
- 18. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 18
Technical [Advanced]
Cloud
AWS, Microsoft,
Big Data
MapReduce, Hadoop, Spring XD
Machine Learning
Supervised, unsupervised Learning
IoT
Virtualisierung / Containerization (xaaS)
Configuration Managament (Infrastructure as a Code)
- 19. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 19
Web UI / Technologies [Top 2016]
Reactive JS Frameworks:
Mobservable
Omniscient
Reactive.js
Mercury
WebRX
Deku
Riot.js
Mithril
Vue.js
MVC JS
Frameworks:
Angular.js
jQuery
React
Socket
Polymer
Node.js
Meteor
D3.js
Ember
Aurelia
Knockout
Keystone
Backbone.js
Stapes.js
- 20. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 20
Continuos
Delivery
- 21. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 21
Dashboards
- 22. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 22
Theoretical
Bücher
Design Patterns (Buch von Erich Gamma, John Vlissides, Ralph Johnson und Richard Helm
aka. GoF)
Refactoring (Buch von Martin Fowler)
Clean Code (Buch von Robert C. Martin)
Domain Driven Design (Buch von Eric J. Evans)
The Phoenix Project (Buch von Gene Kim, Kevin Behr, George Spafford)
Continious Delivery (Buch von Jez Humble)
Lean Startup (Buch von Eric Ries)
uvm.
KIS (Keep it Simple)
- 23. © OPITZ CONSULTING 2016 Wieso Senior Entwickler jung bleiben müssen. Seite 23
Some other tools and technical stuff
CI Software (Jenkins, CircleCI, TravisCI, Shippable, GitLab, ...)
Automation Tools (Jenkins, Rundeck, Spring Batch / Boot, ...)
- 25. © OPITZ CONSULTING 2016
überraschend mehr Möglichkeiten!
@OC_WIRE
OPITZCONSULTING
opitzconsulting
opitz-consulting-bcb8-1009116
WWW.OPITZ-CONSULTING.COM
Seite 25
Cloud, TDD, RESTful, BI/BigData, Agile and Spring
enthusiast - Love to be in Riga
Tommy Ziegler
Consultant, Developer and Agile Coach
Landwehr 2
22087 Hamburg
tommy.ziegler@opitz-consulting.com
Twitter: @tommyziegler_de
Blog: http://www.tommyziegler.com
Wieso Senior Entwickler jung bleiben müssen.