Role Summary :
Responsible for programing a feature and or a small feature set. Contributes to the team and works with direction from Senior Team Members or management, beginning to work independently.
Essential Responsibilities :
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
Qualifications / Requirements :
Bachelor’s Degree in Computer Science or in STEM Majors (Science, Technology, Engineering and Math)
Strong professional experience
Very good C++ knowledge
Knowledge of other programming / scripting languages is a plus - C#, JAVA, Python, Perl etc.
Knowledge and experience with development under Windows OS
Experience with automated and unit testing
Fluent in English (both written and spoken)
Desired Characteristics :
Knowledge of real-time systems is a plus.
Experience with SCADA is a plus.
Experience with Visual Studio, TFS (GitHub, VSS etc), static code analysis tools.
Knowledge of JIRA (and similar)
Best practices are a must - active participation, peer-reviews, code-reviews, design documentation.
Other languages are a plus.