Principal Software Engineer
About The Position
We are looking for Principal Software Engineers to join our team that is building complex applications atop our Industrial IoT platform. These Industry 4.0 applications help our customers address operational, optimization, and performance challenges globally in various industries.
Role & Responsibilities:
- Responsible for the design and development of application features
- Proactively identify technology risks and improvement opportunities
- Initiate and contribute to architectural design discussions and best practices
- Responsible for managing and mentoring team members & helping them achieve their goals
- Develop architecture and design principles to improve the performance, capacity, and scalability of the product
- Ability to translate complex functional requirements into a technology implementation
- Strong background in OOP, Design Patterns, Data Structures, and Algorithms with analytical and problem-solving skills.
- Familiar with Rest and GraphQL
- Proficiency in test driven development
- Excellent communication and interpersonal skills with ability to manage cross functional teams.
- Working knowledge of docker containerization and CI/CD pipelines
- Hands-on experience of UX/UI, translating wireframes and designs into innovative user interfaces with high-quality code.
- Previous exposure to large-scale distributed systems design and architecture is advantageous.
- Exposure to Continuous Integration/Continues Deployments tools is a plus.
- 6-10 years of web applications development experience Solid hands-on experience in the cloud services for building distributed solutions / applications is a plus.
- Experienced hands-on coder with excellent programming and analytical abilities
- Must have a strong passion to code
- Familiarity with agile development methodologies, tools and practices
- Ability to manage a team