Software Engineer is an engineering role in Systems Controls Software teams within the X-ray Engineering organization. Software Engineers will develop software components as part of a team and will have the ability to take ownership of small tasks and grow within the software organization with increased responsibilities.
Learn software in X-ray products and contribute to software components
Be responsible for programming a feature and/or a small feature set
Work cross functionally with other teams to align activities and deliverables
Help team members through pair programming and code reviews
Apply principles of SDLC and Lean/Agile/XP/TDD/CI/CD methodologies to deliver high quality, secured, and scalable software modules
Continuously expand technical knowledge, keep abreast of emerging software technologies and apply them to the product software
Has the ability to take ownership of small tasks and deliver without supervision while using their discretion to seek help when necessary.
Demonstrate the ability to help team members through pair programming and code reviews.
Demonstrates awareness about product positioning and differentiations.
Has the ability to evaluate basic technology choices and articulate tradeoffs.
Applies principles of SDLC and Lean/Agile/XP/TDD/CI/CD methodologies to deliver high quality, secured, and scalable software modules.
Skilled in writing code that meets standards and delivers desired functionality using the technology selected for the project.
Skilled in core data structures and algorithms and implements them using language of choice
Bachelor's Degree in Computer Science, Computer Engineering, or equivalent
2 years of professional experience (including internships)
Proven experience in C++ programming
Working knowledge in Linux based platforms
Working knowledge in configuration management tools
Strong analytical skills, and experience in software development lifecycle
3+ years of software development experience with C++, and other programming languages
Experience in Python and shell scripting
Strong oral, written communication skills and interpersonal skills
Ability to evaluate technology choices and articulate tradeoffs
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 technologies