About the role:
The Senior Software Developer Senior Designs, builds, tests, and – most
importantly – ships high-value software that solves real problems. Strives for
security, performance, simplicity, usability, and maintainability. Mentors and
guides less experienced software engineers.
Responsibilities:
1. Team Contribution
-
Works within established agile methods, promoting an atmosphere of
continuous improvement.
-
Continuously learns new technologies and patterns and practices.
-
Documents knowledge for the benefit of the team.
-
Reports to the team on obstacles and roadblocks.
-
Participates in, and occasionally leads, sprint planning, standups,
retrospectives, and other team meetings.
-
Promote patterns and best practices on the team.
-
Mentors and guides the less experienced software engineers.
2. Planning and Design
-
Works with the product team and stakeholders to refine and document
requirements.
-
Estimates effort for planning purposes.
-
Designs and documents enterprise-level software architecture, consulting
with Enterprise Architecture when appropriate.
3. Development
-
Writes code to develop software that meets requirements and specifications.
-
Follows established software development life cycle (SLDC).
-
Writes code with readability and future maintenance in mind.
-
Follows established source control standards and best practices.
-
Adheres to established secure coding practices.
-
Reviews code for other developers.
-
Leads team-based development efforts.
4. Quality Assurance
-
Validates QA findings and fixes defects.
-
Develops integration and testing points in the software that allow for QA
testing.
-
Assists QA in running performance and load tests.
5. Release
-
Assists with release planning and releases.
6. Support
-
Assists the support team as needed, including root cause analysis.
-
Writes maintenance and metric statistics scripts and entry points for
measuring and monitoring.
Requirements:
Solid Understanding of The Following:
-
Microservices Architecture:
-
Microservices design principles (bounded contexts, loose coupling)
-
API-first design and contract management
-
Event-driven design principles
-
Asynchronous messaging patterns
-
Eventual consistency concepts
-
Idempotency and message replay handling
-
ASP.NET
Core Web API development
-
Web Apps
-
Azure Kubernetes Service (AKS)
-
Azure Blob Storage usage and lifecycle management
-
API Gateway / Azure API Management concepts
-
Entra (Authentication)
-
Azure Service Bus
-
Azure Functions
-
Caching
-
NoSQL DatabasesProcesses & Standards: Git, GitFlow, OO Programming,
Kanban, Secure Coding, & Agile Methodologies