Coding Workshop
The goal of this coding workshop is to enable and assess the hands-on skills of participants through development of a practical technical solution that solves a theoretical business problem.
Business Problem
Our company ACME Inc. is going through a massive organizational transformation to become a more data-driven organization. Information about teams structure and performance is currently scattered across multiple systems, making it difficult to get a comprehensive view of team dynamics and achievements.
We are struggling to answer simple questions like:
Who are the members of each team? Where are the teams located? What are the key achievements of each team on a monthly basis? How many teams have team leaders not co-located with team members? How many teams have team leaders as non-direct staff? How many teams have non-direct staff to employees ratio above 20%? How many teams are reporting to an organization leader? Technical Solution
As part of this transformation, we are looking to build a centralized team management tool that will allow us to track team members, team locations, monthly team achievements, as well as individual-level and team-level metadata. Initial focus is to provide a self-service capability without any integrations with other tools such as Employee Directory, Project Tracking, or Performance Management.
The technical solution involves developing a stand-alone web application using modern technologies. The application will have the following features:
User authentication and authorization Role-based access control CRUD operations for individuals, teams, achievements and metadata Search and filter functionality Responsive design for mobile and desktop usage Technologies Used
The following technologies will be used to build the application:
Frontend: HTML, CSS, React.js with React Responsive and Material UI Components Backend: Python Database: MongoDB / DocumentDB Infrastructure: Terraform Version Control: Git, GitHub Deployment Mode: Shell Scripts