Who has started the Go Challenge ?
JoshSoftware Pvt. Ltd. is India’s leading company in building innovative web applications working exclusively in Ruby On Rails since 2007. Josh have been using Go in some of their Web applications along side Rails (especially for some heavy lifting). Back in 2009, Josh had been actively involved in organizing Ruby programming challenges and decided that Go too needs such challenges. Hence the monthly Go Challenge.
What is the Go Challenge ?
- The Go Challenge is the world’s first monthly programming challenge for Go developers (newbies included).
- The Go Challenge is free and registration is not required.
- A new Go Challenge will be posted here on the first day of each month starting March 2015.
- The challenge is open to individuals only.
- You are invited to post your queries / doubts on our forum.
How does the Go Challenge benefit you ?
The Go Challenge:
- is a good idea as reading books and documentation can only take you so far when learning a new language. To really learn, you need to use the language.
- provides a fabulous forum for using Go in the form of regular, engaging (but not arcanely difficult) challenges. Better yet, it provides feedback on how to use Go well, as each month the best solution to a challenge is chosen.
- is a wonderful introduction to the Go language and to the Go community.
How to Enter the Go Challenge ?
- Read the Challenge Rules below. By participating in this challenge, you agree to be bound by the Challenge Rules.
- Create a zip of your Go source code and send the zip file to gochallenge [at] joshsoftware.com before the 16th of the month. No new solutions will be accepted after that. In the email mention your full name, country of residence, and twitter id. We will give your zip file to the evaluation team. Note: Avoid sharing your code with anyone else; if your solution becomes available to the general public it might impact evaluation of your submission.
- On the 24th of the month at 6 am IST, all the solutions will be thrown open for everyone to see, comment upon and cast votes.
How will the challenge be evaluated?
Entries will be anonymized and evaluated by the challenge author and a team of evaluators.
- Functioning code and a test suite that passes.
- Code hygiene. Use gofmt, vet and lint. Review CodeReviewComments.
- Readability. How easy is it for another programmer to grasp what your entry is doing?
- Code structure. Do types and files have good names?
- Reliability. Are errors handled?
- Appropriate consideration given to memory and performance (nothing is unnecessarily expensive).
- The Challenge is open to individuals.
- You maintain ownership of all code you submit and can release it under an open source license or keep it private after the challenge.
- Evaluators cannot enter the challenge.
- Each entrant shall indemnify, defend, and hold JoshSoftware Pvt. Ltd. (who has sponsored the domain and is the organizer of these challenges) harmless from any third party claims arising from or related to that entrant’s participation in the Challenge. In no event shall JoshSoftware Pvt. Ltd. be liable to an entrant for acts or omissions arising out of or related to the Challenge or that entrant’s participation in the Challenge.
- Odds of winning depend on the number and quality of entries received.
- All taxes, including income taxes, are the sole responsibility of winners.
- No prize substitution is permitted.
Nathan Youngman has agreed to set guidelines for evaluation. Akshay Deo, Jacques Fuentes, Jiahua Chen, Jyotiska NK, Niket Patel Nishant Modak, Piyush Verma, Pravin Mishra, Sanat Gersappa and Søren Mathiasen have all agreed to go through all the submitted solutions of a challenge. They will comment and rank these solutions. More evaluators are welcome.
The author of the Go Challenge for the particular month will decide the best solution, with some help from the Go community. This author shall have the sole authority and discretion to select the award recipient(s).
The winning entries will be announced on the blog here. The winners will be sent their prizes by email / postal mail.
Any individual or companies interested in sponsoring the monthly event are welcome. Please contact Satish Talim.
- The Gopher character is based on the Go mascot designed by Renée French and copyrighted under the Creative Commons Attribution 3.0 license.
- The Go Challenge is being organized by JoshSoftware Pvt. Ltd. with help from the Go community.