Skip to main content
Get in touch

Let's talk?

Tell us what you're planning and we'll be happy to help — or pick up the contact details below and reach out directly.

Bitwise Oy Viinikankatu 1 C 33100 Tampere The entrance is in our building's inner courtyard. There are free parking spots.

See all contact details →
Harri Haapasalo

Harri Haapasalo

Sales Director

harri.haapasalo@bitwise.fi +358 50 412 5211
Antti Katajala

Antti Katajala

Sales Director

antti.katajala@bitwise.fi +358 40 865 2951
Niksu Kortesmaa

Niksu Kortesmaa

Chief Operating Officer, sales

niksu.kortesmaa@bitwise.fi +358 44 735 5832
Tomi Mikkonen

Tomi Mikkonen

Chief Executive Officer

tomi.mikkonen@bitwise.fi +358 50 587 4324
← All career stories
Career Stories

“Writing code isn't fun. What it makes possible is.”

Henri · Design Engineer

Who? Henri – Design Engineer, now in his third year as a Bitwiser.

When an unexpected detour carries you away

Hi there! My name's Henri and I've been working at Bitwise for roughly three years now. I came here to write code after studying automation and electrical power engineering at a university of applied sciences, where my curiosity took an unexpected detour – via a specialisation in intelligent machines – into C++ code. That's most likely why Bitwise put me on a customer's application projects, which involve embedded systems and control all sorts of electromechanical things, big ones and even bigger ones. And, even more than that, they guide the people who operate these machines.

How did I end up here? Bitwise is a strangely visible, yet invisible company. People in Tampere will probably recognise the bubbly truck on the riverbank at Koskipuisto every May Day. For many years, as a UAS student, I watched a little enviously as one tech student after another got to enjoy a well-earned glass of bubbly there. Bitwise also does the rounds of the campuses, including what was then TAMK. Even back in my student days, Bitwise looked like an interesting place to work.

As I mentioned, besides electrical power engineering, my studies focused on intelligent machines, and through that I was helping develop a vehicle as part of a project. Being a hobbyist at heart, I set out to build a dashboard display for a small screen. After trying a few programming languages and libraries, I ended up cobbling together a demo with C++ and the Qt library that could be controlled with two physical buttons. That's the very demo I went to show at Bitwise's stand at TAMK. It didn't get me a job interview on the spot, but it did get me a strong recommendation to apply.

The first time I applied, I fell at the technical test in the interview – I think I got greedy and went for questions outside my area of expertise. Classic mistake. In between, I very nearly ended up working for a competitor, but their hiring process was such a mess that I went back and asked Bitwise for another interview. My task was to provide a sample of my code and make some requested changes to it. The task was fairly tricky and my code was a bit of a hodgepodge, but I reorganised it – in about a week, if I remember correctly – to use a state machine to run the program sequence. Apparently I needn't have rewritten the whole program and tested that it worked, as a much smaller demonstration of skill would have been enough. I got the job!

And went straight into my first customer application project. Not on my own, mind you – there were quite a few people on the same project who were brilliant mentors for someone at the start of their coding career. There was a huge amount of unwritten, tacit knowledge, and the job would have been impossible if I'd been left to slog through it alone. Still, with a twisted urge to bang my head against the wall of code, I got up to speed. Day by day I learned more about C++, the Qt library and – new to me – the tricks and disciplines of the customer's own software environment. Work isn't always fun, but in the end my eagerness to learn and the incredibly good support from my colleagues were what got me through this swamp too.

When you see your own code in action as a concrete part of the whole

So what do my days look like now? My day starts with a cup of coffee. I do appreciate tea drinkers too, and growing coffee isn't exactly sustainable in this day and age, but a cup of coffee is just the thing in the morning. I open the blinds at my workstation and look out at the bane of Tampere's drivers, the Viinikka roundabout, aka the “traffic mixer”. In summer, the view is mercifully hidden by leafy trees. I like my position: I'm not responsible for getting projects finished, and I sleep well at night as long as I do my own job well. Schedules aren't a big pressure either, because things sometimes drag on whether you like it or not. Then again, sometimes things get done ahead of schedule and move along at a fast pace. And that's good enough here.

I recently finished a project where I got to be involved in the product development process from start to finish. An existing in-house device of the customer's was turned into a shipping-container-sized product for sale, and it had to be made as “presentable” as a package of hydraulics, mechanics and electronics in a shipping container can possibly be. In a few months, a great team put together a product that runs maintenance tests in a highly automated way, using online “recipes” fetched directly by the device, and produces a condition report for the customer's online service. It was a joy to see a hugely complex technical orchestra playing in perfect harmony – to see my own code in action as a concrete part of the whole.

Code, and what you can achieve with it, has always fascinated me a little. Especially as I've learned to program, I've discovered new sides to it. At its best, good code is even beautiful. Look at it as abstractions: like the tiny cogs of a masterfully crafted watch, which together form something that works and is beautiful.

Programming and software design shape our everyday lives in a big way. And it's all come to the fore incredibly quickly – I can still remember the time before everyone had access to the internet. With the industry growing so fast, the world is full of code, some of it hastily cobbled together, and so it has a real impact on a large part of our lives. For better and especially for worse. Without speculating about the future, a well-made product will always be in demand. So it's worth investing – and I think we have to invest – in good quality and doing things well. Here I feel I can be a tiny part of “improving” the world, however painfully clichéd that sounds. But little by little, maybe someone somewhere is occasionally glad that my code works pretty well.

When working life shapes itself around people, not the other way round

Did I mention that I like coffee? Every now and then, Bitwise serves something to nibble at the daily two o'clock coffee break – sometimes pastries, sometimes fruit, and in summer ice cream too. All year round, there are also themed lunches around public holidays. I know, it sounds like scripted ad copy, but I like this way of doing things.

I also value the flexibility: I work a four-day week, and flexible working hours make it really easy to fit work and free time together. And these are just a few of the things Bitwise offers as a workplace.

I'm a fairly independent worker. I'm not the silent type, but I've often noticed that I don't join the coffee table crowd or go along to lunches. I don't bounce ideas around with others all that much. Among colleagues, though, there's a shared idea – and it's actually put into practice – that you can come and ask for advice at any time. And the sooner the better. People already come to me with questions about things I know particularly well.

…and I have joined the others at the coffee table now and then. There are a thousand and one events here, “buzz” supported by Bitwise, that you can join if you want to – as I have myself.

Something provocative to finish with? Writing code isn't fun. What it makes possible is.

Cookie settings

We use cookies on this site to measure visitor numbers and target advertising. Necessary cookies are always active to ensure the site functions properly. Read more in our privacy policy .

Necessary

These cookies are always active because the site cannot function without them (e.g. login, form submissions, this cookie choice itself).

Always on

Analytics

Helps us understand how the site is used (e.g. which pages are of interest) so we can improve it.

Marketing

Enables ad targeting and performance measurement (Google Ads, Meta, LinkedIn).

bitwise-session

Maintains your session on the site for the duration of your visit. · Valid: 2 hours

XSRF-TOKEN

Protects form submissions from forged requests. · Valid: 2 hours

cookie_consent

Remembers your cookie choice so you don't have to repeat it on every page. · Valid: 365 days

_ga

Distinguishes visitors from each other in Google Analytics (Google). · Valid: 2 years

_ga_*

Stores session state in Google Analytics (Google). · Valid: 2 years

Leadfeeder tracking cookies

Identifies the visiting company based on IP address for sales lead management (Leadfeeder). Does not identify an individual person. · Valid: Varies

_gcl_au

Links ad clicks to later actions on the site (Google Ads). · Valid: 3 months

_fbp

Identifies the visitor for ad targeting and remarketing (Meta). · Valid: 3 months

UserMatchHistory / li_sugr / bcookie

Identifies the visitor for ad targeting and performance measurement (LinkedIn). · Valid: Varies