Need Statement
Aegis seeks a skilled and energetic Senior Software Engineer to support the operation and evolution of custom software and database applications that are essential to Aegis Mobile’s counter-fraud and market intelligence services, which are core to our growing business.
Job Summary
The Senior Software Engineer will lead full life-cycle development and maintenance of new and existing applications. This role requires a highly experienced individual contributor who excels in an agile team environment and drives technical direction. The engineer will be responsible for the support, development, and implementation of complex, data-driven web applications. They will collaborate closely with Product Managers, Operations, and customers to define new product features and provide ongoing support for existing web and database applications.
Responsibilities
- Analyze and optimize current applications, including performance diagnostics and troubleshooting of issues, and design robust solutions for identified problems.
- Conduct comprehensive system analysis and development to ensure systems remain current with evolving technologies, providing guidance to less experienced staff.
- Respond promptly and professionally to bug reports and lead efforts to resolve them.
- Mentor testers and support personnel to identify and correct system problems.
- Demonstrate exceptional interpersonal and communication skills, effectively interacting with a diverse group of clients and stakeholders.
- Lead the development of new applications, ensuring thorough documentation, testing, integration, and debugging to deliver a high-quality product with required functionality.
- Architect and develop systems with a focus on performance, scalability, and maintainability.
- Recommend and implement improvements to development tools and database management practices.
- Test new applications at multiple levels to ensure logic correctness and accuracy of results.
Expectations
- Solve complex problems utilizing advanced Design Patterns.
- Write intricate code when necessary, demonstrating mastery of the programming languages and frameworks.
- Deeply understand databases, application services, and the software development lifecycle.
- Orchestrate and implement design patterns to address complex challenges.
- Derive common user experience requirements from nonstandard requirement communications.
- Provide technical leadership through mentorship, coaching, and support for team members.
- Work effectively in a highly collaborative team environment, promoting knowledge sharing.
- Stay at the forefront of software engineering practices and technologies, advocating for continuous improvement.
- Protect the company by maintaining confidentiality and security of information.
- Drive a positive user experience and be accountable for outcomes impacting the company and the team.
Knowledge and Skill Requirements
- Proficiency in Visual Studio and advanced debugging techniques.
- Strong experience with C# and the .NET ecosystem.
- Expertise in ASP.NET Web Forms, ASP.NET Core, MVC, Web API, and microservices architecture.
- In-depth knowledge of SQL Server, Azure SQL DB, and performance tuning.
- Proficiency in HTML/CSS and strong JavaScript skills, with familiarity in modern JavaScript frameworks.
- Extensive experience with Web Services and RESTful APIs.
- Proficiency in Source Control Systems (Git) and CI/CD processes.
- Excellent written and verbal communication skills, capable of conveying complex technical concepts to non-technical stakeholders.
- Strong technology acumen and collaboration skills.
- Advanced troubleshooting and problem-solving skills.
Additional Desirable Knowledge and Skills
- Experience with LINQ and Entity Framework.
- Knowledge of Angular, React, or similar frameworks.
- Experience with MVC5 and ASP.NET Core.
- Proficiency in Java and Python.
- Knowledge of TypeScript and modern front-end build tools.
- Experience with DevOps automation and CI/CD tools.
- Familiarity with cloud services (Microsoft Azure, Amazon AWS, Google Cloud).
- Experience with social media aggregation and mining technologies.
Qualifications
- Ten to fifteen years of direct or relevant professional experience, may include substantial post-graduate academic experience.
- Baccalaureate or Master’s degree in a relevant discipline (Computer Science or equivalent).
- Self-motivated, creative, and efficient in proposing solutions to complex, time-critical problems.
- Proven ability to work effectively in a highly collaborative team environment.
- Willingness to attend meetings in-person at one of Aegis’ office locations.
Why You’ll Want to Work with Aegis:
Aegis is an innovative, diverse, and dynamic company with tightly woven teams constantly exploring new ways to produce advantages for our clients. With offices in Maryland, Virginia, Alabama, and Sydney Australia, we provide opportunities to work in a variety of settings and use the collaborative brainpower around you to ask and answer interesting questions. We have a broad range of backgrounds and interests: experts in fields such as finance, real estate, politics, and naval engineering, come together to make an intriguing and educational work environment. We offer excellent benefits and competitive salaries.