Nikola Brežnjak blog - Tackling software development with a dose of humor
  • Home
  • Daily Thoughts
  • Ionic
  • Stack Overflow
  • Books
  • About me
Home
Daily Thoughts
Ionic
Stack Overflow
Books
About me
  • Home
  • Daily Thoughts
  • Ionic
  • Stack Overflow
  • Books
  • About me
Nikola Brežnjak blog - Tackling software development with a dose of humor
Miscellaneou$

Infobip Dev Days 2015

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:
    infobip_intro

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:
    • Graylog
    • Graphite
    • Grafana
    • Nagios
    • Seyren
    • HipChat
    • Ansible
  • Picture time:
    infobip_ci_intro
  • And a few more here, since, well, you know I love MEMEs:
    infobip_ci_deploy
    infobip_ci_devops

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
    • the bigger the panic the greater priority
    • how relates to this, please hands up hand_rock_n_roll
  • 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:
    infobip_scrum

Modern SQL

  • Presenter: Markus Winand, SQL expert and author
    modernsql_intro
  • SQL 99 broke the relational standard
    • LATERAL
      • “for each” loop of SQL
    • WITH
      • “private methods” of SQL
    • WITH RECURSIVE
      • “while” loop of SQL
  • 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/ modernsql_offset
      • Also, the author was cool and he was giving these stickers:
        modernsql_offset_badges

Indexes: The neglected performance all-rounder

  • Presenter: Markus Winand, SQL expert and author
  • 50% SQL problems are caused by poor query/indexing
    index_comic
  • 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:
    danilo

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:
    machine

Java puzzlers

  • Presenter: Aleksandar Dostić, Senior Software Engineer IB
  • Picture time intro:
    java_intro
  • Puzzle 1:
    java_1
  • Puzzle 2:
    java_2
  • Puzzle 3:
    java_3
  • Puzzle 4:
    java_4
  • Puzzle 5 – the most sneaky one!
    java_5
    and here is why!!! shockedjava_5_explanation

HA-JDNI as a Solution for Service Discovery in Distributed Systems

  • Presenter: Aleksandar Branjković, Head of Mobile Payments R&D
  • Picture time:
    ha

 

 

Recent posts

  • Discipline is also a talent
  • Play for the fun of it
  • The importance of failing
  • A fresh start
  • Perseverance

Categories

  • Android (3)
  • Books (114)
    • Programming (22)
  • CodeProject (35)
  • Daily Thoughts (77)
  • Go (3)
  • iOS (5)
  • JavaScript (127)
    • Angular (4)
    • Angular 2 (3)
    • Ionic (61)
    • Ionic2 (2)
    • Ionic3 (8)
    • MEAN (3)
    • NodeJS (27)
    • Phaser (1)
    • React (1)
    • Three.js (1)
    • Vue.js (2)
  • Leadership (1)
  • Meetups (8)
  • Miscellaneou$ (77)
    • Breaking News (8)
    • CodeSchool (2)
    • Hacker Games (3)
    • Pluralsight (7)
    • Projects (2)
    • Sublime Text (2)
  • PHP (6)
  • Quick tips (40)
  • Servers (8)
    • Heroku (1)
    • Linux (3)
  • Stack Overflow (81)
  • Unity3D (9)
  • Windows (8)
    • C# (2)
    • WPF (3)
  • Wordpress (2)

"There's no short-term solution for a long-term result." ~ Greg Plitt

"Everything around you that you call life was made up by people that were no smarter than you." ~ S. Jobs

"Hard work beats talent when talent doesn't work hard." ~ Tim Notke

© since 2016 - Nikola Brežnjak