Manager, Site Reliability Engineering
Kindful was founded with a simple idea in mind: it should be easier for nonprofits to manage their donors. Kindful offers a beautifully designed, intuitive, fully integrated online fundraising CRM.
Kindful is growing! Join our team of talented individuals passionately building relationships with our partners, customers, and within our team to make a real difference. The nonprofit market deserves a beautiful, fully-integrated online fundraising CRM.
Kindful is located in Nashville, Tennessee.
Ultimately, the reason we are here at Kindful is to provide software solutions to our nonprofit customers so that they can be successful in their missions.
In this role, you are responsible for the reliability of our software systems. You’ll manage a small team of site reliability engineers and work collaboratively with product development engineers. You’ll create and maintain tools for deployment, monitoring and operations, and you’ll troubleshoot and resolve issues in our development, test, and production environments.
- Operations / System Administration
- Daily monitoring of systems, identifying issues related to the performance and scalability of software processes
- Troubleshooting issues and either resolving them or creating tasks for other team members to debug / resolve
- Upgrading, patching, and failing over database servers
- Maintaining and spinning up application servers
- Monitoring SQL queries for unacceptable slowness, testing index changes
- Monitor for and identify potential security vulnerabilities
- Creating, documenting, and testing failover plans and emergency readiness scenarios
- Engineering & Automation
- Automate repetitive tasks related to reliability, server health and performance, first and third party integrations, and the production environment
- Tuning applications for high performance
- Provisioning new assets
From time to time your role may require you to be available and/or to perform work outside of “typical” business hours.
Knowledge & Documentation
- Having a full, working understanding of Kindful’s architecture so that you will be able to address unexpected issues with the production environment relatively quickly
- Creating & maintaining documentation relating to, maintaining & supporting Kindful production and testing environments, especially as it relates to the architectural components, 3rd party, and other dependencies, and accessing various components/services
- Cross-training other team members on the processes and tools that you have created or updated
- Having knowledge of, and advocating for, and implementing best practices, specifically with regards to security
- Deploying Software
- Review & approve changes to our production and test environments (whether code changes or configuration changes).
- Identify and escalate/communicate areas of risk before deployments
- Improve, document and maintain the process for deploying software
- Create and maintain tools deploying software
- Perform software deployments in collaboration with other team members
- Planning, Tracking & Reporting
- Maintain a log of system outages, reasons, and resolutions
- Create, adhere to, and report upon an SLO
- Weekly resource planning, tracking, and reporting
- Demand forecasting and capacity planning
- You’ll be regularly communicating the current status of projects and various aspects of our production system to management and the software development team.
What a Typical Week looks like
Every day brings something new at Kindful. The work environment in the Kindful offices is dynamic, collaborative, communicative, challenging, yet supportive. We leverage each other’s diverse perspectives and experiences for success. We employ an agile-flavored software development process. In addition to in-person conversations, you’ll use Jira, GitHub, and Slack to communicate with team members. You’ll communicate the status of systems and projects frequently – no less than once a day.
We typically perform between 1 and 3 deployments in a week, starting around 7:30 or 8 AM. You would spend several hours preparing for and deploying software in a given week.
Initially, more time will be spent monitoring and addressing production issues as they arise. However, this will represent a smaller fraction of your week as you automate repetitive tasks over time.
We typically perform at least 1 maintenance release per week. We also typically plan our new development roughly in quarter-long cycles, running 1-2 larger new development efforts nearly continuously. Accordingly, we release new features or functionality about every 2-4 weeks.
Skills and Experience
We are building complex software, which will be used in different environments, by many users with different goals, with different data. In order to build valuable, quality software, a thoughtful and methodical approach is best. The following attributes and skills will serve a Devops professional at Kindful well:
- Excellent diagnostic/troubleshooting and problem-solving skills
- The ability to think critically, creatively, and logically
- Curiosity, patience, determination, and focus
- The ability to collaborate well with other engineers, developers, quality assurance and management, and to communicate diplomatically & effectively
- An ability to perform at a high level under intense pressure
- Effective time management, organization skills, and the ability to prioritize and balance multiple competing projects and tasks
- Ability to create and track to a project plan
- An inclination to drive your own success; you are a self-starter who takes pride in your work and is motivated to “always be learning”.
- A love for Linux and scripting languages, ideally Ruby
- An understanding of issues related to data privacy and security
- A high degree of self-awareness. Low ego.
- A desire to coach and mentor others.
We are looking for someone with the knowledge and confidence that comes from experiencing many different situations designing, implementing, and improving complex systems from core application logic to supporting infrastructure resources. The number of years is not as important to us as knowing that you’ve performed the described responsibilities successfully in the past. However, having at least 10 years of experience is a good guide.
Other preferred experience
Experience with our tech and tools: Redis, Sidekiq, Google Cloud Platform, Ruby, Elixir, PostgreSQL, LMDB, NSQ, Docker, New Relic, Honeybadger, git, and Jira. Barring GCP experience, you should have experience with cloud computing.
A working knowledge of using automated tests and continuous integration in a software development environment
Due to the nature of Kindful, being a growth-stage startup, our teams and processes are constantly evolving. To be successful at Kindful, every team member should take pride in their work, be self-driven, and comfortable with a changing environment.
We are looking for someone who wants to be an integral part of the team and enhance our unique company culture!
This is an on-site position in Nashville, Tennessee. Applicant must be able to work in the United States without sponsorship.
For more info or questions, please email email@example.com.
Kindful is an Equal Opportunity Employer. Nothing in this job description should be construed as an offer or guarantee of employment.Apply Now