All Projects → xebia-os → Lambda Coding Round Evaluator

xebia-os / Lambda Coding Round Evaluator

Licence: apache-2.0
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!

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Lambda Coding Round Evaluator

Webiny Js
Enterprise open-source serverless CMS. Includes a headless CMS, page builder, form builder and file manager. Easy to customize and expand. Deploys to AWS.
Stars: ✭ 4,869 (+11223.26%)
Mutual labels:  serverless, lambda, serverless-framework, serverless-architectures
Serverless Chrome
🌐 Run headless Chrome/Chromium on AWS Lambda
Stars: ✭ 2,625 (+6004.65%)
Mutual labels:  serverless, lambda, serverless-framework
Chalice
Python Serverless Microframework for AWS
Stars: ✭ 8,513 (+19697.67%)
Mutual labels:  serverless, lambda, serverless-framework
Aws Auto Cleanup
Open-source application to programmatically clean your AWS resources based on a whitelist and time to live (TTL) settings
Stars: ✭ 276 (+541.86%)
Mutual labels:  serverless, lambda, serverless-framework
Awesome Serverless
DEPRECATED: Curated list of resources related to serverless computing and serverless architectures.
Stars: ✭ 2,049 (+4665.12%)
Mutual labels:  serverless, serverless-framework, serverless-architectures
Components
The Serverless Framework's new infrastructure provisioning technology — Build, compose, & deploy serverless apps in seconds...
Stars: ✭ 2,259 (+5153.49%)
Mutual labels:  serverless, lambda, serverless-framework
Zappa
Serverless Python
Stars: ✭ 224 (+420.93%)
Mutual labels:  serverless, lambda, serverless-framework
Moonmail
Email marketing platform for bulk emailing via Amazon SES (Google Cloud Platform and Azure coming soon)
Stars: ✭ 1,766 (+4006.98%)
Mutual labels:  serverless, lambda, serverless-architectures
Serverless Express
Run Node.js web applications and APIs using existing application frameworks on AWS #serverless technologies such as Lambda, API Gateway, Lambda@Edge, and ALB.
Stars: ✭ 4,265 (+9818.6%)
Mutual labels:  serverless, lambda, serverless-framework
Guide
Serverless Guide - An open-source definitive guide to serverless architectures.
Stars: ✭ 421 (+879.07%)
Mutual labels:  serverless, serverless-framework, serverless-architectures
Zappa
Serverless Python
Stars: ✭ 11,859 (+27479.07%)
Mutual labels:  serverless, lambda, serverless-framework
Serverless Step Functions
AWS Step Functions plugin for Serverless Framework ⚡️
Stars: ✭ 758 (+1662.79%)
Mutual labels:  serverless, serverless-framework, serverless-architectures
Serverless Next.js
⚡ Deploy your Next.js apps on AWS Lambda@Edge via Serverless Components
Stars: ✭ 2,977 (+6823.26%)
Mutual labels:  serverless, lambda, serverless-framework
Aws Auto Remediate
Open source application to instantly remediate common security issues through the use of AWS Config
Stars: ✭ 191 (+344.19%)
Mutual labels:  serverless, lambda, serverless-framework
Serverless Sam
Serverless framework plugin to export AWS SAM templates for a service
Stars: ✭ 143 (+232.56%)
Mutual labels:  serverless, lambda, serverless-framework
Jazz
Platform to develop and manage serverless applications at an enterprise scale!
Stars: ✭ 254 (+490.7%)
Mutual labels:  serverless, serverless-framework, serverless-architectures
Json Serverless
Transform a JSON file into a serverless REST API in AWS cloud
Stars: ✭ 108 (+151.16%)
Mutual labels:  serverless, lambda, serverless-framework
Serverless Architectures Aws
The code repository for the Serverless Architectures on AWS book
Stars: ✭ 120 (+179.07%)
Mutual labels:  serverless, serverless-framework, serverless-architectures
Serverless Iam Roles Per Function
Serverless Plugin for easily defining IAM roles per function via the use of iamRoleStatements at the function level.
Stars: ✭ 311 (+623.26%)
Mutual labels:  serverless, lambda, serverless-framework
Puppeteer Lambda Starter Kit
Starter Kit for running Headless-Chrome by Puppeteer on AWS Lambda.
Stars: ✭ 563 (+1209.3%)
Mutual labels:  serverless, lambda, serverless-framework

lambda-coding-round-evaluator

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:

  1. AWS Lambda
  2. AWS DynamoDB
  3. AWS Cloudformation
  4. AWS SES
  5. AWS S3

What is it?

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:

  1. Recruitment team submit candidate details to the system.
  2. System sends an email with assignment zip to the candidate based on candidate skills and experience. The zip contains the problem as well as a Gradle or Maven project.
  3. Candidate writes the code and submits the assignment using Maven or Gradle task like gradle submitAssignment. The task zips the source code of the candidate and submits it to the system.
  4. On receiving assignment, systems builds the project and run all test cases.
    1. If the build fails, then candidate status is updated to failed in the system and recruitment team is notified.
    2. If build succeeds, then we find the test code coverage and if it is less than a threshold then we mark candidate status to failed and recruitment team is notified.
  5. If build succeeds and code coverage is above a threshold, then we run static analysis on the code to calculate the code quality score. If code quality score is below a threshold then candidate is marked failed and notification is sent to the recruitment team. Else, candidate passes the round and a human interviewer will now evaluate candidate assignment.

Services

This project is composed four services:

  1. 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 DynamoDB
  2. assignment-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.
  3. 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.
  4. ui-service: This exposes UI using Cloudfront and S3.

License

Apache.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].