TITLE: Principal Software Engineer I (Multiple Openings)
LOCATION: Charlotte, NC
JOB SUMMARY: Design and implement software systems to support Finance Business Operations and other business needs. Architect highly scalable systems to support variable loads in application processing, automated failover, vendor dependency failure, automatic rollback of issues, state management, and other enterprise features which must be in-place for high traffic, high impact systems. Work with technical SMEs, analysts, architects, and management to architect resilient applications that support business goals. Work with DevOps engineers to support DevOps goals for maintaining infrastructure and production environments. Train and support DevOps on the implementation of new pipeline technologies for Finance projects where needed. Consult with support teams, IT, and customers on system issues and solutions. Troubleshoot systemic issues and ensure continuous up-time of core systems. Create robust documentation for developed projects that convey technical information for new project members. Document networking components, application architecture, data flow diagrams, business context, business stakeholders, deployment playbooks, support playbooks, firewall rules, load balancer rules, DNS configurations, monitoring, requirements, error alerting requirements, application functionality, technical integrations with vendor systems, compliance documentation and all other required aspects of supporting the project implementation. Design standards and guidelines with management to improve development practices across the team. Document and lead implementation of key standards and policies to support IT security, performance, best practices, and cost-reduction.
EDUCATION/ REQUIREMENTS: Bachelor’s degree in Computer Science, Information Technology, or related field. 8 years of experience working with server applications utilizing tools including C#, .NET, ASP.NET, and Entity Framework ORM. 7 years of experience designing databases utilizing SQL. 7years of experience utilizing React.Js and TypeScript to develop web applications. 7 years of experience architecting and implementing cloud native React.js & .NET web applications and processing services utilizing cloud architecture best practices. 7 years of experience utilizing Unit Testing to test the methodology for programming. 3 years of experience utilizing NUNIT.NET Unit Testing framework. 3 years of experience utilizing AWS tools including Lambda, AWS Fargate, AWS Relational Database Service (RDS) and AWS API Gateway, and AWS Cloud Development Kit (CDK). 3 years of experience deploying .NET applications to Windows environments. 3 years of experience deploying containerized .NET web applications into container environments utilizing Kubernetes as an orchestration platform and Docker as the container platform. Hybrid arrangement is available.