Kentico Loves Online Development Communities
Over the past years, we've been witnessing a huge expansion of developer communities on the web. Millions of people spend their time helping others for free. What's their motivation and why do successful companies follow this fascinating trend while still being successful? What is Kentico’s answer to that?
Greetings from Developers Community Specialist
Hi, I’m Petr. I was given the opportunity to grant some momentum to the community activities of Kentico. In my new role, I’ll do my best to leverage what I’ve learned during many years of technical positions at Kentico, one year at a partner’s site, and many sleepless nights spent on helping other developers. I'll be making sure developers working with Kentico get enough attention and I'll try to bring them closer together with our internal developers. I'll focus on removing obstacles preventing developers from using communication channels and development tools they are used to. I’ll also try to find new means for the community to interact and share ideas. Good news - I'm not alone! There is a whole bunch of people throughout the company willing to dedicate their free time and take part.
Developers Helping Each Other
If you are a programmer, then you've probably heard about Stack Overflow. If you're not, I bet you've come across one of the many StackExchange sites at least once. With its more than 4,5 million users and 25 million visitors returning every month, Stack Overflow is the biggest Q&A platform for developers, and it keeps growing. It's not just another Q&A forum, but an official support channel for Windows Azure, Internet Explorer, CKEditor, OneDrive, and SoundCloud developers.
Why do so many people selflessly help each other every day?
I believe it's just reciprocity. Help and you will be helped. It takes some time to absorb this principle and adjust our mindsets but it's a genuine truth. It's like helping a friend with a homework problem. We don't really benefit from it in the short term and, moreover, it costs us time (and time is money). However, next time, it might be us who'll need some help with an issue and guess who will help us?
The only difference with a community is that the help is distributed amongst more people. It doesn't have to be our friend who'll help us next time, it can be anyone. And that makes the community even stronger!
Helping people also has some side effects and benefits, if you will. Recognition, appreciation, and praise can be strong motivators for some, especially in the beginning.
Why do software companies choose to open source SOME of their code and ask no money for it?
Typically, because sometimes they are looking for a different perspective. When it comes to architecture, performance, security, interoperability, or other key aspects of software design, two heads are better than one. Early adopters can provide valuable feedback or even contributions. A wider developer audience can also improve code quality by writing tests, refactoring code, and fixing bugs as soon as they are found.
Companies do their best to deliver products that fit the needs of the majority of their users. But they'll never be able to create a product that fits all, a product that integrates with every thinkable service, and covers every specific scenario. This is also where the community comes into play allowing users to contribute to the product and provide these solutions.
However, we can't expect software companies to open source everything. There will always be some parts that will remain proprietary. We are talking about intellectual property that is a core part of the business and generates revenues. It's always about finding a good balance between benefits of the open source and financial sustainability of the company's current business model.
Why do millions of individuals contribute to the projects?
Perhaps, they realize how terrible our websites would look today like without jQuery, bootstrap, or any of the bazillion open-source frameworks and tools. Just kidding. I think the reason is much more prosaic - once you start using some software, and you get to know it better, you'll start to see areas where it can be improved. And when the people get the chance to fix it or improve it, they just do. We should be grateful to them and try to be more like them.
Of course, there will always be more consumers than producers but let's set the pace and all be contributors!
The programmers paradise
Imagine a world where you can always focus on new interesting problems, where all your questions are searchable on Google, and all the boring stuff is already implemented and ready to be downloaded. Wouldn't it be great?
According to me, this is the ultimate goal of community activities - to avoid wasting time and resources and let the technology progress. And, in the end, it'll lead to higher quality of our projects.
Why me, you ask?
Why should I spend my precious time helping someone I may not even know? And why should I give away code that I spent hours writing?
Because your expertise is unique. You may not even realize it but with every project you have ever done you've gained some unique experience from which others could benefit. Some things may seem obvious to you, but they aren't to others. If you are willing to go the extra mile and share the information, we'll all be a little closer to the programmers' paradise.
While doing that you'll meet a lot of inspiring people, and you'll learn something new every day.
How to get started?
Are you a gamer? Then Stack Overflow is just for you!
Stack Overflow is a gamified Q&A platform and a great place to get fast and reliable online help. You collect points and badges for asking, answering, and reviewing questions. By gaining points, you get new privileges and build up your reputation. Reputation shows how good you are in certain fields of expertise. If you wish, you can also show your reputation on your Stack Overflow Careers profile. (SO Careers is a LinkedIn for developers).
I encourage you to give Stack Overflow a try. It's a really fun meaningful way of spending time (and very addictive!). For starters, I recommend you take a one-minute tour.
Are you a Facebook addict? Try GitHub!
Some call it a "Facebook for programmers". Instead of posting statuses, you can send pull requests. Instead of messenger, you can use Gitter chatrooms. There is an awesome cross-platform application called GitHub Desktop that makes using GitHub a piece of cake, especially when you're not friends with the command line. It contains a hands-on tutorial that helps you understand key features of Git, a version control system upon which GitHub is built. It'll show you what branches, commits, and pull requests are. Once you finish the tutorial, you'll be ready to start contributing. Just pick your favorite project or start a new one.
It's really about making the first step. Don't believe me? I was also skeptical until I tried.
What about Kentico?
We at Kentico believe it's time to get involved with a broader community and help our fellow developers. What I can say now is that Stack Overflow is officially being considered an equal choice to Devnet’s Q&A. We’ll be continuously increasing our presence on Stack Overflow and promoting it as a place to ask your Kentico-related questions.
Besides that, we are working on identifying code to open source that would be beneficial both for the community and Kentico. We want to do things right so we'll take rather small steps. But enough for now, stay tuned for the next few articles.