This week, I published Emmanuel Bernard's #DevJourney story on my eponym Podcast: Software developer's Journey. Among many other things, here are my main personal takeaways:
- "Make the machine do what you want"
- "Code is easy, organizations are hard"
- "Why are you using Windows? You are at Redhat now, don't use Windows. Our answer was 'Ok, so we're going to use Macs' "
- Emmanuel early on explained that he rarely had a plan. He followed "his nose" and always remained open to new opportunities.
- Emmanuel joined the Fnac company at the end of his studies. And he was lucky to be part of a startup spinoff of the company a few years later. He touched on the difficulty of joining a startup later in your life when you have a family, mortgages, responsibilities, so he was happy to experience this early on.
- Emmanuel underlined the importance of human connections. He quoted Conway's Law: "organizations design systems that mirror their own communication structure", and then added that it is not about hierarchies, but really communication. When people work closely together, and suddenly split into two teams, there is an implicit communication channel that will reside and will have an impact on the design of the systems between those entities.
- In order to build connections, Emmanuel advises being fair and honest, curious and open. As such, being an introvert is not a drawback, because listening more than talking is a key skill.
- Emmanuel discovered Hibernate after his boss forbade him to use the best in class OR-Mapper TopLink. At that time, they were using a DB2 database from IBM and an App server from BEA when TopLink was acquired by Oracle. Emmanuel's Boss feared that a technical problem would surface, and then those giants (IBM, BEA, and Oracle) would just fight over their heads instead of solving the problem.
- With Hibernate, Emmanuel was introduced to Open Source Software. He started working for Hibernate on the side. He felt welcomed right away in the community. And soon after, he became the referent on Hibernate for his company.
- Hibernate was acquired by JBoss and grew very healthily i.e. not like a typical Silicon Valley startup. At some point, Emmanuel was hired out of the OSS contributor pool. Emmanuel described this as a very important move for two reasons: first, it helped him be part of that booming OSS industry, but also he went from being one of the best developers at his former company to being challenged to understand what the others were doing at JBoss.
- One of the mistakes Emmanuel made when he joined JBoss, was to not say "I don't understand" often enough. The trick, both as the student as well as the teacher is to reformulate. Emmanuel also experienced this while teaching in India. He was not fully aware of the cultural differences and visual cues. When the students stopped nodding their heads, he didn't realize that he had lost them for example.
- A year after Emmanuel joined JBoss, the company was acquired by Redhat. All in all, he has been in the same company for over 15 years. Even though he has been there for so long, he goes through some kind of cycle. Every now and then, he got bored, but the freedom he got at Redhat helped him come back with great ideas each time.
- At the acquisition, JBoss and Redhat were very different on many counts. It took years to align the two cultures.
- Emmanuel praised the Engineering Ladder approach of handling promotions. The similar levels and titles make it easy to compare people at different levels ("director" in the management track could be "lead" in the tech track). And it makes it easy to handle promotions, by having to tick all the tickboxes. It doesn't make it easier to achieve, but it makes it easier to visualize the path you are going to tread onto.
- Since he doesn't code as much as he would like any longer, Emmanuel started the french podcast "Les Cast Coders" as a means to contribute to the communities.
Advice on how to start into OSS:
- Find something you are passionate about
- Stick to it, consistency is golden for the maintainers
Thanks, Emmanuel for sharing your story with us!
You can find the full episode and the show notes on devjourney.info.
Did you listen to his story?
- What did you learn?
- What are your personal takeaways?
- What did you find particularly interesting?