The Art of Self-Programming

pick me

More than two years ago I joined the amazing team at Toggl. I was one of these guys who thought he knew much, but actually didn’t. I came from the classical PHP, Javascript, MySQL stack and felt quite comfortable with myself. From the trial day at Toggl I was shown that there is much more to learn before I can declare my self as an experienced developer.

I came in looking sharp throwing around my wide friendly smile and feeling confident. To get ahead of the story, I would like to mention that the coding part of the trial day was actually the simplest part. I was asked to sit down next to one of the most experienced developers in the company. I sat down and the challenge was accepted.

Firstly I sat behind an iMac. Being a Linux man all my working life, I had never used an OSX machine before. This is how it begun, the mouse scroll was working the other way I expected and the whole interface was different. With few short moments I had grasped the OSX interface, so the Master said that let’s just take on some tickets from the task list. Hello Coffeescript! That’s another new discovery with my few minutes at Toggl. Ok it seemed quite logical and similar to Javascript.

The next step was editing the code. Meet mister Vim – another Joker in the pot. All in all I got a grasp of all these new environment variables quite fast and completed given tasks at steady pace. Stepping out of the office I felt good as vacationer on the Bora Bora beach sand. I met awesome people (hadn’t seen so many friendly faces per square foot before) , completed all the tasks and learned so much in such a short period of time. All of this gave me the feeling that I’m going towards something very good and therefore I’ve been eager to step up every time a learning opportunity presents itself. Now with my time in Toggl I’ve coded in 7 different programming languages.

How do you get from two to seven? You take on challenges that’s how. I call it “raising the hand” when the opportunity comes on your way. With almost every new project that has been started, sooner or later I’ve joined. From time to time we have round table discussions about who volunteers to join one or another project. That’s how I joined the Toggl mobile app team, the Toggl Desktop applications team, the New Toggl team and even stepped into the Teamweek team for a while. In the end of the day, I couldn’t deny that my heart really belongs to Toggl and I rejoined the cast of Toggl once again. My last accepted challenge is the Toggl new desktop client. I’ve been working on it for about two weeks now and it is quite awesome if I may say myself (because I write awesome code you know).

So be bold, let the relationship with your comfort zone get cold and step outside of the box. It’s totally worth it. The new project or task might not always be something that you would like to do for a long period, but every new knowledge and experience contributes to a better and more experienced programmer.

This is the simple essence of self-programming. With every accepted challenge I’ve programmed myself to be better, faster, smarter.

By On February 25, 2014

  1. Incidentally, it was a transparent post like this that finally moved me to become a paying Toggl user. I like to know that a dev team is working behind the scene on making their entire product suite great.

  2. I like this post. Didn’t find it until now—a few months late—but nonetheless, it’s applicable to where I’m headed. Thanks much.

  3. nice to hear from a new voice. Since you are working on Toggl desktop will a newer version work better in Windows 8? I run desktop mainly for use with the timeline feature on the web app but all applications show up as “undefined” I reported that a long time ago but wondering whether this is on the list to be fixed.

  4. We know that the timeline feature is one of the key elements in the desktop app and will take it very seriously in the new version development.