We are seeking a Senior Software Engineer to participate in the agile development scrum team designing, building, testing, deploying, and supporting elegant, scalable and reliable software solutions for our customers. This is a fast-paced and exciting role that provides opportunities to work on a wide array of projects.This role reports to Team Lead and works closely with Engineering, Architecture, Product, Customer Success, SaaSIO and Strategic Partners to deliver solutions that simplify the daily work life of the front line of education. Responsibilities
- Demonstrate the ability to acquire new skills and techniques and apply them within assigned engineering tasks.
- Perform analysis and troubleshooting of highly advanced software constructs.
- Champion the adoption of coding standard practices and procedures by the team and technology organization.
- Lead the research, design, and development of complex software components.
- Construct unit tests over complex algorithms to ensure a high degree of quality in code.
- Collaborate with other engineers on the team and across the technology organization.
- Lead Design Sketch reviews within the team and across the technology organization.
- Author complex technical documentation and design sketches at a solution level.
- Provide High Level Estimates at a project level.
- Participate in functional requirements review meetings with Product Owner.
- Coach others on effective time management techniques.
- Challenge the team to think about code-quality in terms of long-term maintainability.
- Take active role in ensuring the team meets the sprint commitment.
- Effectively draw other, quieter, participants into a discussion to get all viewpoints.
- Lead and facilitate cross-functional meetings.
- Proactively convey details regarding project status and deliverables to key stakeholders "up the chain" in a timely manner
- Bachelor’s degree in computer science or related field.
- 8+ years of experience in C# Software Development using .NET frameworks (4.5+, Core).
- Experience with design and development of REST APIs and SPAs to deliver multi-tenant SaaS solutions.
- Strong data modeling, index tuning, and query skills using RDBMSs (preferably SQL Server and NoSQL databases (experience with MongoDB or DynamoDB a plus).
- Familiarity with an ORM such as Entity Framework.
- Experience with AWS cloud services like - EC2, IAM, S3, Lambda, SQS, CloudWatch, and CDK.
- Experience building distributed event-based systems and microservices.
- Experience with event bus or messaging platforms like Kafka or Kinesis.
- Experience in analyzing, debugging, and supporting production issues using debuggers and log analysis tools.
- Experience with Git and GitHub.
- Experience with Agile methodology, preferably Scrum Framework.
- Excellent oral and written communication skills.