Our function as a group is to take user queries from the front-end team “Bot Logic-Sora". We parse key words from the queries and retrieve relevant details from the database provided by “Data eXtraction Crew” to relay the information back to the user.
Due to time limitations, the JSON file in the S3 bucket contains a graph which was generated using only 1000 employees as of the end of this project. The goal was to have a full graph which was generated using all ~15,000 employees from the Americas, however the script to generate that was started too late, and as a result, the full graph was not generated by the time we had to turn in our laptops. It took one full week to generate roughly ~50% of the graph on the laptops provided to us. I suspect with the current script it would take at least 1.5 weeks but more likely 2 weeks to generate the graph with 15,000 employees. If you have access to faster computing, I recommend its use. DO NOT try to run this script on an AWS lambda. That would create a very expensive cost for something that could be done on a local machine and manually uploaded to S3 for almost free.
If you would like to optimize the script, I was researching efficient GRAN graph generation (Graph Recurrent Attention Networks) before I ran out of time to work with the project. It was not implemented, but it is a direction you may want to look in to make graph generation more scalable.
I would also like to emphasize that when the graph changes, so does the scaling of the returned values, so you may want to adjust the parameters (specifically steepness) of the logarithmic function in the analysis script (lambda_function.py). Just so that the majority of the returned output has a nice spread of 0.0 - 0.7 or 0.0 - 0.8. Without adjustment, the graph analysis function may not be very effective at supplementing the percent match formula in the query lambda.
Best of luck to you, Matthew
This is a function where you can get an employee list for a specific new project from DXC employees DB. The input can be employee ID, employee name, and skills that users might have for new projects. The output would be a candidate list for new projects.
- https://us-west-2.console.aws.amazon.com/apigateway/home?region=us-west-2#/apis/ykc8o2yaq9/resources
- Fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. API’s act as the “front door” for applications to access data from backend services. Uses RESTful API that enables real-time one-way communication applications.
- Single entry point for requests from the front-end for the appropriate back-end service to call.
II. Lambda- Event driven compute service that lets you run code for applications or backend services without servers.
- Hiring managers can search for an employee with their ID:
- Hiring managers can search for an employee with their name.
- Hiring managers can search by skills to get a list of employees having those skills.
a. This project is a part of a bigger project building a search engine for finding candidates for new projects.
Monitoring and Reporting https://github.dxc.com/NOLA-RIDC-Talent-Management/MoRe-Reports
Request JSON –
{ “rollOff”:30 } Response JSON –
[ { "employee_id":<employee_id>, "employee_name": <employee_name>, "ppmrolloff": "Unassigned" }, { "employee_id": <employee_id>, "employee_name": <employee_name>, "ppmrolloff": "Unassigned" },(it continues) ] Request JSON:
{ "skill": ["Java","Structured Query Language (SQL)"], "rollOff": "2022-07-29", "jobLevel": "4", "exactDate":true } OR
{ "skill": ["Java","Structured Query Language (SQL)"], "rollOff": "60", "jobLevel": "4", "exactDate":false } Response JSON – { "employees": [ { "employeeId": <employee_id>, "employeeName": <employee_name>, "serviceLine": "Applications", "workRegion": "Americas Region", "percentage": 1, "skills": [ "Java", "Structured Query Language (SQL)", "Back-End Development", "Computer Servers", "Databasing", "End-to-End Testing", "Integration Testing", "Oracle", "PHP (Programming Language)", "Regression Testing", "Software Development", "System Integration Testing (SIT)", "Systems Integration", "Test Planning", "Test Scripts" ], "level": 4, "rolloff": "30 Days", "firstAllocation": "100% Assigned", "levelTitle": "Professional" },(it continues) Request JSON
{ "requiredSkills": [ "Java", "Structured Query Language (SQL)", "Application Development", "This Is Not a Real Skill" ] } Response JSON –
{ "requestedSkillDict": { "Java": { "neighboringSkills": [ "Structured Query Language (SQL)", "Application Development" ], "neighboringPercent": [ 0.13870508821134434, 0.03396642390615443 ] }, "Structured Query Language (SQL)": { "neighboringSkills": [ "Java", "Application Development" ], "neighboringPercent": [ 0.13870508821134434, 0.024748921463083603 ] }, "Application Development": { "neighboringSkills": [ "Structured Query Language (SQL)", "Java" ], "neighboringPercent": [ 0.024748921463083603, 0.03396642390615443 ] }, "This Is Not a Real Skill": { "neighboringSkills": [], "neighboringPercent": [] } } } Request JSON –
{ "employeeID":<employee_id> } Response JSON –
{ "work_city": "Any City", "employee_name": <employee_name>, "ppm_roll_off": ">90 Days", "service_line": "BPS", "employeeExists": true, "skills": [ "Anti-Money Laundering Compliance", "Audit Responses", "Auditing", "Audits Compliance", "Complaints Analysis", "Complaints Investigation", "Deadline Management", "Financial Auditing", "Life Insurance", "People Leadership", "People Management" ], "employee_email": <employee_email>, "employee_type": "Regular", "capability": "Business Process Services: Life and Wealth", "first_allocation": "100% Assigned", "work_region": "Americas Region", "employee_id": <employee_id>, "employee_status": "Active", "job_level": "4", "work_country": "United States of America", "job_title": "Professional" } Request JSON –
{ "employeeName":"Smith" } Response JSON –
[ { "employee_id": <employee_id>, "employee_name": <employee_name> }, { "employee_id": <employee_id>, "employee_name": <employee_name> },(it continues) ] Request JSON –
{ "string":"I want a java developer with knowledge on python" } Response JSON –
{ "skills": [ "java", "python" ], "containsSkills": true } Daniel Ha https://www.linkedin.com/in/daniel-ha-591734104/
Deepmala Bhomi https://www.linkedin.com/in/deepmala-bhomi-635b5a186/
Hariny Ganapathy https://www.linkedin.com/in/hariny-8b5496157/
Lillian Moreau https://www.linkedin.com/in/lillian-moreau/
Matthew Mahan https://www.linkedin.com/in/matthewmahan2020/
Nikhil Krishna Reddy Gujjarlamudi https://www.linkedin.com/in/nikhilkrishnareddy/
Pradip Hamal https://www.linkedin.com/in/pradip-h-847163141/
Seonghoon Yi https://www.linkedin.com/in/seonghoon-yi-728587227/