Here are my notes from an awesome 4th Infobip Dev Days 2015 conference:
[toc]
Introduction
- Presenter: Izabel Jelenić, Co-founder, CTO
- infobip – 600+ employees (122 devs)
- Worldwide A2P SMS traffic is expected to grow. Revenue > 45bn.
- They handle 150M transactions daily.
- They said they’re doing business with “one big social” network, but they didn’t name it actually, I wonder why is that (some kind of NDA or what? 🙂)
- Picture time:
How we ended up doing continuous delivery
- Presenter: Mario Žagar, Senior Software Architect
- ASAP and as often we have to go into production
- Unit & integration tests
- Scaling cube
- First they scaled by increasing monoliths
- Then they took some parts out of the monolith (API, Billing, Inbound SMS, …) => easier to focus, possible to deploy independently
- Typical feature deployment today:
- Short lived feature branches with Git
- Develop & run tests locally
- Push feature branch to remote repository (Stash)
- Jenkins – CI server builds the feature branch
- Deployment artifacts published to Infobip repository (Artifactory)
- Deploy feature branch to integration environment
- Run tests on integration environment
- Merge pull request to master branch & release
- Average about 80 deploys per day
- DevOps culture – you built it, you deploy it, you support it
- Troubleshooting tools:
- Picture time:
- And a few more here, since, well, you know I love MEMEs:
Scrum experience
- Presenter: Marko Stipanov, Product Owner
- How to increase productivity?
- hiring more devs?
- best is to hire someone new and give them some totally new project
- PDD – Panic Driven Development
- they tried with daily report writing
- Agile process manifesto
- they divided their 60 devs at a time to 12 teams and each team works on a small project
- Product Owner
- vision and definition of products
- goal setting
- priority setting of the whole team
- talks to stakeholders
- Scrum ceremonies
- organisation
- iterative process
- Scrum steps (they do the sprints fro 1-2 weeks instead of 2-4):
- Product backlog
- Sprint backlog
- SPRINT
- Deliverable
- 1 project = 1 team
- 1 team => more projects
- Priorities are defined by business value
- Kanban, Scrumban
- Daily team lead meeting with just few minutes
- You can’t do agile without teams!
- Scrum definitely give us a better intercommunication.
- Picture time:
Modern SQL
- Presenter: Markus Winand, SQL expert and author
- SQL 99 broke the relational standard
- LATERAL
- “for each” loop of SQL
- WITH
- “private methods” of SQL
- WITH RECURSIVE
- “while” loop of SQL
- LATERAL
- SQL 2003
- Turing complete
- OVER and PARTITION BY
SELECT dep, salary, SUM(salary) OVER (PARTITION BY dep) FROM ...
- OVER and GROUP BY
- actually, do this in the application, thank you very much
- SQL 2008
- SELECT TOP is not official – it’s FETCH FIRST ROWS ONLY
- SQL 2011
- OFFSET is EVIL
- http://use-the-index-luke.com/
- Also, the author was cool and he was giving these stickers:
- OFFSET is EVIL
Indexes: The neglected performance all-rounder
- Presenter: Markus Winand, SQL expert and author
- 50% SQL problems are caused by poor query/indexing
- CREATE INDEX is not in the standard!
- The solution- indexing is a development task!
- And now the author hits the spots when he explains that in
- 11 SQL books he analyzed only 1% of the pages are about indexes
- 14 database administration books he analyzed only 6% of the pages are about indexes
-
Everybody knows indexing is important for performance, yet nobody takes the time to learn and apply it properly.
Personal and Interpersonal Effectiveness
- Presenter: Danilo Goliani, PhD professor, enterpreneur
- Our clients are paying our paychecks!
- Personal effectiveness – others have faith in me
- Team effectiveness – I have faith in others
- Organisational effectiveness – clients love us
- Stephen R. Covey: 7 Habits of Highly Effective People
- Courage – willingness and ability to express your thoughts and emotions
- Don’t just say NO to your children – explain also WHY
- Self induced interrupt
- Brain Games
- Picture time:
Machine learning
- Presenter: Jan Šnajder, PhD/assistant professor/FER
- IBM Watcson Developer Cloud
- 88% of unstructured data
- #1 Top skill on LinkedIn 2014
- Tools:
- Weka
- RapidMiner
- Orange
- R (mother of all)
- Matlab (commercial)
- mloss.org
- Apache Mahout
- Spark
- Azure Machine Learning
- Amazon Machine Learning
- Picture time:
Java puzzlers
- Presenter: Aleksandar Dostić, Senior Software Engineer IB
- Picture time intro:
- Puzzle 1:
- Puzzle 2:
- Puzzle 3:
- Puzzle 4:
- Puzzle 5 – the most sneaky one!
and here is why!!!
HA-JDNI as a Solution for Service Discovery in Distributed Systems