The role of Software Engineer involves designing, developing, and maintaining software applications that meet the needs of clients and internal operations. Close collaboration with other software engineers, operations personnel, product managers, and stakeholders is essential to deliver high-quality software solutions.
A successful software engineer works well in an agile environment with minimal supervision, is detail oriented, is self-motivated and highly self-disciplined, and collaborates well with colleagues across all departments.
Responsibilities
Software Development : Design, develop, and implement high-quality software solutions that meet the needs of our internal and external stakeholders.
Code Quality : Write clean, maintainable, and efficient code. Conduct thorough testing and debugging to ensure the reliability and performance of software applications.
Collaboration : Work closely with other engineers, product managers, and designers to deliver features and improvements. Participate in code reviews and provide feedback to enhance the team's overall code quality.
Maintenance and Support : Maintain existing software applications by implementing enhancements and resolving bugs. Provide technical support to team members and end-users as needed.
Documentation : Create and maintain comprehensive project documentation, including design specifications, system architecture, and user guides.
Continuous Improvement : Stay updated with the latest industry trends and technologies. Suggest and implement innovative solutions to improve software development processes and outcomes.
Qualifications
Bachelor’s degree in computer science, software engineering, computer engineering, or related field.
2+ years relevant software engineering experience
Proficiency in C#
Proficiency in web development languages (e.g. html, css, JavaScript,)
Experiencing working with low level protocols (e.g. ModBus, CANBus, ANSI C12.19)
Experience working with both Windows and Linux.
Familiarity with cloud service providers (Google AWS, Azure)
Knowledge of software development methodologies (e.g., Agile, Scrum, KanBan).
Experience with version control systems (e.g., Git).
Qualities
Detail oriented.
Positive outlook and a willingness to embrace challenges.
Eager to collaborate both technical and non-technical colleagues and a respectful, positive, and supportive manner.