Senior Backend Software Engineer
SecurityScorecard
Summary
Join SecurityScorecard's growing Technology team as a Senior Back-end Engineer. You will play a key role in building reliable, scalable, and maintainable applications, leading projects from inception to deployment. Collaborate with Product Managers and UX Designers to define requirements and implement solutions. Focus on simplicity while contributing technical insights to enhance system performance and user experience. This role requires extensive experience in back-end development, using technologies like Django and Flask, and working in agile environments. SecurityScorecard offers a competitive salary, stock options, health benefits, unlimited PTO, parental leave, and tuition reimbursements.
Requirements
- 5+ years of experience working in agile environments (ideally Scrum), collaborating with cross-functional teams (engineering, design, product)
- Strong proficiency in server-side development with hands-on experience in building scalable and reliable back-end systems
- Advanced experience with relational databases (PostgreSQL) and distributed systems (CockroachDB)
- Familiarity with SQS and Kafka for building real-time data pipelines and event-driven architectures
- Expertise in using Docker for containerization, Jenkins for CI/CD, and Terraform for infrastructure as code
- Experience with AWS services (EC2, S3, Lambda, RDS, etc.) for cloud-based application deployment and management
- Experience designing, building, and maintaining RESTful APIs and integrating with external services
- Strong understanding of building scalable and high-performance back-end systems, optimizing for low-latency and high-throughput
- Ability to write and maintain unit and integration tests based on acceptance criteria, ensuring code quality and reliability
- Proficiency with version control tools, particularly Git, for collaborative development and code management
- Strong attention to documentation and maintaining standards across projects
- Ability to present and defend technical decisions with confidence
- Skilled at estimating project complexity based on early documentation and discussions
- Excellent written and verbal communication skills, with the ability to articulate technical challenges and solutions clearly
Responsibilities
- Participate in all stages of the software development life cycle, from design and development to deployment and maintenance
- Follow clean code principles, using best practices to write secure, testable, and well-documented software
- Work closely with a global team, including engineers, product managers, and UX designers, to build a stable, high-performance platform
- Implement comprehensive testing and performance tuning to ensure system stability and uptime
- Translate requirements, estimate effort, and address or escalate blockers as needed
- Own end-to-end projects, understanding and contributing to all aspects (infrastructure, application tiers, and data tiers)
- Write clean, maintainable code that adheres to best practices in readability, design patterns, reusability, and testing
- Continuously monitor performance metrics and recommend improvements or refactors
- Lead code reviews to ensure best practices, maintainability, and continuous improvement of the codebase
Preferred Qualifications
Proficient in Django and Flask; experience with React, NodeJS and Typescript is a plus
Benefits
- Competitive salary
- Stock options
- Health benefits
- Unlimited PTO
- Parental leave
- Tuition reimbursements