Who We Are
Bold. Unapologetic. Hardworking. We are building something special. We
transform energy into high-value compute with superior efficiency at scale.
Today, that means powering and securing the Bitcoin Network. Tomorrow, that
could also include powering workloads in AI, HPC and other forms of high-value
compute.
Core Scientific is one of the largest bitcoin miners and bitcoin mining hosts
in North America. Our mission is to accelerate digital innovation by scaling
high-value compute rapidly, efficiently and responsibly. Our proprietary
software stack optimizes bitcoin mining, pushes firmware, and monitors all
aspects of our operations, ensuring we and our customers generate the highest
possible ROI on our hardware investment.
But what makes us different from others in our industry? We own and manage our
own infrastructure. That puts us in control of our operations and gives us an
advantage that translates into higher productivity and efficiency. It also
gives us the ability to deploy rapidly the innovations developed by our deep
tech team.
Come join us as we continue our journey and accelerate yours. We seek smart,
creative, collaborative minds, who work hard and fast.
Intrigued? Then apply and be a part of something truly special at Core
Scientific.
Title: Sr. Software Engineer
Reports To: Manager, Product
The Job:
Sr. Software Engineers develop, document, and test software to ensure the
optimization and performance of the hardware meets the needs of end-users and
achieves business goals. This role provides technical and optimization
insights to product and DevOps teams. This role requires engineering
distributed, large-scale systems, and high availability services.
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 we need 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.
Foster open, respectful, and professional communication directly within
the team as well as with co-workers/ teammates and leaders across the
organization.
Work remotely and independently with minimal guidance.
Other duties as assigned.
Qualifications:
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, build processes, testing, and
operations
Strong experience in Javascript/Typescript or another OOP language is
required.
Experience building or understanding of front-end applications with modern
frameworks (Vue, React, Angular).
Hands-on expertise in many disparate technologies, typically ranging from
front-end user interfaces through to back-end systems and all points in
between.
Demonstrated understanding of the operating system software, Golang,
NodeJS, Python, etc.
Design expertise with heavy involvement through all phases of the SDLC
using concepts that may include Service Oriented Architecture, caching,
load balancing, SQL/NOSQL databases, microservices, serverless
architecture and commercial cloud services.
Utilized object-oriented design concepts to program large multi-tier
systems. Knowledge of common and useful design patterns.
Experience in dealing with the following in production contexts:
scalability, reliability (incident response), and security.
Experience building, scaling and hardening event-driven microservice
architectures.
Experience with containerization architecture (Kubernetes, Docker).
Extensive UI design experience, with a keen eye for usability and user
experience is a plus.
Experience with big data or reporting platforms is a plus.
Responsive, flexible, and able to succeed within an open collaborative
peer environment.
Work independently with minimal guidance.
Effectively articulate technical challenges and solutions to non-technical
audiences.
Believer in fail-fast, learn, and iterate.
Work Environment
This job operates in a remote, professional environment. The employee
frequently is required to stand; walk; use hands to finger, handle or feel;
and reach with hands and arms.
Position Type
This is a full-time position.
Travel
This position will require occasional travel, >10%