What are the responsibilities and job description for the Principal Software Engineer position at red violet (NASDAQ: RDVT)?
We are seeking a talented Principal Software Engineer to join our dynamic Seattle team. In this role, you will be at the forefront of innovative tech development including: contributing to proprietary tools for data processing and distributed search, building and optimizing a highly distributed, Linux-based environment that integrates cutting-edge open-source technologies, and cloud computing.
Together we will leverage your expertise in C to design and implement high-performance solutions, utilize shared and distributed memory parallel programming to benchmark, analyze, and improve software performance, provide in-depth performance analytics, and identify opportunities for optimization. You’ll collaborate with the team to architect state-of-the-art enhancements and maintain scalability across the platform. If you're ready to tackle exciting challenges, work with a highly skilled team, and help us push the boundaries of distributed computing, we’d love to hear from you.
What You Will Do:
- Work directly with senior executives and chief architects to understand the current and future problems red violet is solving and to design data flows and structures and create and optimize core parallel algorithms to provide the best solutions.
- Be a key member of the staff in contributing to the design and development of our proprietary distributed computing platform in C/C on a Linux environment.
- Be responsible for developing and testing performance critical components of the system and collaborate closely with team members designing software to find the best system-level solutions.
- Benchmark red violet’s proprietary parallel software solutions with industry-standard competing solutions
What You Bring:
- A Computer Science or related degree (MS, PhD, or equivalent experience)
- 7 years of software engineering experience in high-performance computing environments.
- Strong knowledge of C/C programming in a Linux environment
- Experience with systems level development, socket programming, and low-level I/O.
- Understanding of OS concepts and network protocols such as TCP/IP
- Strong knowledge of OOP, data structures and algorithms
- Strong mathematical fundamentals, including linear algebra and numerical methods
- Experience with parallel programming, e.g. MPI, OpenMP, and CUDA.
- Experience with common scripting languages, (e.g. Bash, Python, etc.)
Salary : $160,000 - $220,000