Published on

Q&A with Krzysztof Rakowski

Web developer from Warsaw | Python, CSS, and JavaScript

Hi, my name is Krzysztof (Chris) Rakowski. I live in Warsaw, Poland with my wife and two cats. During the day I am a development team leader with 14+ yrs of experience in software development. After hours, I love to travel  - USA, Japan and Southeastern Asia are my favorite destinations. Other two words, that may describe me are "foodie" (but without the Instragram photos) and "bookworm". Besides that, I work on some side projects, most of them related to programming or my house (or both).

I work in the Poland's "most interactive agency" - K2 - as the leader of the development team. Our main responsibility is to develop and deploy large scale web applications for big companies. Most of my time I spend talking to people - developers from different teams, project managers, business people and customers. Besides organizing day-to-day work of my team, I need to know everything about our projects and I am the "go-to" guy if something breaks. To stay in touch with the technology I try to code as much as I can. Specifically, I enjoy learning and testing new technologies and programming languages. Some of my experiments and personal projects, which I describe on my website at www.rakowski.pro.

Hardware

I use most of the popular platforms that exist on the market. Until recently, I worked on the HP laptop with Windows 8, which is the standard in our company. For the development, I use virtual machines with different flavors of Linux (Ubuntu, Debian, sometimes CentOS). In home I have a powerful workstation with Windows 7, lots of RAM, storage space, two monitors and really old school mechanical keyboard ('95 Alcatel without the Win key;).

Recently I got myself a 13" Macbook Air and I start to really appreciate it as a platform combining great, usable interface with the *nix development capabilities. I observe, that my productivity is significantly greater in comparison to Windows platform, so currently I migrate to Macbook as my work environment.

In the mobile department, I try to stay up to date with most popular platforms, so alongside my personal iPhone 4s I got HTC Windows Phone 8s from my company. I also enjoy reading books on my good old 3rd gen Kindle.

Besides all the electronic gadgets, I enjoy using some analog tools. I always carry with myself my Moleskine-ish notebook (I don't care about the brand that much, but I like the design), or reporter notepad (I find those especially useful when traveling). I like to write using fountain pen, however it is not always practical.

And last, but not least, recently I have a lot of work around the house, using the classic hardware: shovel, drill or hammer :)

Software

Working with three platforms, I have a favorite set of applications on each of them. Fortunately, most of the best applications are multi-platform. I will skip the general stuff used by everyone, such as Skype or Chrome/Firefox/Safari and get to the point.

After reading Workspiration's profiles of fellow developers I may say, that I am not in any way original in my choice of development tools: I use PyCharm for bigger projects in Python, while Sublime Text 3 or Notepad++ (on Windows) for smaller text or script editing. While on remote systems, I use vim. To get to those remote systems I use putty on Windows. On Mac I experiment with iTerm, and play with the fish shell and zsh. Two great Windows-only development tools are WinSCP for accessing remote filesystems and WinMerge (visual diff). As a Mac's alternatives I use FileZilla and DiffMerge. Source Tree (for Windows and Mac) is a great visual application to work with mercurial and git repos. It integrates nicely with Github and Bitbucket. One great app, that doesn't earned the popularity it deserves is Charles Proxy - indispensable tool for debugging every application that makes use of http protocol.

Well organized work (and life in general) is key to success. I organize my tasks with any.do, which is great iPhone app for managing tasks, and has also Chrome extension. It's sometimes buggy, but still the best app after Yahoo acquired and killed Astrid, and Dropbox did the same with Orchestra. Evernote is a great app for taking and managing notes, however for projects that need more structure (for example the articles or presentations) I use XMind, which is great multi-platform mind mapping software (and the basic version is free). Sometimes I have to use MS Office (at work) or it's open source clone, OpenOffice (which I prefer for personal work). There are also two online platforms, that I use a lot and recommend: Pocket for storing the articles to read them later (even offline) and RescueTime, which is great tool to analyze your productivity and use this knowledge to draw some useful conclusions.

Many people don't realize this, but MS Outlook with Exchange integration is great communication and productivity tool. It combines e-mail capabilities with contact book, calendar, task manager and many more. In the corporate environment such as my company it is great tool to exchange tasks, organize meetings (you can match peoples' schedules and free rooms, for example), or just send, receive and flag the emails. It integrates with Lync, which is enterprise communicator, with desktop sharing, video and voice capabilities, etc. But in my personal life, I keep my data safe in Mountain View, California with Google and their Gmail and Calendar :)

Not everyone remembers about that before it's too late, but backup is very important. I use CrashPlan, which lets me adopt few backup strategies: first, I backup all important data to separate disk drive (for easy and fast recovery in case of disk failure) and then it also sends them encrypted to the cloud (in case of very unlikely scenario, that both disks fail or some other catastrophe happens). I sync some of my files with Dropbox, so I can work on them on any of my computers. The code, application settings, etc. goes to the mercurial or git repository. I also backup my whole e-mail account with gmvault, which is great Gmail backup solution - it stores the emails in the open mbox format. Those backups then go to Crashplan as well.

There is a security tip, that you shouldn't use the same password on two websites. This may be hard if you have hundreds of accounts here and there - 1password application is great tool to manage login credentials (it has a version for every major platform). For stuff that needs higher security I use TrueCrypt, which is free encryption utility to create virtual, encrypted disks or just encrypt whole physical drive of the computer.

Many small but useful system tools are what makes our work more productive and enjoyable. I love Alfred, which is great productivity tool for Mac. It's basically Spotlight on steroids - you can launch applications, search for files, do calculations, run terminal commands and do many other things. To make working on many machines at the same time easier I use Synergy to use one mouse and keyboard with multiple machines (recently I test ShareMouse, which seems to be more user friendly and have more capabilities). Two great Windows-only tools are CCleaner (which I use for system hygiene: deleting obsolete registry entries or tmp files and managing startup items) and 7-Zip (multiformat archiving tool). Flux is great multi-platform application, which adapts the temperature of the displayed colors to the time of day, helping you sleep better, especially if - like me - you like to work late at night. Reading some of the Workspiration profiles I was amazed, why so many people praise the small Mac tool called Caffeine - its sole purpose is to prevent your Macbook from sleeping. I learned the reason the hard way - when I got back from the kitchen with a fresh cup of coffee to see my computer sleeping, my VPN connection dropped and all ssh sessions dead.

Last but not least are the multimedia applications. The one and only movie player is VLC, present on every major platform. There are two great Windows-only applications: foobar2000 as a lightweight music player and IrfanView as an equally light, yet powerful, graphic viewer. I use mainly Youtube as my music playlist manager - I tried switching to Spotify, but I wasn't satisfied by their music library and tools to discover new music.

Dream setup

In fact I think that my setup is great and it fits my needs perfectly. As I get to know Mac better, I think that this ecosystem is very close to perfect.

Work inspiration

There are several sources of inspiration, that come to my mind. First of all - people. My wife and family, who support me in my efforts and often give me different perspective on my endeavors. People, who I meet and talk to give me new ideas and inspire me to try new approach. I especially like to attend conferences and developers' meetups, where you can talk to interesting people. I am lucky to work with very bright and versatile individuals, very often they are the source of inspiration and knowledge for me.

"Books are a uniquely portable magic" said Stephen King, and this magic, trapped in fact or fiction books is a rich source of inspiration for my work and life. I also read popular industry blogs or websites (i.e. Smashing Magazine or Hacker News) which are good gateway to less popular, but interesting resources.

My side projects are inspired by my daily needs and activities. I like to hack a device or write a program that makes my life easier or more enjoyable. For example, right now I am working on the Arduino based cat feeder. My other project is a Rasbperry Pi based system that lets me control electric devices in my home (like garage door or lights) remotely and notifies me via SMS about different things that happen, when I am away (for example security system events, temperature, septic tank level, etc.).

I hope, that you find my thoughts inspiring. If you would like to get in touch, follow me on twitter @krzrak or visit my website at www.rakowski.pro.