Regardless the fact that Vietnam is one of the booming countries for tech talents, there is still a whole gap between us and top developers around the world. Most of the points are related to how professional we are, our collaboration skill or soft skill.
Being a part of tech community, realizing a few issues, also wanting to contribute a bit, this blog post is my precious and is a part of whole series to improve the quality of next generation of developers.
Below is the short list of recommended things to do to contribute to tech community.
Start by listening
Walking in to a project and saying “Hi, here’s what I think this project should be doing” is usually not taken as a good thing. Some projects may welcome that sort of approach, but if the project has been running a while, the chances of that attitude being embraced are small. Listening is the best way to know what the project needs.
Join a mailing list
For a large scale and open project or community that involve a lot of people, communication through mailing list is one of the most effective way to not distract others and good for you to follow the entire discussion.
Some of the mailing lists I followed over the past 2 years
- Viet Infosec
Follow a blog
Elite developers blog are great knowledge sources that you should follow and learn from them. Some of the rock stars they don’t really have their blog. Instead, they use Twitter for daily updates.
- Dave Cheney: Dave Cheney | The acme of foolishness
- Dan Luu: Dan Luu
- Rob Pike: command center
- Golang: The Go Programming Language Blog
Join online discussions via Slack or IRC
Most of the communities have their our channel to keep in touch and discuss about the project or things related to the community with other members.
IRC is one the most popular tools that has been used by many projects e.g Python, PostgreSQL, OpenStack, etc. IRC is a free software. You just need to download a client and ask for the node address to login.
Beside IRC, there are several modern communication platforms, they are commerce products that serve the teamwork very well. Some with free plan has been applied to newborn community: Gitter, Slack, Discord, etc. and the new members are always welcome there.
Some communities in Vietnam I take participation in
- Golang Vietnam: http://golang.org.vn
- Ruby Vietnam: http://ruby.org.vn
- Grokking Engineering: http://grokking.net
Event organizer is a difficult job and very time consuming but it’s the most important factor to keep the community alive. People might not find it important as it really depends on the interest. During the days in 201x, more and more events was held by various scale of organizations and companies. Some activities that you may found
- Technical Meetup (Golang, Ruby, Geeky, Grokking)
- Product Meetup
- Design Workshop
- Mobile Day
- Web Summit
Sponsor an Event
Sponsoring a participant in a program can be a great way to show your support, especially when you have your friends or employees participating in that event.
Usual the local events are just at small scale from 50 – 100 participants. If they are meetup or workshop event, most of their needs are a venue to organize or food and beverage or small amount of money for operation costs.
Sharing your knowledge
In every events, if you can’t afford to sponsor an event or have enough time to be a organizing member, you still can give your hand to the community by sharing your thoughts, your knowledge to other people.
Answer a question The best way to help build the community is by helping others. Answering someone questions especially when he is just getting his feet wet is very helpful for him. I see a lot Viet Community doesn’t have that culture. They usually piss off the newbies and don’t want to give out their hands.
Write a blog post
If you’ve got a blog, write about your experiences with the project that you’re using. Tell about a problem you faced using the software and what you did to solve it. You’ll be helping in two ways, both by helping keep the project on the minds of others around you, and by creating a record for anyone else who has your problem in the future and searches the web for the answer.
Contributing to Open Source
Open source software (OSS) is distributed under a licensing agreement which allows computer code to be shared, viewed and modified by other users and organizations.
Or in slightly more user-friendly language, open source software is available for the general public to use and modify from its original design free of charge. What it means is that a piece of software can evolve and be iterated upon by other developers anywhere in the world. Ideally, this means that the software is improved over time, but it can often take plenty of interesting twists and turns with all of that evolution and can change form and shape entirely. 1
Diagnose a bug
Bugs are often poorly reported. Building an attitude to help narrow down the problem make it easier for the developers to fix it. Whatever you discover, add it to the ticket in the bug system for all to see.
Fix a bug
Finding an interesting bug in ticket system and try to fix it is a best practical way to contribute to the open source project. Remember to follow the guideline and during your working period, document whatever you know to help the later contributors. Write some tests if you can.
Write a test
Adding the test to the open source project will help to improve the quality and make it more stable. In some cases, test cases and test suites are more like the documents for the project.