He calls himself the biggest gamer at Codility: our Senior Software Engineer Tomasz Wesołowski (known as Kos) is a big fan of all sorts of games, from computer games through board games to classics such as go and chess. From time to time he gets active in physical sports (particularly running), and he is currently looking forward to starting dancing classes.
Q: What was your first computer game?
TW: Alley cat – it ran on a PC (my first PC was a 386). I was 3 or 4 years old back then. Computers were not too popular at that time, but as my dad was a computer enthusiast I got to have one at home. The game was about a cat who ran around the street, jumped into apartments and made a lot of mischief. It had very simple CGA graphics and music, and was super-rewarding to play.
Q: What does your typical day involve at Codility?
TW: The first thing I do is to catch up with my email, which usually means answering API-related queries and giving advice. Then I supply myself with tea and aim for two continuous slots of work (one before and one after lunch) with random meetings in between. I use the slots for coding or reviewing other devs’ work. We have recently started pair programming as we are looking to work more closely together on projects. I see great value in pair programming, such as extra quality assurance: the ‘reviewer’ gets to review the whole thought process, not just the file changes. Also, I have recently read in Uncle Bob’s “The Clean Coder” that it keeps you out of ‘the flow’, which is supposed to be a good thing: Robert claims you should avoid this state because you get locked in on your code in a “tunnel vision” kind of dreamlike focus and are more likely to miss the big picture in the meantime. Flow is superb for learning, but not ideal for producing code. While pair programming, though, you’re forced to stay communicative, perform changes consciously and keep the whole problem in mind.
Q: During the summer you were a mentor to one of our interns. How did you like that experience?
TW: This was by far my biggest challenge at Codility to date. There I was, having been at Codility for little more than a year, and suddenly Natalia was saying, “Hey, Kos, would you like to look after an intern?” I was considered a mature enough developer to be a mentor for someone else, and this felt like a very big thing to me. Also, I think I was lucky because my intern was very talented and my job mostly consisted of bringing a reality check to what he was doing, reviewing his code from time to time and giving mostly big-picture advice. I helped mainly on the ‘what’ part rather than the ‘how’ part. Dividing my time between my baseline responsibilities and mentoring was a great challenge as well. All in all, I really enjoyed the experience and would love to do it again in the future. I enjoyed sharing my knowledge and explaining things to someone else.
Q: What has been your biggest achievement at Codility so far?
TW: My pet project – the Codility API, which is now driving some of the integrations that we’re doing. It was a lot of conceptual work. I first developed it to implement one particular integration, but I was happy to learn that my design remains useful for new users. I can’t wait for our product pipeline to move forward so that I can write better docs, close some gaps and make it available for everyone to use.
Q: In your opinion, what is the killer feature of Codility?
TW: I think it’s that I really enjoy spending time with everyone who works here. All of my teammates are inspiring; everyone in their own personal way. I find it healthy to to be surrounded by inspiring people (plus, I’ve heard it’s contagious: if I’m lucky, I might catch some inspiring-ness myself!). Also, the diversity of our library reflects this well!
Q: What is your growth plan? What do you want to achieve in your career?
TW: Ha! I’m still trying to answer that. I know that at some point I want to be a ‘creator’. I want to build something bigger in the future, but I am still experimenting with my random ideas. One of them is a platform for tabletop gamers that would allow people with little technical background to prototype and share their board game designs online. One day I will start a business around one of my ideas and drag other people into it. In the short term I’d like to improve my public speaking, so that I can give good talks at conferences or workshops (sounds like a refreshing alternative to blogging and StackOverflow).
Q: What has been your funniest moment at Codility?
TW: I really enjoyed firing the rocket after launching our new Codility UX. It worked, and it even came back, so we were actually able to launch it again! Another great moment that comes to mind was when we were making Liquid Nitrogen Ice Cream, and Natalia and my girlfriend were preparing a huge bowl of ice cream mixture to be later frozen. They prepared a whole bucket of it and put it in the fridge on the day before the party. Unfortunately, the next morning it turned out that the fridge was not up to the task, and the whole bucket had to go to waste. It was entertaining to watch the girls enter Productivity Wizard Mode and successfully make a second batch in time for the party! :-)
Q: You have a final 60 seconds. Brag about something.
TW: One thing I’m quite proud of is an article I wrote about Unicode that ended up on the front page of Reddit. One of my friends really liked it and decided to post it there, and my blog suddenly peaked at 3000 daily visitors. It was quite a surprising day! I also once managed to win a tiny game development compo in around 2007, back when my grasp of C++ and OpenGL was, let’s say, “borderline productive”! :-)
Feel like getting in touch with Tomasz?
Follow him on Twitter: @KosGDor check out his website: kos.gd