What are the responsibilities and job description for the Software Engineer position at Prodware Solutions?
Job Details
Title: Senior Software Engineer
Duration: 12 months
Location: Waukesha, WI 5 days a week. Onsite Must be within commuting distance to Waukesha site
Job Overview
We are seeking a Senior Software Engineer to contribute to the development reconstruction technologies. In this role, you will collaborate with a multidisciplinary team to design and implement innovative software solutions that enhance imaging capabilities.
Required Qualifications
- Bachelor s degree in Computer Science, Electrical Engineering, or Computer Engineering
- Minimum of 5 years of experience in software development
- Experience with Linux-based programming on x86 systems
- Proficiency in C programming and object-oriented programming in a production environment
- Experience with version control tools such as Git
Preferred Qualifications
- Knowledge of Python, deep learning, machine learning, image processing, image reconstruction, and computer vision
- Experience with MATLAB or similar scientific modeling tools
- Familiarity with parallel computing concepts and tools (MPI, OpenMP)
- Experience in designing and architecting high-performance systems (5 years)
- Experience with high-performance computing (HPC) or GPU technologies such as OpenCL, TensorFlow, or CUDA
- Proficiency with C and Python IDEs (Eclipse, CLion, Visual Studio, XCode, PyCharm)
- Experience with requirements management and troubleshooting (5 years)
Key Responsibilities
- Develop and enhance software in a dynamic, agile environment using modern development tools and methodologies.
- Collaborate with engineers, scientists, and application specialists to translate high-level PET MR application requirements into component-level solutions.
- Design and implement solutions for complex data management and distributed processing challenges within the reconstruction platform domain.
- Plan and execute integration activities at component, sub-system, and system levels.
- Document design and verification processes, conduct component and subsystem-level verifications, and participate in system-level validations as needed.
- Drive efficiency across teams by reducing duplication and promoting technology reuse.
- Contribute to process improvements that support development, maintenance, and operational activities.
- Apply software development best practices, including Agile/Lean methodologies, continuous integration (CI), software security, scalability, documentation, refactoring, and testing.
- Develop high-quality, maintainable code that meets project standards.
- Assess and optimize application performance by analyzing key performance metrics.
- Work with core data structures and algorithms, implementing them using the chosen technology stack.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.