lambda-coding-round-evaluator is a Serverless application to automate coding round submission and evaluation. It helps you get rid of emails and easily filter out bad candidates. Yay!
The goal of this project is to implement a code evaluator that organizations can use to automate coding round interviews. This is inspired by Coursera's Scala Progfun code evaluator. The project is built following Serverless architecture. The current implementation is based on AWS Lambda and Serverless framework.
Lambda functions are written in Java, Node.js, and Scala programming languages.
The project uses following AWS services:
lambda-coding-round-evaluator
is used to automate coding round submission and evaluation. It helps you get rid of emails. Yay!
In my current organization, one of the interview rounds is a coding round. Candidate is emailed an assignment that he/she has to submit in a week time. The assignment is then evaluated by an existing employee who then makes the decision on whether candidate passed or failed the round. I wanted to automate this process so that we can filter out bad candidates without any human intervention. A task that can be automated should be automated. This is how the flow will work:
gradle submitAssignment
. The task zips the source code of the candidate and submits it to the system.This project is composed four services:
candidate-service
: This service exposes REST API using API Gateway and Lambda that is used by the user interface to submit candidate details. The candidate details are stored in DynamoDBassignment-sender-service
: This service has one Lambda function that listens to DynamoDB stream and based on candidate experience and skills sends assignment to candidate via email.assignment-build-executor-service
: This service is invoked when candidate submits code using Gradle task. This builds the project and decides whether candidate passed or failed the test.ui-service
: This exposes UI using Cloudfront and S3.Apache.