Skip to content

almosnow/coding-challenge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web1on1 Coding Challenge

Hello

Thank you for taking the time to do our technical test. This is a coding challenge we designed to assess your qualifications as a potential developer at Web1on1. We'ld like to get a sense of how you write code and solve problems.

It consists of two parts:

  • A coding test
  • A few technical questions

Prerequisites

Our developers have their own test/demo organization on the production system. To create one of your own, run through our onboarding bot, and make sure to prefix the organization name with DEVELOPER:

Go ahead, create a trial account, test out the widget and have a conversation, and add some resources (forms, articles, bots..).

Coding Challenge: Create a Video Appointment bot

This challenge involves working with the ChipChat SDK to create a Bot that lets consumers schedule a video meeting.

Developer Docs: https://developers.web1on1.chat/

The full "Video Appointment Bot" project goal is to create a NodeJS application that accepts a consumer conversation and fills in a form. The bot application should set a location by querying our API.

Conversation flow: schedule-appointment-bot.png

Proof of Concept

It's not possible to fully develop all aspects the bot in the time given. The challenge is to get as far as possible, learn as much as possible, in as little time possible. Play to your strengths when choosing which part to focus on, show off where you can - an excellent Google CF deployment, a beautiful documentation paragraph, a tight repo, a comprehensive project spec, using some cool library / webservice, beautiful code... we appreciate lots of things.

Instructions

  1. Fork this repo on GitHub
  2. Create a bot program that can interactively talk to a consumer.
  3. Commit early and often, with good messages.
  4. Push your code back to GitHub and send us a pull request.

To get started with this challenge, fork this repository. We provided you with a basic structure to help you get off the ground. You can of course delete everything and start from scratch, if that's what you want.

Run the project

npm install && npm start

Task requirements

Feel free to spend as much or as little time on the exercise as you like. However, we understand people have busy lives and would guide you to spend 3-5 hours, but no more than 8 hours, on a submission.

We also take into consideration the answers to the technical questions and what you would like to have added if you had more time. You should not look at your code submission as the complete solution, it's much quicker to explain what you would like to have done than to code it.

In any case:

  • Your code should run
  • Feel free to use whatever frameworks / libraries / webservices you like
  • Go nuts on the things you're good at

How we work together on this

  1. Play around in our app, see if you can get a bot hooked up and talking.
  2. In a videocall, walk us through your approach and ask questions. We'll agree on a maximum budget for this Proof of Concept assignment.
  3. Create a task breakdown with guesstimated hours.
  4. Write your PoC. We'll be available for questions and guidance along the way, if needed.
  5. Present your outcome (as a video, code, working bot, napkin scribbles) in a videocall for feedback.
  6. Send us an invoice for hours worked.

If that goes well, we'd love to see how we can come to a full-time working arrangement, with you as the newest member of the core tech team.

Getting paid

We want to pay you for this assignment, so please track your hours so we can reimburse you for your work. We'd be happy to talk about compensation now if you feel we need to do that first.

We reimburse people for their time - not only because we think it's fair, but it will also make sure the person takes the job seriously and finishes it in time.

For this assignment, we'ld like to employ you in a freelance capacity, for this project, between 2 and 8 hours, to fill in the blanks as you see fit, at your current hourly rate.


Post-challenge questions

When submitting your code, please answer the following questions by email:

  1. What frictions did you experience when using the onboarding bot, our API documentation and SDK?
  2. How long did you spend on the coding test? What would you add to your solution if you had more time? If you didn't spend much time on the coding test then use this as an opportunity to explain what you would add.
  3. What was the most useful or surprising feature that you discovered in our product offering?
  4. How would you track down a performance issue of your bot in production? Have you ever had to do this?
  5. How would you improve the Web1on1 APIs that you just used?

Thanks for your time, we look forward to hearing from you!

The Web1on1 Tech team

About

Web1on1 developers recruitment assignment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%