Company Name:
Category:
Software & Web Development
Status:
Full-Time
Contact Email:
jobs@veriflow.net
Description:
Location: Champaign, IL or San Jose, CA
Veriflow is looking for a Senior Software Engineer with a passion to work in a complex computing environment to deliver high quality networking applications. The successful candidate will become part of a team that develops formal network analysis and verification applications. They will work with industry experts, algorithm scientists, and developers to design, develop, optimize, and enhance subsystems and system components.
Responsibilities:
- Develop and maintain software that underlies our network analysis framework. Interact with technical leaders to understand specifications and recommend designs and changes to facilitate efficient and effective development.
- Optimize and improve performance of code, working with the algorithms team to design and evaluate data structures and algorithms with the aim to improve scalability and performance.
- Design and deliver products that meet specifications; ensure high standards in programming quality, style, and organization. Ability to create simple, easy-to-use designs that address complex user and environmental needs.
- Enhance robustness and security of code, by performing on-going testing and code review in compliance with technical reference architecture. Write and execute performance and correctness tests for subsystems and components
Education & Experience:
MS or PhD degree in Computer Science (or related field), with 3-6 years of experience in relevant software development environments.
Requirements:
- Strong experience developing software in C++. Ability to pick up new languages or frameworks quickly.
- Experience independently designing and implementing medium- or large-scale software systems.
- Experience in design, development, and debugging of parallel systems, including parallel algorithms and data structures, and multithreading.
- Ability to work well on teams and achieve stretch goals in a fast-paced innovative environment.
- Strong analytical, problem-solving, and debugging skills.
Additional experience in the following areas is highly desirable:
- Experience with high-performance computing, scalable memory allocation, and/or task scheduling.
- Good written and verbal communication skills. Ability to effectively communicate product architectures, design proposals and discuss options.
- Experience with Python, Java.
- Strong knowledge of formal methods and software verification.
- Experience with computer networking, operating systems, or computer security. Good understanding of networking concepts and protocols is desired.
To apply, contact: jobs@veriflow.net