Senior Software Engineer
We sponsor H1B visas. We are open to employees working remotely.
Flow Science is a software company based in Santa Fe, New Mexico USA, which develops and distributes the CFD (computational fluid dynamics) simulation software suite, FLOW-3D. Founded in 1980 by one of the principals who pioneered the “Volume-of-Fluid” (or VOF) method while working at Los Alamos National Labs, Dr. C.W. (Tony) Hirt, FLOW-3D provides users the ability to model and visualize complex fluid flow problems, servicing users from commercial, academic and government domains all over the globe. FLOW-3D is used in a variety of application areas; everything from water/environmental, to metal casting, aerospace, and additive manufacturing industries. In the last few years, Flow Science has expanded its product line, creating application specific variants of FLOW-3D, aimed at providing each application area a more streamlined, tailored workflow for simulating problems specific to their industry.
We are looking for an experienced, knowledgeable, and versatile Senior Software Engineer to utilize their object-oriented programming skills, knowledge and experience to help drive the design, development and maintenance of our FLOW-3D user interfaces.
Successful Candidates Will:
- Be quick to learn and excited about learning, as well as teaching, new software methods, technologies, and ideas
- Be passionate about keeping up to date with software best practices and code quality
- Be a strong advocate for software craftsmanship and take pride in your work
- Thrive in environments with minimal guidance
- Take initiative to help improve software development processes
- Enjoy collaborating across teams with excellent communication
- Participates and contributes to the design, implementation and maintenance of new elements in our FLOW-3D user interfaces and supporting applications
- With minimal oversight beyond high level direction, utilize expertise to problem solve given limited information
- Help ensure all designs are implemented as safely and as robustly as possible and adhere to proper software engineering guidelines and practices
- Actively participate in identifying inefficiencies in the software development process and work with team members to continuously improve these processes
- Identify risks in code, features and designs; communicate risks appropriately and take necessary action
- Focus on high priority tasks and assignments while simultaneously supporting the team to ensure overall success
- Collaborate with support/sales team when necessary to help resolve customer issues/questions
- Encourage, train, and mentor team members to help them grow and excel
- Conduct code reviews
- Bachelor’s degree or higher in software engineering, computer engineering, or computer science
- Deep understanding of modern C++ (including standards); object-oriented principles and design, especially design patterns (3+ years)
- Strong ability to read and learn from existing code
- Strong understanding of 3D Graphics Programming with OpenGL (2+ years)
- Experience developing cross-platform applications, specifically on Windows and Linux (3+ years)
- Experience employing systems, tools, standards, and procedures to drive performance
- Extensive experience developing, deploying, and integrating software solutions, preferably in an Agile environment
- Experience designing user interfaces (2+ years)
- Strong understanding of CI/CD concepts and test-driven development
- Outstanding interpersonal and communication skills
- Experience with some of our tools and secondary languages: Qt framework, FORTRAN, Python, Bash scripting, CMake, Git, and JIRA
- Experience with other CAE or visualization software
Flow Science offers an exceptional benefits package to full-time employees including medical, dental, vision insurances, life and disability insurances, 401(k) and profit-sharing plans with generous employer matching, and an incentive compensation plan that offers a year-end bonus opportunity up to 30% of base salary.