Software Engineer, Distributed Systems - Redis
Software Engineer, Distributed Systems – Redis
Vail Systems is seeking a Software Engineer who has strong expertise with distributed database systems specifically Redis to act as an internal consultant to engineering staff to ensure uniform adoption and centralized integration for how Redis is utilized in software at Vail. The role may be expanded to include other distributed databases in the future such as Kafka. As part of the Engineering team, the Software Engineer will be expected to coordinate closely with Systems Engineering and Linux Systems Administration teams to build internal software tools. Initially, this position would conduct a state and needs analysis to evaluate current usage of Redis, write and implement best practices for architecting and monitoring software systems. This role is team-oriented as you will collaborate with cross-functional and highly technical engineering staff, but you will also be required to be an independent self-starter.
The ideal candidate will have a strong Linux (CentOS 8) and programming background in languages such as C, C++, or Python. They should also have experience providing technical direction to identify and utilize best-fit architectural solutions for multiple projects across Vail's product suite. The candidate will require knowledge of Kubernetes and Docker or similar container orchestration systems and deployment processes. Additionally, the candidate should be adaptable, detail-oriented, and a continuous learner.
What you'll do:
- Investigate and troubleshoot issues to provide timely resolution for complex Redis software issues that improve system performance.
- Build, patch, and maintain Redis clusters.
- Perform cluster operations including expansion and migration to new datacenters.
- Develop and maintain automation scripts as needed.
- Coordinate deployments with operations teams to update, patch and upgrade Redis.
- Act as the central integration point for engineering teams and customers to leverage Redis and make recommendations in support of their technical and business requirements.
- Document best practices and procedures for technical teams to reference in order to architect and monitor software systems that utilize Redis and other data services.
- Consult at the highest technical level with clients, IT management, and enterprise-wide teams.
- Continually update Redis documents by adding and deleting data attributes for example, when modifications are made to user lists.
- Program Pub/Sub messages in Redis to allow subscribers to retrieve data pushed from appropriate channels.
- Maintain and update mapping of Redis architecture.
- Assist other teams design resilient Redis architectures to survive crashes.
Minimum qualifications:
- A Bachelor's degree in Computer Science, Computer Engineering, Software Engineering or another related field.
- 3+ years of experience in a software development role.
- Prior professional experience with C, C++, Python, or another scripting language.
- Experience with Linux/Unix operating systems and shell scripting.
- Experience with Redis.
- Experience with Kubernetes/Docker or similar cloud environments.
- Excellent verbal and written communication skills.
Preferred qualifications:
- Experience with general distributed database systems and messaging systems like Kafka and RabbitMQ.
- Experience with Jenkins/CloudBees or similar CI/CD software delivery services.
- Experience with Git or similar version control systems.
- Experience with DevOps practices.
- Experience with Atlassian tools such as Jira and Confluence.
About Us
The human voice is capable of conveying nuances and meaning that just can't be expressed through clicks and text messages. And for that reason, voice interactions have always had a special power to shape your perception and experiences. At Vail, we believe in the unique power of voice interactions to create more expressive, more intimate, and more efficient interpersonal interactions. Our experts work with Fortune 500 companies to help them serve their customers more efficiently and effectively through the use of various voice technologies. From basic network services, to state-of-the-art IP telephony, to cutting edge real-time analytics, Vail technology makes millions of voice interactions better every day.
Organizational Culture
At Vail Systems we strive to cultivate a supportive culture of continuous learning where employees are encouraged to achieve both personal and team goals by providing innovative telephony solutions that enhance customer contact center experiences. We entrust our employees to work autonomously and also encourage contribution to the decision-making process in a highly collaborative environment where open communication is fostered amongst teams. Product development is centered around the end user to ensure Vail's products are efficient, productive and add value for our clients.