Job Description
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
