2023-03-18 - Touraine Tech 2023
Minutes gathered from attending and speaking at Touraine Tech, a tech conference at Tours, France, on January the 19th and 20th of 2023. The talks I've attended were given in French, so some resources will be in French. The recordings of the talks are here.
Your dev team in the post-COVID era - Eric Aboudaram & Marc Dugue
I went to this talk to get some new ideas for our async model, but they were a lot less advanced than us.
- Not recorded
Some notes:
- Intro
- Conserto is present in a lot of cities in France
- They have created a community they have called "Les Explos" (The Explorers)
- Before COVID
- No remote work, multi office
- During lockdown, remote work has become the go-to option
- After COVID (note: COVID does still exist)
- Back to the office or keeping some remote days
- The organization has changed: offices + home office + third places
- Communication issues
- How to keep informal communication?
- How to keep a team spirit?
- How to know how the team's going?
- Sync vs. Async
- Talking about no hello
- Human tooling
- Dailies
- Pair or mob programming
- Team code of conduct
- Retros
- Team buildings
- Take into account the individuality of each person
- 1:1
- Tech tooling
- Use video in meetings
- Use a text chat
- Use emojis in written communication to convey meaning (no too many though)
- Don't hesitate stopping using a tool if it does not work
- What went wrong in their migration
- Some people always late (note: they don't have agendas ?!)
- Some onboarding issues
- No actionables
- No task ownership
Women in tech: communication, or the failure of a whole area - Amélie Abdallah
This talk was one of my favorites. Amélie knows how to be vocal, she is a figure of the women in tech movement.
Some notes:
- What's communication?
- mode: visual, written, ...
- type: massive (social networks for instance), 1:1, ...
- style: passive, aggressive, assertive, ...
- Four points that feed each other
- Morals evolution
- For French audience: What company does have the motto "Merci qui"? This is actually the original Mamie Nova motto.
- Source: Le slogan publicitaire, dynamique linguistique et vitalité sociale : la construction d'une esthétique sociale à travers la communication publicitaire by Chang-Hoon Lee
- Prejudices and bias
- The masculine form does not represent all genders in an equal way
- Source: Grammatical gender in German influences how role-nouns are interpreted: evidence from ERPs by Julia Misersky, Asifa Majid & Tineke M. Snijders
- Representativeness
- in France:
- 56% of girls are interested by tech in high school
- 37% of girls think about going to an engineering or CS school
- 33% of girls are supported by their family, it is the case for 61% of boys
- Source: Observatoire sur la féminisation des métiers du numérique by Epitech and Ipsos
- in France:
- Gender-based violence
- Some examples of LinkedIn posts:
- Morals evolution
- How to communicate
- read, learn and educate yourself
- make actions: Hellfest example where they have created a squad to help women facing violences (+ mobile app)
- Conclusion
- Collective failure
- There are a lot of sources, ignoring them is a choice
- Make small steps
Don't discard your computer, repair your future - Olivier Deiber
This talk is about his fight to get computers from companies and distributing them to people who are in need.
Some notes:
- Building a computer uses:
- 22kg of chemicals
- 1.5T of water
- Some companies have mountains of computers to discard. They only need new batteries and SSD drives.
- The goal is to get these computers to give them to people in need
- Thanks to that, no more machines have to be built
Retrained: this new wave of tech profiles - Helvira G.
This talk is one of the two winning talks at the Tremplin des Speakers I've been part of.
Some notes:
- Helvira had a career in biology before beginning to retrain as a developer
- Part of her family was against her choice
- Lot of difficulties: family, money, being alone
- A human resource woman who says to her: "You won't be able to be a developer because you're a woman"
- Creation of Motiv'Her to empower women in tech
Conway's law: when your product conception does not fit your organization - Julien Topçu
This talk is really interesting to understand the link between a good product and a good company organization.
Some notes:
- Julien begins by showing the McKinsey French website
- He shows that the entire website is created to show the organization rather than showing how they could help
- He talks about the CEO = C-Level Ego Optimization
- The structure of your website should not copy the structure of your organization
- Talked about the UX researcher Nigel Bevan
- Conway law
- For any system there is always an homomorphism between the system and the organization
- Example of a COBOL compiler which has been designed with the same number of passes as the number of developers in the team
- Choose an organization is already constraining the system structure which will be produced even before looking at the possible solutions
- Inverse Conway maneuver
- Think before about the need and the solution. Then think about interfaces and communication. Then create the teams.
- BAPO model (should follow this order)
- Definition
- B = Business
- A = Architecture
- P = Process
- O = Organization
- Often, companies follow BOPA, leading to an architecture looking like the organization which has created it
- Source: Structure eats strategy by Jan Bosch
- Tooling
- BA(P):
- domain driven design
- event storming
- bounded contexts
- PO:
- Team topologies by M. Skelton & M. Pais
- Accelerate by N. Forsgren, J. Humble, G. Kim
- BA(P):
- Definition
Corn Hole 2 Turbo: my first steps in embedded programming - Paul Roye
Paul explains to us how he built a corn hole board that displays the number of points of each team.
Some notes:
- He first had a lot of ideas like pyrotechnics 🔥
- He then focused on displaying the score using an Arduino board and a LED matrix
- That was super cool, but I don't have more notes here :)
Welcome to depression land - Iris V. Naudin & Cécile Freyd-Foucault
Iris and Cécile talk about an important topic: the exclusion by the tech
Some notes:
- About handicap
- It can be:
- Situational e.g. a French person who doesn't know Japanese in a train station at Kyoto
- Temporary e.g. a person with a broken leg
- Permanent
- 80% of handicap situations are invisible
- 40% of the population has a handicap
- It can be:
- Add an alternative text on images
- Inclusivity
- Issues in forms:
- when your name has only one letter
- when your name contains special characters
- some people have no name
- note: Falsehoods programmers believe about names <- This is a must read, you'll understand why our user data structure is not the best
- Apps and websites too heavy
- Biases on AI e.g. black people being misrecognized because the training data set was only white people
- Issues in forms:
Progressive decommissioning of legacy code - Adrien Joly
Adrien uses the project OpenWhyd he maintains and which has a not-so-good code quality (that's an euphemism).
Some notes:
- 3 strategies
- Replace the implementation: possible if the function is simple to fix
- Copy paste the code of the function in each call: possible if the function is correct and simple
- Strangler pattern: for all the other cases
- Here we'll look at the third case
- Issues
- It takes time
- It's possible to create a new dependency on the decommissioned code during the decommissioning
- It's possible to create a new transitive dependency
- Solutions
- Mark the function as deprecated: does not work with transitive dependencies
- Script which build an AST of the references of the dependency we want to decommission
- Then he has shown a demo of a script building this AST and finding all the references
- He added in the CI a command to check the number of references has not increased
Integers, floats or exotic representations: let's talk about elegance - Olivier Poncet & Fabien Trégan
This talk was about the representation of numbers and data structures in a computer. It was a bit math focused.
Some notes:
- Why do we use binary
- Components to handle trinary and binary are the less expensive
- Boole algebra is practical
- A byte is not always 8 bits. In older computers, it was sometime 6, sometime 9, sometimes another number
- How to encode negative numbers
- One's complement
- Pros: bits inversion
- Cons: two zeros (00000000, 11111111), computations (addition etc...) are complex
- Two's complement
- Pros: only one zero, computations are simple
- Cons: harder to define (bits inversion + 1)
- One's complement
- How to encode floats
- a bit for the sign
- some bits for the exponent
- some bits for the mantissa
- formula: sign * 2 ^ exponent * mantissa
- Con: not every number is representable, comparing floats need an epsilon
- Some more complex algorithms
- I want to compute 1 / sqrt(x) fast to define the light on 3D rendered polygons: Fast inverse square root
- I want to compute a rotozoom effect: Vector trick I don't remember the name, sorry
- I want to draw a line: Breseinham algorithm
- Representation of money amounts
- Binary-coded decimal: each digit is encoded with 4 bits
- Use bignum: work with cents instead of units
Developing a website in public: some feedback - Myself 👋
I have talked about a side project and an epic battle against bots.
Listening to your users, from 1 to 1 billion - Christopher Maneu
In this talk, Christopher talks about how to listen to your users.
Some notes
- Henry Ford: if I had listened to people, I would have invented faster horses, not cars (Actually he never said that)
- Happiness gap = expectation - situation
- Devs can improve the UX
- How to listen to your users
- People
- get feedback
- create teams: experience advocacy, experience crew
- Tools
- At Deezer, they had a problem or suggestion form
- At Microsoft, they have a form asking for missing features
- At Microsoft, they have in-app buttons for internal feedback
- People
- On triaging the feedback
- Origin (internal, insiders, prod, ...)
- Feature / Product
- Actionable feedback & bug ratio
Remotion: the 7th art with web components - Mickael Alves & Antoine Caron
This talk is about generating videos and animations using code with Remotion. It was only a big demo talk so I don't have any notes. But it was super cool to watch 😎