Sr. Software Engineer
Core Scientific
·
Posted:
August 24, 2023
·
Remote
About the position
Senior Software Engineers at Core Scientific are responsible for developing, documenting, and testing software to optimize and enhance hardware performance. They provide technical insights to product and DevOps teams and are experienced in engineering distributed, large-scale systems and high availability services. The role requires expertise in Lean Software Development concepts, Test-Driven Development, and Continuous Deployment. Additionally, Senior Software Engineers serve as mentors to other team members, contribute to code reviews and agile methodologies, and effectively communicate technical challenges and solutions. A Bachelor's or Master's degree in Computer Science and at least 8 years of commercial software development experience are required qualifications for this role.
Responsibilities
- Use Lean Software Development concepts such as Agile and Scrum to deliver products at "start-up speed."
- Use Test-Driven Development and Continuous Deployment to maintain a high-quality standard.
- Serve as a mentor and coach to other engineers on the team, helping them develop their professional skills and grow their careers.
- Experiment with whatever technology is needed to get the job done.
- Develop, test, maintain, and improve software by following high standards of quality, good practices, and software design patterns.
- Analyze, design, and make recommendations about software solutions based on a solid understanding of computer science theory and best practices.
- Add value to peers and teammates with constructive and critical code reviews, and participate in grooming, sprint planning, research, technical debates, and other agile methodologies and practices.
- Design and implement supporting toolsets and utilities like monitoring, benchmarking, and test harnesses.
- Effectively articulate technical challenges and solutions.
- Work remotely and independently with minimal guidance.
- Other duties as assigned.
Requirements
- Bachelor's or Master's degree in Computer Science or related field
- 8+ years of commercial software development experience
- Knowledge of commercial software engineering practices and best practices for the full software development life cycle, including coding standards, code reviews, source control management
- Experience with Lean Software Development concepts such as Agile and Scrum
- Experience with Test-Driven Development and Continuous Deployment
- Ability to serve as a mentor and coach to other engineers
- Ability to experiment with various technologies
- Strong analytical and problem-solving skills
- Ability to design and implement software solutions based on computer science theory and best practices
- Ability to provide constructive and critical code reviews
- Experience in designing and implementing supporting toolsets and utilities
- Strong communication skills and ability to articulate technical challenges and solutions
- Ability to work remotely and independently with minimal guidance
Benefits
- Work remotely and independently with minimal guidance
- Competitive salary and benefits package
- Opportunity to work with modern frameworks (Vue, React, Angular)
- Hands-on expertise in various technologies
- Design expertise with involvement in all phases of the SDLC
- Experience with scalability, reliability, and security in production contexts
- Experience with event-driven microservice architectures
- Experience with containerization architecture (Kubernetes, Docker)
- Extensive UI design experience with a focus on usability and user experience
- Opportunity to work with big data or reporting platforms
- Collaborative and peer-oriented work environment
- Belief in fail-fast, learn, and iterate approach