About this role
Job Summary
We are seeking a Senior Software Engineer to support the development of our Advanced Monitoring and Control Software. This person will provide technical expertise in the development of a distributed control system supervisor including subsystems for user interfaces, security conformance, and network communications. Work will include requirements planning and estimating, development, software test and demonstration. A successful candidate will have experience in any of the following areas: Angular development, requirements review, task planning, RESTful APIs.
Responsibilities
• Design and support the complete front-end web application ensuring performance, scalability and extensibility using the Angular framework • Work on enhancing the existing suite of in-house Angular libraries and adding new functionalities. • Write and develop unit/e2e tests. • Follow industry standard best practices and design principles to build a maintainable and scalable code base. • Document technical issues and solutions. • Provide clear and detailed written reports of bugs and report steps to the development team. • Suggest fixes and improvements. • Report activities, project status, and plans to team lead and management.
Requirements
• Bachelor’s degree or foreign equivalent with strong emphasis on software: Computer Science, Software Engineering, Computer Engineering • 6+ years of related experience in Angular web development • 4+ years of experience designing and developing Single Page Applications using Angular 13+, Angular Material, TypeScript, HTML, SCSS, and D3 • Practical knowledge of RxJS library and have a reactive mindset • Experience with SignalR and Websockets • Experience in state-management using the Redux pattern • Demonstrated capability with object-oriented principles, design patterns, data structures and in-depth knowledge of the Angular framework • Strong working experience in interfacing with JSON based REST APIs • Experience with modern software development tools for continuous integration/deployment including Git and GitLab • Knowledge of advanced debugging techniques to quickly resolve critical bugs • Deep knowledge of Angular and reactive design patterns through extensive work experience • Experience with requirement tracking systems • Experience working in Agile development life cycle • Experience with TCP/IP networking and Wireshark is a plus • Modbus, BACnet, or SNMP experience is a plus • Able to learn and pick up new technologies quickly • Excellent verbal and written communication skills in English and the ability to express thoughts and ideas clearly