As open source software – for which the original source code is made freely available and may be redistributed and modified – disrupts traditional software development, demand for experts will grow parallel to increased adoption. Robert Lau, vice president and general manager for Asia-Pacific and Japan at software firm Elastic, talks about the growing open source scene and the skills needed to succeed.
How has the landscape for open source development changed globally in the last five years? What are the main factors driving the sector in Hong Kong?
In the past most open source projects were non-commercial. However, in 2014, research firm Gartner stated that open source technology will be included in 85 per cent of all commercial software by 2015 and 95 per cent of mainstream IT companies will use some element of open source software.
Asia was lagging behind Europe and the US in adopting open source solutions, but is now catching up due to market maturity and an increasing adoption rate.
The recent “2016 Open Source Jobs Report”, jointly produced by career site Dice and The Linux Foundation, found that 65 per cent of hiring managers believe that open source hiring will increase more than any other part of their business over the next six months, and 79 per cent have increased incentives to hold on to their current open source professionals.
Demand for software development talent is on the rise generally, driven by the key trend in which so many companies are working to become software companies.
We are seeing more investment in sending overseas developers (from multinationals) to Hong Kong to promote for their company. Although the Hong Kong government is not actively promoting open source, we are seeing Cyberport and the HK Science and Technology Park promoting their own open source events and workshops. Hong Kong is not the most mature market, but it is more ready to build an open source community as its multilingual capabilities allow more project development in the city.
How are recruiters responding? How will the job market for open source developers change in the next five years?
Like most areas of business, the best talent will be in acute demand and will be fielding direct opportunities and enquiries from headhunters. Recruiters and companies need to work together to come up with compelling opportunities. Most developers will be after the opportunity to work on interesting or important projects.
The job market for open source is likely to grow alongside the increase in adoption of open source platforms within both start-ups and established enterprises.
We are seeing more job postings for senior developers and we shall see stronger demand as companies begin to embrace and adopt open source and innovations.
How would you describe a typical open source developer? What would their average week involve?
Previously there was a notion that most open source developers were hobbyists, doing most of their coding at night. This is no longer the case. An academic research paper published a couple of years ago showed that 50 per cent of open source software development has been paid work for several years now, and takes place during traditional working hours.
The work may involve generally wearing many hats and undertaking a lot of non-coding tasks, for example attending meetings with other contributors from all over the world (via IRC or some other real-time communication medium), writing documentation, answering questions and mentoring new contributors.
How is being an open source development different from being a developer for closed source development?
With closed source development, you may be able to focus more narrowly on the task at hand, as there’s no need to get involved in fixing bugs or contributing back to the community. At the same time, you lack the input and support that’s available in the open-source community.
Open source allows developers to be creative. Developers use open source to customise programs to fit their needs, be it for work or personal use. Ultimately, open-source embraces innovation and innovation is limitless.
The actual work is no different – it’s all in the mindset – in being open and willing to share and to take criticism as well as praise. In open source, sharing is key, as is an understanding that releasing your code in some ways removes your ownership. It’s about being able to accept suggestions, patches and pull requests from contributors, even when those changes may be markedly different to your own ideas.
Typically, engineers are not very transparent or known in “closed” software companies, whereas engineers are very influential and transparent in open source software companies, as they are part of the frontline teams.
What separates a great open source developer from an average one? What do you look for when hiring?
Solid programming skills are a given, but soft skills, such as the ability to work as part of a team and communicate clearly, are critically important. Tenacity and a drive for problem solving are also key.
It helps if a developer is an active user of open source tools and a frequent contributor to open source projects. They should love to share what tools they are using and how the tools helped with specific projects.
Extensive public-facing contributions, not only in code but also in discussions on Twitter, mailing lists, forums, IRC and other public mediums, are important.
The ability to defend a viewpoint, but also to admit being wrong, is also important. Debate is healthy in open-source projects.
A passion for community inclusion and acceptance of all contributions, technical or otherwise, is key, as is keeping a low bar for new members and helping them thrive.
What qualifications are useful in this profession?
A degree in computer science, as well as experience working with open-source and cloud-based platforms, and the ability to work in a distributed work environment.
Open source projects are by definition very collaborative and individuals will find themselves collaborating with individuals and teams worldwide.
Is there a clear career path for open-source developers and if so, what is considered typical progression?
Many developers are now founders, CTOs, CEOs, or management team members for many start-ups and multinationals.
Successful developers will see gains intellectually, personally and financially.
How can developers in other fields make the switch to open source development?
They can start to explore the different open source communities and also dive in and look at the code. If they really want to immerse themselves, they can join a project and start contributing or join a meet-up and learn from other peers. There are definitely no barriers to joining. They should find a project they are interested in and help in any way they can. It doesn’t have to be code; it could be bug triage, adding missing docs, or answering questions on a forum. Anything that could help the community and project developers. The act of contributing, not the type of contribution, is most important.
How does working as an open source developer at a start-up compare to a large, established company? Which offers the best opportunities?
It really depends on the company and also the motivations of the developer.
There will be large and challenging projects and potentially higher salaries to attract developers in some of the more established companies. Start-ups also hold a lot of appeal for developers, with opportunities to innovate and develop solutions from the ground up.
Start-ups tend to be more “technology-trendy” and with limited budget or funding, they tend to aim towards open source software tools that can help them solve problems. Start-up developers need to be more creative and collaborative.
This article appeared in the Classified Post print edition as Sharing the code.