Date post: | 19-Feb-2017 |
Category: |
Presentations & Public Speaking |
Upload: | torben-dohrn |
View: | 362 times |
Download: | 3 times |
CODEMOTION BERLIN 2015 - RECAPTorben 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 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
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
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
PATTERNS FOR “INFRASTRUCTURE-AS-CODE”
We need to be able to „program ourinfrastructure“
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
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
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
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
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
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
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
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
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
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
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
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
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
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
10 DAYS, 500K USERS: HOW WE BUILT A REALTIMEMOBILE SOCIAL NETWORK IN SOUTH AFRICA
Used an open source in-app messaging stack (buddycloud) to create a wifi-chat
19
Speaker:
Simon Tennant
@buddycloud
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
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
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
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