Getting creative with Coding Challenges
Being a developer is all about problem-solving and learning along the way. Last month, in celebration of this, our Community Products team launched a new experiment to test the concept of coding challenges for technologists to showcase their skills on Stack Overflow.
Giving the community a place to connect with other developers and share their knowledge and talent is at the center of much of what we do. But sometimes users want to learn, share, and collaborate in ways other than asking and answering questions on the platform, and even the most seasoned contributor can appreciate a little variety. So an idea was born: what if we came up with a fun and creative space that anyone in the community could participate in?
Thus, the Coding Challenges experiment was born.
Through Coding Challenges, we’re testing different methods of learning through new tools and community spaces. Inclusivity was at the forefront of our minds, and we wanted to create something that technologists with any level of experience could participate in.
For this experiment, the team wanted to keep access to the challenges close to home and make participation as easy and seamless as possible by keeping it on the main Stack Overflow site. We also knew that we didn’t want these challenges to interfere with everyday Q&A. Challenges would have to be a completely optional, opt-in-only feature.
The team came up with the idea to temporarily utilize Discussions to host the experiment. This meant a bit less dev work than creating something new from scratch, and it had the bonus potential for an overall better UX while mitigating spam concerns.
Members of our Engineering team worked with our Community Managers to come up with prompts that were both fun and engaging. Users would submit entries during a specific time period to be voted on, and the “winners” (those awarded) would be decided by most upvotes, plus staff picked awards for subjective categories, based on things like creativity or uniqueness. We soft-launched our ideas on Meta Stack Overflow to get community feedback, and through this we were able to refine our process and our challenge prompts.
These challenges, written by our team to get the inventive and technical cogs in your brain turning, were designed to allow a wide range of solutions that emphasize creativity and craftiness. On May 27, we launched the first coding challenge experiment to the community.
Challenge one: Create a text-to-baby-talk translator. Technologists were asked to implement a program that translates any sample body of text up to 100 words into baby talk.
Challenge two: Encode secret messages into classic board games. Users taking on this challenge would devise a mechanism for encoding secret messages of at least eight characters in the board state of a game of their choice.
Challenge three: Devise a mechanism to create snowflake art using ASCII characters given a random seed. Users needed to create a program that took a seed of their choice and created a unique snowflake.
We were excited by the responses to the first three challenges, with over 350 votes and 180 entries total from technologists of all skill levels. Equally exciting, 24-26% of entries in the first two challenges were from 1 rep users, which are often newer users, showing us that Coding Challenges can serve as an entry point for users who don’t participate in the traditional question and answer experience and have a space to interact with other community members.
To us, this shows that this experiment is accessible to a wide variety of skill levels, allowing anyone to participate regardless of their coding experience. The high entry count also showed that lots of solutions are possible, and that creativity could flow with the right prompt. Entrants were less focused on being “right” and more on interpreting the challenge in a meaningful way, which created interesting discussions around their solutions.
Through feedback from participants, we discovered that learning was a key motivator for users to participate, followed by the fun of the challenges. Entrants also joined the challenges in order to engage with the wider Stack Overflow community.
Overall, Coding Challenges has proven to be a welcoming playground for users of all experience levels to learn together and showcase their skills.
We had almost 50 entries for the first coding challenge. While we were only able to give out awards to a few users, the team really enjoyed reading through each submission.
The winners for the first coding challenge—create a text-to-baby-talk translator—were…
Most upvotes: Anon Coward, whose entry was both programmatically sound and artistically cohesive.
Bells and whistles: Ali Sheikhpour, whose solution allowed for fully customizable baby talk, so you could get that widdle voice just wight.
New contributor: Kingsley_3z3nw4k4, whose first contribution stood out for being linguistically sound because a baby really would pronounce it “Swi Wanka.”
Most sophisticated: return true, whose baby is apparently from a Shakespearean play.
Technically correct: General Grievance, whose program made us literally go “googoo.”
For more, check out the users awarded for their entries in the other two individual challenges here.
We’re still exploring how to further embed Coding Challenges with the community. We’re doing technical discovery on how it could be its own feature that lives on the site, not just as a takeover of Discussions.
We also want to make these challenges more community-led by bringing users into the process of. How can we get you involved in creating the prompts and selecting winners?
Ultimately, we’ll take all we’ve learned from this early experiment in the Discussions space along with user research, surveys, and Meta Stack Overflow feedback to figure out where we want to take this concept next.
If you’d like to check out the Coding Challenges, you can see the first three challenges and join in on the fourth challenge.