My name is Cyryl and I hope you’re having a great day !
Interesting random tidbits about me
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.
Core services team lead at Form3, May 2019 - now
Software Engineer at balena, October 2018 - May 2019
I worked 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.
- 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.
- 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.
Wrocław University of Technology 2005-2007
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.
- Working with legacy code utilizing golden master tests
- Fuzzing in Rust
- Mastering Git
- Legacy Code Retreat - running a full-day workshop on test-driving changes in legacy code.
- A secret to secure software (ssshhh it’s TDD)
- “Conferences you did not know existed and now you know you just need to go to”
- “Languages are communities” - impromptu talk about how communities are the most important thing when choosing your programming language.
- “Tor and what it’s good for”
- “Erlang for the .Net people” - introduction to Erlang with some live coding by me and my friend Fabian
- “Anatomy of a debugger” - very high-level overview of how debugging works
- SMD soldering
- Start your journey with 3D printing
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