Job Summary:
The Associate Software Developer is responsible for writing quality, clean, and maintainable Python code using programming best practices. You will work alongside engineers in building python pyqt5 based UI. Also, you will be responsible for writing and testing scalable code, developing front-end components, and integrating user-facing elements in collaboration with back-end developers.
Job Duties:
- Write quality, clean, and maintainable Python code using programming best practices
- Implement proof of concept, prototypes, and production-grade software
- Translate functional requirements into conceptual and detailed designs
- Deliver well-documented projects and source code
- Collaborate with design to create optimized future specifications
- Develop frontend/backend machine software solutions
- Develop and manage databases
- Develop web-based applications
- Develop systems data integration using messaging protocols
- Create software product documentation
- Collaborate with team members throughout the product development cycle
- Execute software testing and deployment
- Provide software technical support to end-user
Job Requirements (Education, Knowledge & Skill):
- Bachelor’s in a relevant engineering field and/or equivalent experience
- Minimum 5 years of Python experience for a standalone software development environment
- Strong understanding of version control systems & CI/CD
- Thorough understanding and demonstrated experience in Object-Oriented Design
- Strong understanding of design patterns and capability of incorporating them in software design
- Strong database design skills and fluency in SQL statements
- Interest in data analysis & ETL pipeline architecture
- Methodical, organized, and able to multi-task
- Ability to work independently, as a team player and in a fast-paced environment
- Experience developing desktop-based UI software
- Experience using PyQt5 & relational database systems
- Experience using GitHub
- Experience in PostgreSQL
- Experience in web technologies, JSON, CSS, and XML
- Experience in messaging protocols: RabbitMQ, TCP/IP, OPCUA
- Familiarity with IoT pipelines & ETL
- Familiarity and experience with multi-threaded and multi-process applications are an asset
- Experience in the manufacturing environment is an asset
Work Conditions & Physical Demands:
- Ability to work independently, as a team player, and in a fast-paced environment
- Environment is typical of an office