Responsibilities
- Works with an agile development team that designs, develops and maintains scalable services.
- Responsible for writing technical design specifications.
- Recommend and develop an architectural and detailed design that is used by other members of the development teams.
- Coach the team on software best practices (design, coding, troubleshooting, work breakdown, work estimation, refactor strategies, automated testing, etc.)
- Work closely with the other teams to optimize system architecture and project efficiency.
- Partner with our Product Owner to plan work and prioritization.
- Maintain high standards of software quality within the team by establishing good practices and habits.
- Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans.
- Collaborate and add value through participation in peer code reviews, providing comments and suggestions.
- Analyze and resolve technical and application problems.
- Regular practice of CI/CD.
- Support, maintain and document software functionality.
- Research and evaluate a variety of software products; create PoCs as necessary to demonstrate new ideas and technologies.
Requirements
- Requires a minimum of 5 years of experience with software development, design patterns, software architecture
- Experience with Distributed systems, MicroServices
- Experience with REST API, event-driven architecture applications, caching, scaling, security
- Experience with Relational and non-relational DBs
- 5+ Years of experience working with C#, .NET Core
- Experience using Kubernetes, Helm, and Docker
- Experience building dashboards and alerts
- Experience using Prometheus, Grafana, Elasticsearch, Kibana
- Experience in the CI/CD
- Experience as a mentor, tech lead or leading an engineering team
- Experience working with RabbitMQ, Redis, Kafka
- Bachelor’s Degree required.
- Able to identify, troubleshoot and resolve problems quickly using sound judgment, poise and diplomacy.
- Ability to use judgment and reasoning skills, and determine when to escalate issues, as required, in a timely manner.
Nice to Have
- Experience with e-commerce payment systems preferred
- An emphasis in Computer Science is preferred
- DDD and event driven architectures a plus
Team
Structure: agile development team
Additional Information
- While performing the duties of this job, the team member is regularly required to talk and hear.
- The team member is frequently required to sit; use hands and fingers, bend, stoop and reach with hands and arms.
- May require walking primarily on a level surface for periodic periods throughout the day.
- Reaching above shoulder heights, below the waist or lifting as required to file documents or store materials throughout the work day.
- Proper lifting techniques required.
- May include lifting up to 25 pounds.
- The noise in the work environment is usually moderate.
- Hectic, fast-paced with multi-level distractions
- Professional, yet casual work environment
- Office / Warehouse environment
- Ability to work extended hours as required