What makes it special to be a developer for an open source software?
Software engineers and developers are probably the most sought after profession at the moment. They mostly have a wide choice of companies to work for. So how would a developer make their decision? Besides pay, benefits and other factors like the company culture etc. that every employee considers, the software product itself can provide a reason to start working for a company. There is a big difference between open source and proprietary software and what impact it has on the work of a software developer. Let us have a look at what an open source software has to offer.
For a better reading experience, we are using the term software developer in this article, even though it of course applies to software engineers and developers.
Direct exchange with the community and users
When working on an open source project, it will in most cases have an active community that the developer can engage with. Thereby users, advocates, developers exchanging ideas, sharing knowledge, contributing to the project make up the community. A proprietary solution cannot offer this as it is only developed internally. Working together with the community can be very special and rewarding due to the direct feedback and exchange. There are different ways of interacting with the community:
- Working with feedback from the community. They will give feedback on existing features or during developments. The developer can also actively request feedback from the community on a specific development. There might be someone out there who specializes in the area the developer is working in and thus an exchange of ideas can happen.
- The community might request features and after thorough analysis if it fits the project’s roadmap, could be developed.
- The developer can build on code contributions from the community and e.g. finalize them if the contributor was not capable to do it. Or they can develop it further and take it to the next level.
Learning from and within the community
Working in an open source environment makes the developers part of the global open source community. It allows them to use the work and knowledge of others by using open source libraries or by checking other publicly available code for logics that the developer wants to implement. Besides, if someone else, either a single contributor or even e.g. a big client, developed something for an open source project, the developer can exchange with that contributor to learn and grow. On top, in the development process or after, the developer can ask for feedback from the community on their development. Overall, working in such an environment enables the developer to boost their coding skills. They uncover mistakes in their code, receive inspiration and feedback from other professionals and develop well-structured code. However, in the open source community it is not only about learning but also giving back your own work and knowledge and making it available to others so that others can learn from you.
Transparent progress for the developers themselves
As the developer’s contributions are public, they can see and track their own progress easily and also show it off to others. How many contributions did they make for example in the last week? Thereby, it can be contributions to one or several specific development projects as well as to open source libraries. Seeing the own progress published can increase one’s motivation.
Portfolio booster for the developer
The code of an open source software is public and thus visible and shareable. Consequently, a software developer can openly share their work, both the result but also how it was achieved. Over time, a whole portfolio can be built up and is available and visible e.g. for the community to go through the developer’s focus, knowledge and capabilities.
Philosophy of power to the user
Another reason to work for an open source software can be to be able to build software that benefits the user in the first place. Open source software works with open standards to avoid the dependence on a provider. As the code is publicly available, the users can modify and enhance the software to their needs and even redistribute it. Because of this underlying principle of peer production and mass collaboration, even if a profit making company is behind the development of an open source solution, it is incentivized to create a sustainable software for the end user.
Advantages of working as a developer at OpenProject
OpenProject is an open source software and besides the above mentioned advantages, there are more aspects that make working at OpenProject so unique.
Passion time
Once or twice a year, OpenProject gives software developers (and all other employees too) time to work on their own projects. Passion projects that they feel are important for the product but are currently not on the roadmap. We achieved great results with encouraging customer feedback so that some projects were even taken further and integrated in the roadmap.
Flexibility to work remotely
OpenProject already lived the remote spirit before the pandemic and will continue to operate in a remote-first mode in 2021 and beyond. You can choose whether you would like to work remotely or from our office in Berlin. Besides, OpenProject’s staff is also working with a flexitime model. This allows everyone to cater to their own needs by adjusting the personal work schedule around the core working hours.
Participation
A smaller team with flat hierarchies allows for the team members to be more involved. Every employee is invited to come up with ideas, big or small. These will be directly discussed with the CEO or the team and decisions are made quickly.
Believe and invest in our employees
We at OpenProject are proud to have a team of developers that have been with us for several years and know the code inside out. We invest time to train our employees to give them confidence to work independently to increase their satisfaction on the job. We do the same with interns or working students to then convince them to stay with us as permanent employees once they graduate. This has proven successful for us. Another success story is one of our longest serving software engineers who first contributed as an open source community member and then later on became an integral part of our team.
You want to know more or join our team? Read up more about OpenProject’s company culture and find out about our job openings. We are looking forward to hearing from you.