Heya !


My name is Cyryl and I hope you’re having a great day !

Interesting random tidbits about me

I am running remote pairing sessions, helping people with Rust. My recent focus is adding fuzzer infrastructure to their projects.

I started a blog post series on testing in Rust where I share the tricks I’ve learned.

I was in both leadership and individual contributor roles, I have respect for all sides involved in the process.

I like testing, I taught various aspects of TDD in an apprenticeship course.

Day jobs

Software Engineer at balena, October 2018 - Now I work remotely on Rust crates compiled into NPM packages through the power of WASM. As all of the above is on the bleeding edge - I find, report and fix bugs throughout the ecosystem.

Software Craftsman (Consultant) at Codurance, January 2017 - October 2018 Helping client teams grow - working within software teams and teaching technical concepts as well as improving the process. Running workshops (e.g. Legacy Code Retreat, advanced git, TDD). Running Rust pairing sessions and intro to Rust workshops. Facilitating open-space conferences. Teaching at the apprenticeship programme.

Projects:

  • Transportation route planning software for a big retailer, using a graph database (Gremlin/Apache Tinkerpop) in Java. Managed deployment to AWS via Terraform.
  • Transaction consolidation software for an investment bank.
  • Electronic circuit simulation software for a startup.

Consultant at Infusion, June 2012 - November 2016 Writing code is still where I spend most of my time, and happily so. I do that in Java and .Net, sprinkled with some C, C++, Python, bash and powershell I gather requirements, talk to the clients, other engineers, figure out solutions together. My particular specialty seems to be taking over legacy code bases and making them shine. I am responsible for a small team of developers.

Projects:

  • Pulse - a product for mass remote software installation and monitoring. Used, among others, in demo kiosk installations, phone retail shops and in-flight entertainment systems. Writing server and client code. Largish system working mostly on the backend in .Net, standing on Azure. I’m helping here and there, with the architecture and sometimes doing changes to our Android client code as well.
  • I’ve helped build a distributed solution for insurance cost calculation for Metlife Japan. Mostly Java, some IBM mainframes and occasional C++.
  • I’ve worked for other financial institutions on distributed software for risk exposure analysis. Mostly .Net, some C++, large in-house computation farms involved.

Senior Software Engineer, Power Media S.A., February 2011 - June 2012

I was asked to return to Power Media by the head of the whole department, this was quite cool ! I’ve helped recruit more people and was one of the developers working on the system for TV materials storage. The system was written in C#, but I’ve also took a look inside an Erlang one and a one in Obj-c as well, from time to time. I’ve convinced the company to open source the core libraries used.

Mobile Games Developer, iNTRES/Scoreloop, December 2009 - February 2011

I was a part of a team that was tasked with developing a cross-platform, pure C library that provided matchmaking, ladders and other networking capabilities to mobile games, Pro Evolution Soccer 2011 among others. We’ve used C89 as the base language.

Lead Developer, Power Media S.A., June 2007 - December 2009

This was my first experience as a leader. Despite this we’ve managed to build the new travelplanet.pl - a website for the biggest trip broker in Poland. This was a .Net job and involved some quite heavy server machinery. Around 60 different data sources were involved. In the meantime I’ve also helped with growing the Erlang team and got my hands dirty with proof-of-concept low-level Mac PowerPC programming.

Software Developer, Power Media S.A., June 2006 - June 2007

My first “real” job ! Maintenance on the in-house systems written in Java. Slowly I got into client-facing project as well. Java, Webobjects.

Books

I am one of the technical reviewers for the “500 lines or less” book, a new entry in the Architecture of Open Source Applications books series. I helped to shape the chapter on Paxos there.

Talks/workshops - ask me to give some !

The links provided are for the slide decks.

More to read

I like building tools. Be they physical or software. Something that lasts.

I like teaching - allows me to understand topics in more depth. I’m good at understanding whole worlds of interactions within software projects.

The people and their needs and then the system architecture, code itself, its execution. Because of that I’m sometimes slow to comprehend new things. I really like trying new things. I like Rust quite a bunch and am trying to spread that love - I am a contributor to the core Rust projects. I run my own infrastructure - email, blog, backups.

I ask a lot of questions. I like to be in the understanding of the value of my work. I think there’s a big value in sharing. I am really into the open source movement. I like helping people. I like electronics. I’ve assembled a RepRap. I’ve built a sun-powered backup server. I’m learning PCB design in KiCad and CAD via Fusion360. I like debugging. Electronics and software. I have a CNC router. I like board and RPG games. Rock climbing. Cycling. Other life activities.

Curious reader might want to follow my blog at blog.cyplo.net

Email me at hello@cyplo.net - I’m happy to have a chat with you !

See also