I like things. Building things and fixing things.
Here, I start with some background on the stuff I've built and end with some prose on who I am and how I like to work.
Read on and have a great time !
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.
Consultant at Infusion, June 2012 - Now
Writing code is still where I spend most of my time, and happily so. Mostly Java and .Net, sprinkled with some C, C++, Python, bash and powershell. Docker somewhere there. 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. There was another team, working in Ruby on the server side, we had lots of chats with them on the APIs. Oftentimes I needed to delve deeply into performance issues on completely foreign legacy code bases.
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.
Some talks I gave
Most of them on the user group meetings across the country. The links provided are for the slide decks. I prefer dense talks with sparse slides though.
"Languages are communities" - impromptu talk about how communities are the most important thing when choosing your programming language.
"Tor for beginners" - A talk I gave to the local students' groups on the safety on the Internet and what is Tor, why to use it and why not.
"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
More to read
I like things I interact with to be of quality. I like polishing code. I won a set of quality Wiha screwdrivers in a contest by Digikey. I like them, they are of quality. I like Vim.
I have a set of scripts that set up my laptops and VMs from scratch. 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 need an initial load of context of a task. Despite all that I like trying new things though. I like Rust quite a bunch and am trying to actively learn it. I run my own infrastructure - email, blog, backups.
I ask lots 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 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. I like debugging. Electronics and software. I have a CNC router. I like board and RPG games. Rock climbing. Cycling. Other life activities.
Life issues need some debugging as well, sometimes. I help people understand their business workflows and sometimes even fix them with software.
Curious reader might want to follow my blog at blog.cyplo.net
email me at firstname.lastname@example.org
my gpg fingerprint: F89F 039F C9F4 3A0E E959 C89F D6C1 3574 0165 CC74
my blog where I write about little things I've managed to discover or fix
Diaspora - email@example.com - I'm a podmin here
github - mostly experiments there, spiking out things. Helping other people with their projects by reporting bugs, fixing documentation and sometimes the code is there as well.