When people ask me what I am doing for a living I choose the easy answer and often reply that I am a software engineer. Most people already have a hard time grasping the difference between backend and front-end development. But what an interactive developer might be doing leaves a lot of people puzzled. This article is not necessarily intended to vulgarize this universe for non-tech people but more to trigger and tickle curiosity to potential future developers wanting to explore new horizons.

Definition

An interactive programmer develops and maintains interactive installations to showcase new products or present a company. Your work is to find and learn new ways to create fun and playful interactions bringing the consumer closer to a product. Your role is to create unforgettable experiences for users to talk about it around them. This could also be referred as branding.

Case study

What are examples of unforgettable interactive experiences ? Well, for a start all the projects curated in our database are all perfect examples of interactive installations. But let me break down one project in detail to show you what would have been your role in such project.

Let’s take the Nike Game of Go for our case study. I don't know for sure what technology they used but it's not the point here. The goal is for you to understand what challengers you might face working on this project. In the video you can see multiple users competing against each others running on a treadmill. The game itself is made with a game engine like Unity3D or Unreal. (we see it’s actually Unity3D in the video) The players movements are captured by a motion tracking camera (probably a Kinect from Microsoft) and translated real time in the game. The treadmill also appears to be controlled remotely by a computer to make the race more or less difficult.

The question now is:

How do you track player movements and send it to the game engine

How do you implement the network to make a multi player experience

How do you broadcast the game on multiple screens at the same time

How do you control the treadmill angle and speed with the computer

What materials, softwares, programming languages will you use

All those questions would be your responsibility if you were an interactive developer.

Required skills

You might now wonder what skills are required to become such a developer. The thing is that there is no perfect answer to that question. The interesting thing about working in this environment is that you need to be extremely versatile and willing to always learn new technologies. Personally I have often learned a new programming skill just for one project and might never use it again. However it is true that there are a few redundant technos that are often used for interactive installations such as: Unity3D / Unreal, Arduino, OpenFrameworks and mapping projections softwares. Apart from the latest all those programming environment gravitate around C, C# and C++. Those languages are closer to the machine and facilitate the communication with other devices notably through the serial port.

Opportunities

As interesting as it might sound (or not) it can be somehow tricky to enter that field depending where you live. From my point of view not all companies are ready yet to spend big amounts of money for this kind of marketing campaign. And solutions company are not always ready to make that leap. For now, it's better for a business to have something else on the side such as a web development team before the interactive development branch becomes fully viable on its own. In any case I wish you all the luck finding a job that fulfills you!

Conclusion

In this short article I hope that I picked your curiosity. I have been a developer for a few years now and I have never felt like I was pushing myself enough. Web development can be quite repetitive after a while. Interactive development is constantly evolving. Yesterday VR was a really trendy technology today it's more about mixed and augmented reality, but we don't know what is it gonna be tomorrow! If you are passionate about programming and you can't stick to only one language or techno you should definitely give this career path a try it might become your dream job.