Even though Vietnam is one of the booming countries for tech talents, there is still a whole gap between top developers around the world and us. Most of the points are related to how professional we are, our collaboration skill or soft skill.
Being a part of the tech community, realizing a few issues, also wanting to contribute a bit, this blog post is my precious and is a part of the whole series to improve the quality of next generation of developers.
Below is the short list of recommended things to do to contribute to the tech community.
Start by listening
Walking into 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 many people, communication through a mailing list is one of the most effective ways to not distract others and good for you to follow the entire discussion.
Some of the mailing lists I followed over the past two 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 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 channel to keep in touch and discuss the project or things related to the community with other members.
IRC is one of the most popular tools that have been used by many projects, e.g. Python, PostgreSQL, OpenStack. IRC is free software. You need to download a client and ask for the node address to log in.
Beside IRC, there are several modern communication platforms. They are commercial products that serve the teamwork very well. Some with a free plan has been applied to the new community: Gitter, Slack, Discord. Also, 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
The event organizer is a difficult job and very time consuming, but it’s the most critical factor to keep the community alive. People might not find it necessary as it depends on the interest. During the days in 201x, more and more events were held by the various scale of organizations and companies. Some activities that you may find
- 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 a 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 a small amount of money for operating costs.
Sharing your knowledge
In every event, if you can’t afford to sponsor an event or have enough time to be an 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 utilizing 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.
Alternatively, 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 says that the software is improved over time, but it can often take plenty of exciting 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 the ticket system and try to fix it is the 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.