Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
CODEMOTION BERLIN 2015 - RECAP
Torben Dohrn
@nexusger
http://nexusger.de
#CodemotionBLN
ABOUT
This presentation was aimed at colleagues of mine to give them a recap of my
attendance on the Codemotion 2015 Berli...
DAY ONE
Key Note: A programmer is…
Patterns for “infrastructure-as-code”
The Autoscout24 Technology Change – crazy or tren...
KEY NOTE: A PROGRAMMER IS…
What is a programmer?
 The first „coders“ have been women (ENIAC
“girls”)
Where does the word ...
PATTERNS FOR “INFRASTRUCTURE-AS-CODE”
We need to be able to „program our
infrastructure“
Three components:
 Image
 State...
THE AUTOSCOUT24 TECHNOLOGY CHANGE –
CRAZY OR TRENDSETTING?
Autoscout24 is moving from on premise
.NET monolith to JVM (Sca...
DEVOOOPS (INCREASE AWARENESS AROUND
DEVOPS INFRA SECURITY)
General security problems in the DevOps life
 GitHub: Use the ...
ATTACKS, LIES AND THE UNDERGROUND WORLD
Some facts and busted myths about cybercrime
„Your computer is not of interest, it...
HIRING GREAT PEOPLE: HOW WE IMPROVED OUR
RECRUITING PROCESS TO BUILD A GREAT TEAM
Three pillars for hiring:
 Sourcing can...
A LIFE LESS MANUAL - 8 YEARS OF TEST
AUTOMATION I
Test are important: 2/3 of code is test code
Selenium tests: extra layer...
A LIFE LESS MANUAL - 8 YEARS OF TEST
AUTOMATION II
Tool for checking intermittency and performance of tests
 How often do...
AGILE STRATEGIC PHILOSOPHY – AGILE DECISION
MAKING BASED ON SUN TZU'S "THE ART OF WAR"
Bachelor thesis on agile planning
M...
DAY TWO
Key Note: Python, Inc.
Boxcars and Cabooses: When one more XHR is too much
100% Server-less: Writing Hyper-scalabl...
KEY NOTE: PYTHON, INC.
Good talk on how one would handle a programming language if it were a startup
Applied different bus...
BOXCARS AND CABOOSES: WHEN ONE MORE XHR
IS TOO MUCH
Salesforce.com api restructure
Boxcars:
CRUD API require a lot of requ...
100% SERVER-LESS: WRITING HYPER-SCALABLE
APPLICATIONS WITHOUT SERVERS
AWS Lambda provides a platform to create „one functi...
CREATING BETTER TEAMS THROUGH TOOLS I
Positive stimuli –> 12% more productive
teams
What creates happiness
 Autonomy
 No...
CREATING BETTER TEAMS THROUGH TOOLS II
Continuous Deployment reduces
 Disruption
 Distraction
„Branch driven deployment“...
10 DAYS, 500K USERS: HOW WE BUILT A REALTIME
MOBILE SOCIAL NETWORK IN SOUTH AFRICA
Used an open source in-app messaging st...
OPTIMIZING FOR READABILITY I
Clean Code!
„Write once, read often“
Readable code -> Saving time
Comments are an excuse of t...
OPTIMIZING FOR READABILITY II
Opportunistic refactoring
80 % code coverage is bad -> 20 % are never executed!
Code review ...
DESIRED STATE: CONTAINING CHAOS WITH
KUBERNETES
Kubernetes is the container management tool from Google
Google uses a comm...
TAKEAWAY
Conferences are a great way to get insights in new technologies
Chances are good, someone had the same problem as...
Nächste SlideShare
Wird geladen in …5
×

Codemotion Berlin 2015 recap

418 Aufrufe

Veröffentlicht am

My personal recap of the Codemotion 2015 in Berlin. Had lot of good talks and saw some incredible speaker

Veröffentlicht in: Präsentationen & Vorträge
  • Als Erste(r) kommentieren

Codemotion Berlin 2015 recap

  1. 1. CODEMOTION BERLIN 2015 - RECAP Torben Dohrn @nexusger http://nexusger.de #CodemotionBLN
  2. 2. ABOUT This presentation was aimed at colleagues of mine to give them a recap of my attendance on the Codemotion 2015 Berlin I summarized some of the talks and picked some mentionable quotes. The presentation is based completely on my notes and memory (and will likely not cover everything) It’s impossible to condense two days in a half an hour presentation; Go see the originals: https://t.co/4b4KTJUaT0 2
  3. 3. DAY ONE Key Note: A programmer is… Patterns for “infrastructure-as-code” The Autoscout24 Technology Change – crazy or trendsetting? DevOoops (increase awareness around DevOps infra security) Attacks, Lies and the Underground World Hiring Great People: how we improved our recruiting process to build a great team A Life Less Manual - 8 Years of Test Automation Agile Strategic Philosophy – Agile decision making based on Sun Tzu's "The Art of War" 3
  4. 4. KEY NOTE: A PROGRAMMER IS… What is a programmer?  The first „coders“ have been women (ENIAC “girls”) Where does the word “programmer” come from? A programmer needs to be bad with people? (hint: no) 4 Image Credit: (U. S. Army Photo), Public Domain https://upload.wikimedia.org/wikipedia/commons/3/3b/Two_women_operating_ENIAC.gif Speaker: Birgitta Böckeler @birgitta410
  5. 5. PATTERNS FOR “INFRASTRUCTURE-AS-CODE” We need to be able to „program our infrastructure“ Three components:  Image  State declaration  Tasks Pattern  Secret Isolation  Configuration discovery  Community Module Wrapper  … Anti pattern  Golden Image  Data as Code  „Funny File Copying“  … 5 Speaker: Andrey Adamovich @codingandrey
  6. 6. THE AUTOSCOUT24 TECHNOLOGY CHANGE – CRAZY OR TRENDSETTING? Autoscout24 is moving from on premise .NET monolith to JVM (Scala) micro services in the cloud (AWS) One of the driving questions: „Do you attract talent?“  They found lots of good people, but seldom these people teach them something new.  With these move they try to harness open- source projects and other high profile projects Transition from monolith to micro service via divide and conquer Transition to cloud was and is expensive. But they are going faster than ever  „It‘s not about saving money, it‘s about going faster“  Investing in the future (EBItda) 6 Speaker: Simon Hohenadl @SimonHoh
  7. 7. DEVOOOPS (INCREASE AWARENESS AROUND DEVOPS INFRA SECURITY) General security problems in the DevOps life  GitHub: Use the search for passwords, access-Tokens, servers…  CI-Server Jenkins is often unprotected in the web -> Jenkins is often installed as root…  Redis, ElasticSearch, Puppet and Ansible are also not protected by default Search Engine for „open“ server  Shodan.io 7 Speaker: Gianluca Varisco @gvarisco
  8. 8. ATTACKS, LIES AND THE UNDERGROUND WORLD Some facts and busted myths about cybercrime „Your computer is not of interest, it‘s to much work. Windows XP on the other hand…“ A security measurement needs only to make it uneconomic to hack you. The real value for a hacker and your perceived value may differ.  Your credit card with $1300? That‘s $5 on the black market  Your computing power on a server? Bitcoin mining will make it profitable! 8 Speaker: Andrea Pompili
  9. 9. HIRING GREAT PEOPLE: HOW WE IMPROVED OUR RECRUITING PROCESS TO BUILD A GREAT TEAM Three pillars for hiring:  Sourcing candidates  Accessing candidates  Onboarding new colleagues Sourcing: How to reach new people Accessing: How to get these people to apply at your company Onboarding: Give new employees a helping hand Lessons learned  Reflect your recruitment process  „Metrics, Metrics everywhere“  Involve your team  Value social over technical skill – cultural fit  Value diversity  Respect the candidate  Hiring checklists and agenda  Reboot your team with interns and grads  Hire great people 9 Speaker: Pietro Di Bello @pierodibello
  10. 10. A LIFE LESS MANUAL - 8 YEARS OF TEST AUTOMATION I Test are important: 2/3 of code is test code Selenium tests: extra layer of „driver“ in the frontend test code -> Contains definition where an element is, so only one place needs to be fixed Interface for DateTime -> „Time Machine“ can improve test Book: “Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison Wesley Signature Series)“ 10 Speaker: Michael Barker @mikeb2701
  11. 11. A LIFE LESS MANUAL - 8 YEARS OF TEST AUTOMATION II Tool for checking intermittency and performance of tests  How often does a test fail?  Are there tests which take longer than before?  Tool reschedules failed test again to see if they work. This test is still marked broken but you have a hint that parallelism or the order might be the reason Three reasons for failing test  Bad Code  Bad Test  Environmental 11 Speaker: Michael Barker @mikeb2701
  12. 12. AGILE STRATEGIC PHILOSOPHY – AGILE DECISION MAKING BASED ON SUN TZU'S "THE ART OF WAR" Bachelor thesis on agile planning Mapped all aspects of the book to modern markets (special focus on mobile game development) 12 Speaker: Huel Fuchsberger @theaztecfox
  13. 13. DAY TWO Key Note: Python, Inc. Boxcars and Cabooses: When one more XHR is too much 100% Server-less: Writing Hyper-scalable Applications without Servers Creating Better Teams Through Tools 10 days, 500K users: How we built a realtime mobile social network in South Africa Optimizing for readability Desired State: Containing Chaos with Kubernetes 13
  14. 14. KEY NOTE: PYTHON, INC. Good talk on how one would handle a programming language if it were a startup Applied different business analysis on her favorite language Python  How do I increase market share?  How can I get/stay attractive to different target groups? Search for one project and fix that 14 Speaker: Jessica McKellar @jessicamckellar
  15. 15. BOXCARS AND CABOOSES: WHEN ONE MORE XHR IS TOO MUCH Salesforce.com api restructure Boxcars: CRUD API require a lot of requests /composite/Batch  Multiple requests in one JSON (up to 25)  References are possible Tree API for hierarchical data API Limits in HTTP Header Caboose: High frequency request (logs) send trailing at an „normal“ request, if one is happen in an interval 15 Speaker: Peter Chittum @pchittum
  16. 16. 100% SERVER-LESS: WRITING HYPER-SCALABLE APPLICATIONS WITHOUT SERVERS AWS Lambda provides a platform to create „one function“ services Subscribing to events possible 16 Speaker: Oliver Arafat @oliverarafat
  17. 17. CREATING BETTER TEAMS THROUGH TOOLS I Positive stimuli –> 12% more productive teams What creates happiness  Autonomy  No interruptions  No time pressure Team communication is a problem  People are stressed if they get interrupted or unproductive  Centralized task management tool (Mail, skype…) to reduce context switches  Persistent communication (searchable, serves as documentation afterwards) Example: Google Docs For micro services respect Conways law 17 Speaker: Laura Frank @rhein_wein
  18. 18. CREATING BETTER TEAMS THROUGH TOOLS II Continuous Deployment reduces  Disruption  Distraction „Branch driven deployment“  Merge/commit to a special „release“ branch pushes everything to production Team shares responsibility for deployment.  „Kill switch“ for commits other than that which have the tag „fix-deployment“ Incident Management  Don‘t confuse priority with urgency!  „Priority measures how important a task is, relative to other tasks“  “Urgency is a measure of how quickly the task must be completed”  Each developer need the ability to solve problems assigned to him (rights, knowledge, processes)  „Post-Mortem“ after an incident 18 Speaker: Laura Frank @rhein_wein
  19. 19. 10 DAYS, 500K USERS: HOW WE BUILT A REALTIME MOBILE SOCIAL NETWORK IN SOUTH AFRICA Used an open source in-app messaging stack (buddycloud) to create a wifi-chat 19 Speaker: Simon Tennant @buddycloud
  20. 20. OPTIMIZING FOR READABILITY I Clean Code! „Write once, read often“ Readable code -> Saving time Comments are an excuse of the code not being clearer Comments only for the „why“ not the „what“ One language -> The business language Code bases is a bit like a garden:  Without maintenance wild weed (and bad practices) take over No broken windows  Where one bad habit occurs more will follow  „Magical time does not happen“  Boy scout rule – Leave the place cleaner than you found him 20 Speaker: Tobias Pfeiffer @PragTob
  21. 21. OPTIMIZING FOR READABILITY II Opportunistic refactoring 80 % code coverage is bad -> 20 % are never executed! Code review culture „Brown bag lunches“ Pair programming 21 Speaker: Tobias Pfeiffer @PragTob
  22. 22. DESIRED STATE: CONTAINING CHAOS WITH KUBERNETES Kubernetes is the container management tool from Google Google uses a common descendent to Kubernetes in house. (Even Google has legacy code!) All services on Google are container based 2 Billion container started per week These containers can be managed by Kubernetes 22 Speaker: Robert Kubis @hostirosti
  23. 23. TAKEAWAY Conferences are a great way to get insights in new technologies Chances are good, someone had the same problem as you!  (Chances are good that you don‘t know that you have a problem…) The Codemotion gave a good overview in beginner and intermediate task on a broad spectrum of topics 23

×