Back-End Engineering Manager
VividCortex is a groundbreaking database monitoring platform that gives developers and DBAs deep visibility into the database. Our solution is delivered as software-as-a-service and helps our customers see and analyze the work their databases are doing in detail. It addresses critical issues in measuring and managing today’s large, distributed, diverse storage tiers composed of multiple different clustered products, all working together. VividCortex is headquartered in Charlottesville, Virginia with an office in Arlington, Virginia and remote team members in the US and abroad. We have a fast-growing customer base of well-known companies, and a tremendous reputation in our market for delivering a high-quality, innovative solution for database performance problems that are common in thousands of enterprises.
About the Role
Mentor and grow the Back-End Engineering team and drive the design and implementation of high-quality features. Ensure quality and performance of VividCortex’s product.
- Use GitHub to track bugs and new features, as well as leverage all it’s features for an effective communication with the rest of the team.
- Work with the Senior Director, Engineering and Security to help strategize on future development needs and directions, define projects, set priorities, and agree on specifics of how to implement projects.
- Ensure the best use of the working time by investing it in what matters the most at any moment, and respecting the priorities as previously agreed with the manager or the rest of the team.
- Make the best effort to meet any delivery dates.
- Ensure that new development is compatible with the current systems infrastructure.
- Use CircleCI, and testing frameworks to create automated systems for building and testing the projects.
- Supervise the writing of tests to ensure the correct operation of the implemented features and to avoid regressions.
- Use pull requests as a mean to coach others on how to improve code quality or detect possible problems in other’s implementation as well as to get feedback from the team prior to shipping.
- Understand the full stack to find areas to improve our technology.
- Notice and highlight changes that may improve speed to market, developer efficiency, cost, or quality of service.
- Ensure the coding standards are met, or help define, document or update these standards if they are not available or are outdated.
- Participate in customer service, support, and ops on-call duties as appropriate.
- Meet 1:1 with each of your direct reports at least weekly to maintain open communication, review their priorities and progress, and provide and receive timely feedback.
- Identify and provide opportunities for your reports to continue learning and work on things they find challenging and rewarding.
- Mentor and help engineers set goals for their professional development, skills, and capabilities in their field of expertise. Help engineers create individual plans towards their goals, and look for growth opportunities for engineers. Explain to them how their work contributes to their careers and goals.
- Ensure alignment within your team on strategy, goals, priorities, objectives and key deliverables. Identify and correct or prevent situations where efforts go where they don’t belong.
- Provide visibility to team and individual accomplishments both inside the team and across peer organizations.
- Help to establish and maintain a culture of (collaboration, transparent, high-communication, maker, respect )
- Hold team stand-up meetings and to help spread awareness of each other’s work and progress.
- Communicate with and report directly to executive team as needed, participate in weekly staff meetings.
- Assist your management in assessing hiring needs and help interview potential new team members.
- Constantly assess individual performance and provide timely feedback. Deal with performance issues before they become problems and deal with performance problems before they impact the team.
- Maintain high standards for software, process and product quality, with special value placed on security, collaboration, peer-review, documentation, testing, operability in production, and deployability.
- Ensure that the team is aware of relevant security best practices and applicable security requirements. Maintain the expectation that they be followed and address cases where they are not.
- Conduct or participate in Engineering team retrospectives
- Review, or supervise/check review of, GitHub pull requests for your team.
- Encourage a culture of automation and repeatability in the entire software and system development process, including practices and capabilities such as chatops, infrastructure-as-code, automated provisioning, high availability, and automated failover.
- Promote a highly resilient and fault-tolerant, low-maintenance architecture, which is as open as possible to inspection, contribution, understanding, and improvement by all.
- Promote a learning, blameless, resilient, anti-specialization culture, communications, and team structure.
- Help as needed to provide or coordinate customer service and support. Participate in ops on-call duty as appropriate.
- Manage Sprint planning and help product, support, and SRE to scope, and set requirements that can be completed by the team.
- Create GitHub issues and epics as needed.
- Help the team to provide reliable estimates of the relative effort for development tasks
- Help the team to decompose large projects into clearly defined deliverables that can be reliably delivered within a single sprint.
- Participate in discussing engineering projects with management and peers, including gathering and integrating customer feedback/requests; estimating benefit, effort, and schedule; selecting and suggesting features for monthly sprint planning; and tracking progress.