+ All Categories
Home > Presentations & Public Speaking > Codemotion Berlin 2015 recap

Codemotion Berlin 2015 recap

Date post: 19-Feb-2017
Category:
Upload: torben-dohrn
View: 362 times
Download: 3 times
Share this document with a friend
23
CODEMOTION BERLIN 2015 - RECAP Torben Dohrn @nexusger http://nexusger.de # CodemotionBLN
Transcript
Page 1: Codemotion Berlin 2015   recap

CODEMOTION BERLIN 2015 - RECAPTorben Dohrn

@nexusger

http://nexusger.de

#CodemotionBLN

Page 2: Codemotion Berlin 2015   recap

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

Page 3: Codemotion Berlin 2015   recap

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

Page 4: Codemotion Berlin 2015   recap

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

Page 5: Codemotion Berlin 2015   recap

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

Page 6: Codemotion Berlin 2015   recap

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

Page 7: Codemotion Berlin 2015   recap

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

Page 8: Codemotion Berlin 2015   recap

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

Page 9: Codemotion Berlin 2015   recap

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

Page 10: Codemotion Berlin 2015   recap

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

Page 11: Codemotion Berlin 2015   recap

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

Page 12: Codemotion Berlin 2015   recap

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

Page 13: Codemotion Berlin 2015   recap

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

Page 14: Codemotion Berlin 2015   recap

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

Page 15: Codemotion Berlin 2015   recap

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

Page 16: Codemotion Berlin 2015   recap

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

Page 17: Codemotion Berlin 2015   recap

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

Page 18: Codemotion Berlin 2015   recap

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

Page 19: Codemotion Berlin 2015   recap

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

Page 20: Codemotion Berlin 2015   recap

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

Page 21: Codemotion Berlin 2015   recap

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

Page 22: Codemotion Berlin 2015   recap

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

Page 23: Codemotion Berlin 2015   recap

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


Recommended