JobTeaser’s Tech team trip to Bruxelles #fosdem2018

Romain Champourlier
JobTeaser Engineering
4 min readFeb 3, 2018

This weekend almost half of the JobTeaser’s Tech Team is in Bruxelles for the FOSDEM 2018 conf. You can follow our weekend on our @JobTeaserTech Twitter account too.

The team on its way to Bruxelles

I won’t say too many things about the conference itself, you can find more on their web page. They will also soon (2–3 weeks) share the video recordings of all conferences so you can enjoy them too!

I’ll just share small “What did I learn?” notes from the confs I’ve been in today. It’s a personal selection, it’s only what I want to remember… and share with you.

Demystifying contributing to PostgreSQL

  • Contributing to PostgreSQL takes many forms: meetups, events, OSS support, translation, documentation fixes and, of course, code.
  • PostgreSQL is written in C and they write a lot of comments, about 3 lines per line of code
  • The core team takes the decision when the discussion is taking too long.

Monitoring Legacy Java Applications with Prometheus

  • Promotheus is a monitoring tool
  • It complements an ELK stack but does not replace it because it focuses on metrics (numbers), not text
  • It supports different strategies to instrument things: log files, app polling…
  • Easy advanced integration for Java programs (JMX, agents hooking on Java interfaces…)

Observability at Google

By @rakill from the instrumentation team

  • Introduction of openconsensus.io, an holistic instrumentation framework
  • It can be used to instrument almost anything (Go, Erlang, Java, Python, Ruby…)
  • It provides both metrics and open-tracing like tracing of services
  • Instrument is always on and cheap. Collection is decided (on/off) by the client and dynamically. Because it’s collection that is expensive.

Technical Writing for Non-Writers

  • 5 basic rules to apply for technical writing
  • KISS: use simple words, grammar. one sentence for one idea. don’t use filler words (already, completely, just…)
  • Split into chunks: start with the most important, not more than 3 levels, 5–9 steps per chunk (cf. Miller’s Law)
  • Be consistent in the choice of words and spelling
  • Avoid interruptions in sentences (e.g. don’t put “however” and similar particules in the middle of the sentence)

A bug in your ear

By @baconandcoconut

  • We should all “call in” when something bad is being done (e.g. negative or exclusionary)
  • Why should feel you should “call in”? You have a seat at the table or you have a different perspective you can bring (for example if you’re new in the project)

How to communicate?

  • If you feel someone is being mean, call in, but don’t say “you’re mean”. Assume innocence and say “it makes you seem mean”
  • Focus on the future: “Maybe next time, consider another option”
  • How to say it? “When you do X it looks like Y. If you’re not trying to do Y, try Z instead.”
  • Be gentle, with an helpful spirit
  • Don’t speak for others
  • Give options instead of threats
  • Lead by example and accept feedback, criticism… with grace, even if the way it’s done is not ideal
  • Do not hesitate to explicitly tell how to behave, it’s not always easy to understand from observation

NB: I want to add some useful references on this subject I value a lot:

Asynchronous decision making: why and how

By @bdelacretaz

There are proven strategies to make decisions without interrupting people

You need to set of tools:

  • shared async communication channel: free-form, chatty (e.g. mailing lists, Slack…)
  • shared case management: structured, chronology (e.g. ticket tracker)

From Paul Graham:

  • on a maker’s schedule a 1-hour meeting might waste half a day
  • on a managers schedule its just another 1-hour slot

Practices applied by the Swiss government and Apache Foundation:

  • about 80 decisions taken in 2–3 hours
  • all decisions are prepare in advance
  • used to reach consensus (widespread agreement among people who have decision power)
  • you use vote when consensus is too hard, it prevents the decision from being blocked

Suggested process in Github

  • create an issue with the description of the feature to be discussed
  • other can discuss by commenting the issue
  • once there is a rough consensus, create a new file in this folder with the proposal details

Semi-async meetings use structured async preparation and similar principles to achieve efficient decision making.

Analyzing developers network in a community

Closing word

If you’re in Bruxelles too and want to meet, we’ll be in the town during the night, send us a message on Twitter!

--

--

Romain Champourlier
JobTeaser Engineering

Open-minded and empathic (hopefully) human, trying to reduce GHG emissions with software. Previously CTO/VPEng @ JobTeaser (French HR-tech scale-up)