SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
How to become a great developer 
Corsin Decurtins, Netcetera 
JavaDay 
2014-11-22 / Skopje
How many people here are… 
… developers? 
… not developers? 
… application developers? 
… great developers?
How to become a great developer 
Corsin Decurtins, Netcetera 
JavaDay 
2014-11-22 / Skopje
Notes 
About this talk 
I do not consider myself a great developer. 
I have always wanted to become a better developer. 
I have learned a few things along the way that made me a 
better developer. 
I have seen qualities in other people that I consider make 
them great developers. 
This is what this talk is about.
Notes 
About this talk 
Observations and interpretations of qualities of other people. 
Half-baked theories and predictions about the future. 
Retrospective observations about myself and things that 
made me a better developer. 
Skills that I think are important for developers, and will be 
even more important in the future.
Basics
Notes 
Basics 
I will not talk much about the basics. 
Of course you need to improve your development skills. 
Learn about things like 
Clean Code, Good Design, Test-Driven Development 
Agile Methodologies, Test Coverage, Complexity 
Design Patterns, Reactive Programming, … 
But you already know that.
Code
Notes 
Reading Code 
Code is something we deal with every day 
Focus is usually on writing code. But reading code is a great way of 
learning things. 
Coding style, design patterns, naming conventions, formatting, 
algorithms, data structures, logging, … 
Create a habit of reading code 
Code reviews 
Other projects from your company, libraries, code on Github 
Look at the code of open-source components that you use
Architecture
Notes 
Software Architecture 
Developers sometimes have negative connotations with architecture 
Software architects are the guys in shirts and ties that tell you what to do, 
but do not really know what they are talking about 
Software Architecture is a property of a system 
It’s about the big picture; it’s about things that are difficult to change 
Software Architecture is way to important to leave it to the “Software 
Architects” 
Be interested in Software Architecture and learn things about it 
Simon Brown’s Software Architecture for Developers is my recommendation
Notes 
Learning New Languages 
You have probably already heard this one. 
Learn new languages, even if you will never really use them. 
Languages always come with a way of thinking, a way of 
looking at the world. 
First-class citizens and concepts of programming languages.
Notes 
Learning New Languages 
You learn a new language. 
You are confronted with a new way of looking at the world and 
at computing / programming. 
You can use ideas and concepts from one language in another 
language. 
You learn about core concepts and different ways of looking at 
the world 
You learn to learn new languages
Notes 
Software Development 
Writing Code 
Avoiding Bugs 
Well-structured, clean code 
Automated tests 
Robust design, flexible, scalable, adaptable, extensible 
Delivering value to the customer
Notes 
The great software developer 
A great software developer is great at writing code 
Learn about good architecture, clean code, automated 
testing, continuous integration, design patterns and 
principles, … 
But software development is about a lot more than just writing 
code, particularly when we are talking about application 
code rather than frameworks, libraries and components.
Software 
Development 
Testing 
Quality Assurance 
User Experience 
Interaction 
Graphics 
Marketing 
Operations 
Architecture 
Management 
Business 
Security 
Product Management 
Legal 
Requirements 
Engineering
Notes 
There are lots of other parties involved in a Software 
Development project. 
The actual software development is just one part of the 
overall process. 
People who are experts in other domains contribute to the 
software development project. 
So how do you collaborate with all these parties … from a 
software developers point of view.
Group N-1 
Group N 
Group N+1
Group N-1 
Group N 
Group N+1
Group N-1 
Group N 
Group N+1 
Group N+2 
Group N+3 
Group N+4
Notes 
Collaboration used to be from one group to another, usually 
through some formal artefacts like documents, code or 
similar deliverables. 
Feedback was not very prominent in this old model of 
collaboration. 
Essentially, this is waterfall thinking.
Software 
Development 
Testing 
Quality Assurance 
User Experience 
Interaction 
Graphics 
Marketing 
Operations 
Architecture 
Analytics 
Management 
Business 
Security 
Product Management 
Legal 
Requirements 
Engineering 
DevOps 
Analytics 
DDD Scrum 
Test 
Automation 
Scrum A/B Testing
Notes 
Collaboration between the different groups is changing. 
Lots of buzzwords are around nowadays (as seen on the previous 
slide). What a lot of them have in common is that they include a 
much closer collaboration between different groups of people. 
Devops is a good example for this. At the core is promotes a very 
close collaboration between software developers and operations 
people. 
More interaction, more feedback, more informal communication 
and collaboration. 
This is basically the idea mentioned in the Agile Manifesto.
Agile Manifesto 
Individuals and interactions over processes and tools 
Working software over comprehensive documentation 
Customer collaboration over contract negotiation 
Responding to change over following a plan
Software 
Development 
Testing 
Quality Assurance 
User Experience 
Interaction 
Graphics 
Marketing 
Operations 
Architecture 
Management 
Business 
Security 
Product Management 
Legal 
Requirements 
Engineering
Notes 
Agile Collaboration 
Fewer formal interfaces between the different teams. 
Focus on collaboration and communication. 
Much more feedback. 
Redefinition of the “team” as a group of people with a common 
goal (and completely different skills) rather than just a group of 
people with the same skills and tasks. 
This has an impact on us as software developers and on the 
skills that we need.
Software 
Development
Notes 
Making your skills available 
It’s not just about having good technical skills and knowledge 
It’s also about making those skills available to your clients 
The value of a developer lies within what he or she knows 
and can do, but also how well the team and the client can 
make use of this knowledge and skills 
Think of it as the functionality that you provide and the API 
through which you expose this functionality
Software 
Development 
Testing 
Quality Assurance 
User Experience 
Interaction 
Graphics 
Marketing 
Operations 
Architecture 
Management 
Business 
Security 
Product Management 
Legal 
Requirements 
Engineering
Notes 
Collaboration with other Experts 
Various groups of non-experts are often involved software projects 
These are actually not non-experts, but just experts in other 
domains than yours 
Having some basic knowledge about these other domains help in 
the communication and collaboration 
You do not need to be an expert, but it helps to know some 
things, particularly what drives the people, how they think, what 
they care about and what they value.
Business Domain Knowledge
Notes 
Business Domain Knowledge 
Knowledge about the business domain is particularly important. 
At the end, this is the area where you as a developer are trying to provide value. Do not 
be scared about the business domain. 
Understanding the customer/client. This means multiple things: 
-Actually understanding what the client or customer is talking about. Terms, words, 
expressions, … 
-Understanding what the client/customer is interested in and cares about. 
-Understanding how what you are doing creates value for the customer. 
Formalizing the (often informal) concepts of the customer. In the end you have to explain 
this to the most stupid (but extremely reliable) worker of a company: the computer.
Notes 
Domain-Driven Design 
DDD is a framework that builds on this idea 
It is about a lot of things, but in particular, it also contains the 
idea that: 
All the people involved in the software project should use the 
same concepts (although at different levels of abstract) and 
speak the same language (at very different levels of detail and 
with very different focusses)
Business Domain Knowledge
Learning as an Attitude
Notes 
Learning as an Attitude 
To some people, this might be obvious; to some it’s not 
I have often encountered resistance to learning about the 
business, i.e. developers who do not want to know about the 
business details and almost actively reject to learn anything 
I do not think that you get very far with this 
A great developer in my opinion should embrace this or at least 
accept that he or she might learn something about the 
business by mistake
Management
Notes 
Management 
The management is another red flag for many developers. 
You do not have to become a manager, if you do not want 
to. 
But to know how managers work and what they care about, 
is extremely useful for a software developer.
Languages
Notes 
English 
English is the de-facto standard language in IT (and business) 
Everybody needs basic English skills 
Advanced English skills make your live much easier 
Communication and conversation in English should be effort-less 
Accents are perfectly fine 
Investing in improving your English helps you to become a more 
valuable developer 
Make use of opportunities to read, write, listen to and speak English
Presentation Skills
Notes 
Presentation Skills 
Presentation skills are very useful for developers. 
Presenting at conferences with Powerpoint etc. are only one 
form of this. 
The essence is the ability to summarise complex concepts, 
explain them to people with different knowledge backgrounds. 
A talk at a conference is one form of this; asking a lead 
developer about making a refactoring can be another form.
Open Source
Notes 
Open Source Projects 
Contributing to open source projects are another great way 
to learn a lot of things. 
You collaborate people who work differently than the 
colleagues in your day job. 
You can learn a lot about technical topics, but also about 
collaboration and communication.
Conferences, Talks, …
Notes 
Conferences, Talks, … 
I can only encourage developers to attend conferences, 
talks, user groups, meet-ups, … 
You can learn a lot at these events and you meet a lot of 
interesting people. 
Make use of opportunities, attend events and maybe even 
contribute actively to such events.
Software 
Development
Notes 
Summary 
A great developer needs excellent technical skills. 
But that is not enough. 
It’s also about making those skills available to other people 
The value of a developer lies within what he or she knows and 
can do, but also how well the team and the client can make 
use of this knowledge and skills 
This “API layer” is already very important today and I believe that 
it will be even more important in the future
Corsin Decurtins, Netcetera 
Chief Technology Officer 
corsin.decurtins@netcetera.com 
@corsin
How to become a great developer 
Corsin Decurtins, Netcetera 
JavaDay 
2014-11-22 / Skopje

Weitere ähnliche Inhalte

Was ist angesagt?

Flutter Online Study jam 10-7-2019
Flutter Online Study jam 10-7-2019Flutter Online Study jam 10-7-2019
Flutter Online Study jam 10-7-2019Ahmed Abu Eldahab
 
DevOps at Scale: How Datadog is using AWS and PagerDuty to Keep Pace with Gr...
DevOps at Scale:  How Datadog is using AWS and PagerDuty to Keep Pace with Gr...DevOps at Scale:  How Datadog is using AWS and PagerDuty to Keep Pace with Gr...
DevOps at Scale: How Datadog is using AWS and PagerDuty to Keep Pace with Gr...Amazon Web Services
 
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLWeb development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLJayant Surana
 
Ppt full stack developer
Ppt full stack developerPpt full stack developer
Ppt full stack developerSudhirVarpe1
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web developmentCrampete
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | EdurekaEdureka!
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
How To Build A Mobile App - From Ideation to Launch
How To Build A Mobile App - From Ideation to LaunchHow To Build A Mobile App - From Ideation to Launch
How To Build A Mobile App - From Ideation to LaunchCarlos S. Aquino
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationhugo lu
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development PresentationTurnToTech
 
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化Mu Chun Wang
 

Was ist angesagt? (20)

Software engineering marsic
Software engineering   marsicSoftware engineering   marsic
Software engineering marsic
 
Flutter Online Study jam 10-7-2019
Flutter Online Study jam 10-7-2019Flutter Online Study jam 10-7-2019
Flutter Online Study jam 10-7-2019
 
DevOps at Scale: How Datadog is using AWS and PagerDuty to Keep Pace with Gr...
DevOps at Scale:  How Datadog is using AWS and PagerDuty to Keep Pace with Gr...DevOps at Scale:  How Datadog is using AWS and PagerDuty to Keep Pace with Gr...
DevOps at Scale: How Datadog is using AWS and PagerDuty to Keep Pace with Gr...
 
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLWeb development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQL
 
DevOps and Tools
DevOps and ToolsDevOps and Tools
DevOps and Tools
 
Ppt full stack developer
Ppt full stack developerPpt full stack developer
Ppt full stack developer
 
Full stack web development
Full stack web developmentFull stack web development
Full stack web development
 
Roadmap to Development
Roadmap to DevelopmentRoadmap to Development
Roadmap to Development
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | Edureka
 
REST full API Design
REST full API DesignREST full API Design
REST full API Design
 
Api types
Api typesApi types
Api types
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
API for Beginners
API for BeginnersAPI for Beginners
API for Beginners
 
Flutter
FlutterFlutter
Flutter
 
What's an api
What's an apiWhat's an api
What's an api
 
How To Build A Mobile App - From Ideation to Launch
How To Build A Mobile App - From Ideation to LaunchHow To Build A Mobile App - From Ideation to Launch
How To Build A Mobile App - From Ideation to Launch
 
flutter.school #HelloWorld
flutter.school #HelloWorldflutter.school #HelloWorld
flutter.school #HelloWorld
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
如何利用 OpenAPI 及 WebHooks 讓老舊的網路服務也可程式化
 

Ähnlich wie How to become a great developer

Software engineering
Software engineeringSoftware engineering
Software engineeringsweetysweety8
 
Software Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSoftware Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSeasiaInfotech2
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developerjeetendra mandal
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Chad Udell
 
CF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML DevelopersCF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML DevelopersKev McCabe
 
Gluing it all together: How teams can build enterprise JavaScript application...
Gluing it all together: How teams can build enterprise JavaScript application...Gluing it all together: How teams can build enterprise JavaScript application...
Gluing it all together: How teams can build enterprise JavaScript application...Codemotion
 
How to hire developers for a startup.pdf
How to hire developers for a startup.pdfHow to hire developers for a startup.pdf
How to hire developers for a startup.pdfIonicFirebade App
 
Developers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportDevelopers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportPunit Jajodia
 
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentDavinci software
 
Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011Sandro Mancuso
 
4 Pillars - Presentation Notes
4 Pillars - Presentation Notes4 Pillars - Presentation Notes
4 Pillars - Presentation NotesElizabeth Harris
 
E4IT STARTER - MODULE 11.pdf
E4IT STARTER - MODULE 11.pdfE4IT STARTER - MODULE 11.pdf
E4IT STARTER - MODULE 11.pdfAnna Gandrabura
 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersSarah Dutkiewicz
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignFrank Levering
 
Full Stack Developer Interview Questions
Full Stack Developer Interview QuestionsFull Stack Developer Interview Questions
Full Stack Developer Interview QuestionsRock Interview
 
assignment help experts
assignment help expertsassignment help experts
assignment help experts#essaywriting
 

Ähnlich wie How to become a great developer (20)

Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSoftware Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdf
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
 
CF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML DevelopersCF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML Developers
 
Gluing it all together: How teams can build enterprise JavaScript application...
Gluing it all together: How teams can build enterprise JavaScript application...Gluing it all together: How teams can build enterprise JavaScript application...
Gluing it all together: How teams can build enterprise JavaScript application...
 
How to hire developers for a startup.pdf
How to hire developers for a startup.pdfHow to hire developers for a startup.pdf
How to hire developers for a startup.pdf
 
Developers Nepal Meetup #4 Report
Developers Nepal Meetup #4 ReportDevelopers Nepal Meetup #4 Report
Developers Nepal Meetup #4 Report
 
Os Leung
Os LeungOs Leung
Os Leung
 
Tom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software DevelopmentTom van Ees - Academic and Commercial software Development
Tom van Ees - Academic and Commercial software Development
 
Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011Software Craftsmanship - JAX London 2011
Software Craftsmanship - JAX London 2011
 
4 Pillars - Presentation Notes
4 Pillars - Presentation Notes4 Pillars - Presentation Notes
4 Pillars - Presentation Notes
 
E4IT STARTER - MODULE 11.pdf
E4IT STARTER - MODULE 11.pdfE4IT STARTER - MODULE 11.pdf
E4IT STARTER - MODULE 11.pdf
 
World Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for DevelopersWorld Usability Day 2014 - UX Toolbelt for Developers
World Usability Day 2014 - UX Toolbelt for Developers
 
DDD
DDDDDD
DDD
 
Code & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven DesignCode & Cannoli - Domain Driven Design
Code & Cannoli - Domain Driven Design
 
Full Stack Developer Interview Questions
Full Stack Developer Interview QuestionsFull Stack Developer Interview Questions
Full Stack Developer Interview Questions
 
Itm 423
Itm 423Itm 423
Itm 423
 
assignment help experts
assignment help expertsassignment help experts
assignment help experts
 
ALTNET
ALTNETALTNET
ALTNET
 

Mehr von Netcetera

Payment trend scouting - Kurt Schmid, Netcetera
Payment trend scouting - Kurt Schmid, NetceteraPayment trend scouting - Kurt Schmid, Netcetera
Payment trend scouting - Kurt Schmid, NetceteraNetcetera
 
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, NetceteraBoost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, NetceteraNetcetera
 
Increase conversion, convenience and security in e-commerce checkouts - Silke...
Increase conversion, convenience and security in e-commerce checkouts - Silke...Increase conversion, convenience and security in e-commerce checkouts - Silke...
Increase conversion, convenience and security in e-commerce checkouts - Silke...Netcetera
 
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORMNetcetera
 
Digital Payment in 2020 - Kurt Schmid, Netcetera
Digital Payment in 2020 - Kurt Schmid, NetceteraDigital Payment in 2020 - Kurt Schmid, Netcetera
Digital Payment in 2020 - Kurt Schmid, NetceteraNetcetera
 
AI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
AI First. Erfolgsfaktoren für künstliche Intelligenz im UnternehmenAI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
AI First. Erfolgsfaktoren für künstliche Intelligenz im UnternehmenNetcetera
 
Augmenting Maintenance
Augmenting MaintenanceAugmenting Maintenance
Augmenting MaintenanceNetcetera
 
Front-end up front
Front-end up frontFront-end up front
Front-end up frontNetcetera
 
The future of Prototpying
The future of PrototpyingThe future of Prototpying
The future of PrototpyingNetcetera
 
EMV Secure Remote Commerce (SRC)
EMV Secure Remote Commerce (SRC)EMV Secure Remote Commerce (SRC)
EMV Secure Remote Commerce (SRC)Netcetera
 
Online shopping technology in the fast lane?
Online shopping technology in the fast lane?Online shopping technology in the fast lane?
Online shopping technology in the fast lane?Netcetera
 
Merchant tokenization and EMV® Secure Remote Commerce
Merchant tokenization and EMV® Secure Remote CommerceMerchant tokenization and EMV® Secure Remote Commerce
Merchant tokenization and EMV® Secure Remote CommerceNetcetera
 
Seamless 3-D Secure e-commerce experience
Seamless 3-D Secure e-commerce experienceSeamless 3-D Secure e-commerce experience
Seamless 3-D Secure e-commerce experienceNetcetera
 
Augmenting Health Care
Augmenting Health CareAugmenting Health Care
Augmenting Health CareNetcetera
 
Driving transactional growth with 3-D Secure
Driving transactional growth with 3-D SecureDriving transactional growth with 3-D Secure
Driving transactional growth with 3-D SecureNetcetera
 
Digital Payment Quo Vadis
Digital Payment Quo VadisDigital Payment Quo Vadis
Digital Payment Quo VadisNetcetera
 
EMV® Secure Remote Commerce
EMV® Secure Remote CommerceEMV® Secure Remote Commerce
EMV® Secure Remote CommerceNetcetera
 
Context: The missing ingredient in multilingual software translation
Context: The missing ingredient in multilingual software translationContext: The missing ingredient in multilingual software translation
Context: The missing ingredient in multilingual software translationNetcetera
 
Digital Payments - Netcetera Innovation Summit 2018
Digital Payments - Netcetera Innovation Summit 2018Digital Payments - Netcetera Innovation Summit 2018
Digital Payments - Netcetera Innovation Summit 2018Netcetera
 
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018Netcetera
 

Mehr von Netcetera (20)

Payment trend scouting - Kurt Schmid, Netcetera
Payment trend scouting - Kurt Schmid, NetceteraPayment trend scouting - Kurt Schmid, Netcetera
Payment trend scouting - Kurt Schmid, Netcetera
 
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, NetceteraBoost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
Boost your approved transaction volume - Ana Vuksanovikj Vaneska, Netcetera
 
Increase conversion, convenience and security in e-commerce checkouts - Silke...
Increase conversion, convenience and security in e-commerce checkouts - Silke...Increase conversion, convenience and security in e-commerce checkouts - Silke...
Increase conversion, convenience and security in e-commerce checkouts - Silke...
 
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
3-D Secure 2.0 - Stephan Rüdisüli, Netcetera & Patrick Juffern, INFORM
 
Digital Payment in 2020 - Kurt Schmid, Netcetera
Digital Payment in 2020 - Kurt Schmid, NetceteraDigital Payment in 2020 - Kurt Schmid, Netcetera
Digital Payment in 2020 - Kurt Schmid, Netcetera
 
AI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
AI First. Erfolgsfaktoren für künstliche Intelligenz im UnternehmenAI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
AI First. Erfolgsfaktoren für künstliche Intelligenz im Unternehmen
 
Augmenting Maintenance
Augmenting MaintenanceAugmenting Maintenance
Augmenting Maintenance
 
Front-end up front
Front-end up frontFront-end up front
Front-end up front
 
The future of Prototpying
The future of PrototpyingThe future of Prototpying
The future of Prototpying
 
EMV Secure Remote Commerce (SRC)
EMV Secure Remote Commerce (SRC)EMV Secure Remote Commerce (SRC)
EMV Secure Remote Commerce (SRC)
 
Online shopping technology in the fast lane?
Online shopping technology in the fast lane?Online shopping technology in the fast lane?
Online shopping technology in the fast lane?
 
Merchant tokenization and EMV® Secure Remote Commerce
Merchant tokenization and EMV® Secure Remote CommerceMerchant tokenization and EMV® Secure Remote Commerce
Merchant tokenization and EMV® Secure Remote Commerce
 
Seamless 3-D Secure e-commerce experience
Seamless 3-D Secure e-commerce experienceSeamless 3-D Secure e-commerce experience
Seamless 3-D Secure e-commerce experience
 
Augmenting Health Care
Augmenting Health CareAugmenting Health Care
Augmenting Health Care
 
Driving transactional growth with 3-D Secure
Driving transactional growth with 3-D SecureDriving transactional growth with 3-D Secure
Driving transactional growth with 3-D Secure
 
Digital Payment Quo Vadis
Digital Payment Quo VadisDigital Payment Quo Vadis
Digital Payment Quo Vadis
 
EMV® Secure Remote Commerce
EMV® Secure Remote CommerceEMV® Secure Remote Commerce
EMV® Secure Remote Commerce
 
Context: The missing ingredient in multilingual software translation
Context: The missing ingredient in multilingual software translationContext: The missing ingredient in multilingual software translation
Context: The missing ingredient in multilingual software translation
 
Digital Payments - Netcetera Innovation Summit 2018
Digital Payments - Netcetera Innovation Summit 2018Digital Payments - Netcetera Innovation Summit 2018
Digital Payments - Netcetera Innovation Summit 2018
 
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
"Whats up and new at Netcetera?" - Netcetera Innovation Summit 2018
 

Kürzlich hochgeladen

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
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
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
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
 
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.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Kürzlich hochgeladen (20)

Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
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 ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
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
 
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 ...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

How to become a great developer

  • 1. How to become a great developer Corsin Decurtins, Netcetera JavaDay 2014-11-22 / Skopje
  • 2. How many people here are… … developers? … not developers? … application developers? … great developers?
  • 3. How to become a great developer Corsin Decurtins, Netcetera JavaDay 2014-11-22 / Skopje
  • 4. Notes About this talk I do not consider myself a great developer. I have always wanted to become a better developer. I have learned a few things along the way that made me a better developer. I have seen qualities in other people that I consider make them great developers. This is what this talk is about.
  • 5. Notes About this talk Observations and interpretations of qualities of other people. Half-baked theories and predictions about the future. Retrospective observations about myself and things that made me a better developer. Skills that I think are important for developers, and will be even more important in the future.
  • 7. Notes Basics I will not talk much about the basics. Of course you need to improve your development skills. Learn about things like Clean Code, Good Design, Test-Driven Development Agile Methodologies, Test Coverage, Complexity Design Patterns, Reactive Programming, … But you already know that.
  • 9. Notes Reading Code Code is something we deal with every day Focus is usually on writing code. But reading code is a great way of learning things. Coding style, design patterns, naming conventions, formatting, algorithms, data structures, logging, … Create a habit of reading code Code reviews Other projects from your company, libraries, code on Github Look at the code of open-source components that you use
  • 11.
  • 12. Notes Software Architecture Developers sometimes have negative connotations with architecture Software architects are the guys in shirts and ties that tell you what to do, but do not really know what they are talking about Software Architecture is a property of a system It’s about the big picture; it’s about things that are difficult to change Software Architecture is way to important to leave it to the “Software Architects” Be interested in Software Architecture and learn things about it Simon Brown’s Software Architecture for Developers is my recommendation
  • 13.
  • 14. Notes Learning New Languages You have probably already heard this one. Learn new languages, even if you will never really use them. Languages always come with a way of thinking, a way of looking at the world. First-class citizens and concepts of programming languages.
  • 15. Notes Learning New Languages You learn a new language. You are confronted with a new way of looking at the world and at computing / programming. You can use ideas and concepts from one language in another language. You learn about core concepts and different ways of looking at the world You learn to learn new languages
  • 16.
  • 17. Notes Software Development Writing Code Avoiding Bugs Well-structured, clean code Automated tests Robust design, flexible, scalable, adaptable, extensible Delivering value to the customer
  • 18. Notes The great software developer A great software developer is great at writing code Learn about good architecture, clean code, automated testing, continuous integration, design patterns and principles, … But software development is about a lot more than just writing code, particularly when we are talking about application code rather than frameworks, libraries and components.
  • 19. Software Development Testing Quality Assurance User Experience Interaction Graphics Marketing Operations Architecture Management Business Security Product Management Legal Requirements Engineering
  • 20. Notes There are lots of other parties involved in a Software Development project. The actual software development is just one part of the overall process. People who are experts in other domains contribute to the software development project. So how do you collaborate with all these parties … from a software developers point of view.
  • 21. Group N-1 Group N Group N+1
  • 22. Group N-1 Group N Group N+1
  • 23. Group N-1 Group N Group N+1 Group N+2 Group N+3 Group N+4
  • 24. Notes Collaboration used to be from one group to another, usually through some formal artefacts like documents, code or similar deliverables. Feedback was not very prominent in this old model of collaboration. Essentially, this is waterfall thinking.
  • 25. Software Development Testing Quality Assurance User Experience Interaction Graphics Marketing Operations Architecture Analytics Management Business Security Product Management Legal Requirements Engineering DevOps Analytics DDD Scrum Test Automation Scrum A/B Testing
  • 26. Notes Collaboration between the different groups is changing. Lots of buzzwords are around nowadays (as seen on the previous slide). What a lot of them have in common is that they include a much closer collaboration between different groups of people. Devops is a good example for this. At the core is promotes a very close collaboration between software developers and operations people. More interaction, more feedback, more informal communication and collaboration. This is basically the idea mentioned in the Agile Manifesto.
  • 27. Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  • 28. Software Development Testing Quality Assurance User Experience Interaction Graphics Marketing Operations Architecture Management Business Security Product Management Legal Requirements Engineering
  • 29. Notes Agile Collaboration Fewer formal interfaces between the different teams. Focus on collaboration and communication. Much more feedback. Redefinition of the “team” as a group of people with a common goal (and completely different skills) rather than just a group of people with the same skills and tasks. This has an impact on us as software developers and on the skills that we need.
  • 31. Notes Making your skills available It’s not just about having good technical skills and knowledge It’s also about making those skills available to your clients The value of a developer lies within what he or she knows and can do, but also how well the team and the client can make use of this knowledge and skills Think of it as the functionality that you provide and the API through which you expose this functionality
  • 32. Software Development Testing Quality Assurance User Experience Interaction Graphics Marketing Operations Architecture Management Business Security Product Management Legal Requirements Engineering
  • 33. Notes Collaboration with other Experts Various groups of non-experts are often involved software projects These are actually not non-experts, but just experts in other domains than yours Having some basic knowledge about these other domains help in the communication and collaboration You do not need to be an expert, but it helps to know some things, particularly what drives the people, how they think, what they care about and what they value.
  • 35. Notes Business Domain Knowledge Knowledge about the business domain is particularly important. At the end, this is the area where you as a developer are trying to provide value. Do not be scared about the business domain. Understanding the customer/client. This means multiple things: -Actually understanding what the client or customer is talking about. Terms, words, expressions, … -Understanding what the client/customer is interested in and cares about. -Understanding how what you are doing creates value for the customer. Formalizing the (often informal) concepts of the customer. In the end you have to explain this to the most stupid (but extremely reliable) worker of a company: the computer.
  • 36.
  • 37. Notes Domain-Driven Design DDD is a framework that builds on this idea It is about a lot of things, but in particular, it also contains the idea that: All the people involved in the software project should use the same concepts (although at different levels of abstract) and speak the same language (at very different levels of detail and with very different focusses)
  • 39. Learning as an Attitude
  • 40. Notes Learning as an Attitude To some people, this might be obvious; to some it’s not I have often encountered resistance to learning about the business, i.e. developers who do not want to know about the business details and almost actively reject to learn anything I do not think that you get very far with this A great developer in my opinion should embrace this or at least accept that he or she might learn something about the business by mistake
  • 42. Notes Management The management is another red flag for many developers. You do not have to become a manager, if you do not want to. But to know how managers work and what they care about, is extremely useful for a software developer.
  • 44.
  • 45. Notes English English is the de-facto standard language in IT (and business) Everybody needs basic English skills Advanced English skills make your live much easier Communication and conversation in English should be effort-less Accents are perfectly fine Investing in improving your English helps you to become a more valuable developer Make use of opportunities to read, write, listen to and speak English
  • 47. Notes Presentation Skills Presentation skills are very useful for developers. Presenting at conferences with Powerpoint etc. are only one form of this. The essence is the ability to summarise complex concepts, explain them to people with different knowledge backgrounds. A talk at a conference is one form of this; asking a lead developer about making a refactoring can be another form.
  • 49. Notes Open Source Projects Contributing to open source projects are another great way to learn a lot of things. You collaborate people who work differently than the colleagues in your day job. You can learn a lot about technical topics, but also about collaboration and communication.
  • 51. Notes Conferences, Talks, … I can only encourage developers to attend conferences, talks, user groups, meet-ups, … You can learn a lot at these events and you meet a lot of interesting people. Make use of opportunities, attend events and maybe even contribute actively to such events.
  • 53. Notes Summary A great developer needs excellent technical skills. But that is not enough. It’s also about making those skills available to other people The value of a developer lies within what he or she knows and can do, but also how well the team and the client can make use of this knowledge and skills This “API layer” is already very important today and I believe that it will be even more important in the future
  • 54. Corsin Decurtins, Netcetera Chief Technology Officer corsin.decurtins@netcetera.com @corsin
  • 55. How to become a great developer Corsin Decurtins, Netcetera JavaDay 2014-11-22 / Skopje