Access to the “Big Picture”
At inmation, when you’re developing a feature, you always know the purpose of the work you’re doing and where it fits in the vision of the company.
When I was working for bigger companies before, the big picture would usually be limited by the time it trickles down from top management to me, the developer implementing the future, through various levels of people and project managers. But here, you always know why you’re doing what you’re doing and if you have a question you can always walk to the desk of one of our MDs or our Head of Development to know how your work fits in the larger scheme of things.
The Joy (and Pain) of Being on the Bleeding Edge
At inmation, we try to be on the latest and greatest of the technologies we use and work on. For example, we use C++17 to develop our core server which is the latest version of C++ and we were using Visual Studio 2017, the latest version of Microsoft’s development environment before it was even released. We integrate the latest available versions of most of the third party libraries we use as well. Being on the latest available technologies/libraries helps us simplify our code and make it more efficient.
Of course, it also means that we’ll have to solve problems with the new technologies/libraries on our own instead of searching for a solution on Stack Overflow or report problems to others to get them fixed. But that’s a price we’re ready to pay.
Being a Part of a Small, Diverse and Fun Team
It’s fun to be a part of a small team of people from diverse backgrounds and cultures. Our team has people who are physicists, chemists, mathematicians, artists and are from many different countries. I have worked in much bigger companies before and you just don’t get the level of camaraderie that you feel when you’re working in a small team for a common cause. At inmation, each person knows what every other person is responsible for and can walk right across to their desk if there is something to discuss.
Freedom to Make Difficult Technical Choices
At inmation, if a developer thinks they can make the team/product more efficient, all they need to do is talk to the few people who will be affected by the proposed changes. The team is not afraid of changes and it’s common for the team to make significant investments in code to develop non-customer facing infrastructure if it makes the product better in the long term.
One of the best examples of the investment we’ve made is probably the performance counters and tracking system we have developed. We put in significant effort to create it and now our clients and support staff can use it to see which component is using how much of each resource at any point of time. It has helped us debug difficult problems on client machines.
It helps that both our founders are coders at heart and can analyze and understand technical problems. So you can talk to them like you talk to any other developer when we’re discussing technical issues.
Working on a Great Product That Is Winning More Customers by the Day
At the end of the day, all of the above doesn’t make a lot of difference to me as a developer if we’re working on a product that is not making a difference in the world or is not loved by customers. But despite being a recent entrant in the industry and very young among its peers, system:inmation is being adopted by big entities in various industries and is loved by its users.
I’m glad that it’s being used in many different ways to solve different problems in different industries which bring more challenges to solve for us developers. Since the vision of the company is to build a powerful generic product which can be used in many different domains, it makes our jobs all the more challenging and rewarding at the same time.