Staff Software Engineer in X-ray Engineering organization is an experienced engineering role responsible for leading software components in X-ray Systems Controls Software teams. Responsible for designing and programming a small module or a large component and designing a feature, set of features, or whole feature area. Works independently and contributes to the immediate team and to other teams across business.
In this role you will:
Learn X-ray product software and drive functional design and implementation on one or more major modules
Understand the whole product, its modules and the interrelationship between them while being an expert in a component or module.
Serve as subject matter expert on one or more major modules, provide oversight and mentor team members
Break down problems and estimate time for development tasks
Assess application performance and optimize/improve through design and best coding practices.
Make informed technology choices after due diligence and impact assessment
Help define your own role in the delivery of the product/service design.
Expert in breaking down problems and estimate time for development tasks.
Skilled in providing oversight and mentoring team members.
Shows ability to effectively delegate work.
Demonstrates the ability to make informed technology choices after due diligence and impact assessment.
Understands whole product, its modules and the interrelationship between them while being an expert in the assigned component or module.
Possesses advanced domain knowledge and shows great customer focus.
Demonstrates clarity of thinking to work through limited information and vague problem definitions.
Expert in processes / methodologies and Skilled in build, release & deployment processes.
Helps define his or her own role in the delivery of the product/service design.
Articulates the need for scalability and understands the importance of improving quality through testing.
Drives design reviews, defines interfaces between code modules, and applies existing technology to designs.
Expert in assessing application performance and optimizing/improving it through design and best coding practices.
Expert in core data structures as well as algorithms and has the ability to implement them using language chosen.
Drives functional design and implementation on one or more major modules.
Serves as SME and works closely with support and infrastructure services in troubleshooting customer and operational issues.
Bachelor's Degree in Computer Science, Computer Engineering or equivalent
A minimum of 8 years of professional experience in software development
Proven hands-on experience with object-oriented programming languages, primarily C++
Skilled in core data structures and algorithms
Experience working on Linux based platforms
Working knowledge in configuration management tools
Strong analytical skills, and experience in software development lifecycle
Master's degree in Computer Science or Computer Engineering
Software development experience with C++ and other languages
Expert in writing code that meets standards and delivers desired functionality using the technology selected for a project.
Experience working in complex software development projects
Strong oral, written communication skills and interpersonal skills
Adapt to new environments, changing requirements and pivots quickly as needed
Identify opportunities for innovation and offers new ideas.
Takes initiative to experiment with new software frameworks