16 Oct
|
Semtech
|
Ontario
Location: Burlington, Canada
Our Team: Semtech's Digital Analytic Software Team is a group of passionate and talented engineers tasked to develop and deliver tools for: test data analytics, cost of product modeling, production data flow, and dashboards for yield, test time, volume, and trends. We enable the Semtech engineering community to improve decision making by providing quick access to reliable data through intuitive tools, and we have a versatile and exceptionally talented team of individuals to make this vision a reality!
Position Summary: The Associate Engineer, Applications position is responsible for performing basic application software development activities in support of the Digital Analytic Software Team's tools for test data analytics, cost of product modeling, production data flow, and yield/test time/volume/trend dashboards. This position supports application development, assists with implementation and testing, and helps document software components under the guidance of more senior engineers on the team. The role requires a fundamental understanding of software engineering principles and programming skills, with exposure to the team's core technologies (C++, JavaScript, and relational databases) preferred.
Key Responsibilities: Application Development Support (30%): Support development of software applications for test data analytics, cost of product modeling, production data flow, and dashboard tools
Write code according to established specifications and requirements, primarily in C++ (Linux workplace) and/or JavaScript
Implement basic application features and components under senior engineer direction
Contribute to defined user interface elements and functional modules
Maintain code documentation and implementation notes
Application Testing and Debugging (25%):
Assist with testing and validation of tools and dashboards
Execute test cases and verify results against expected data outputs
Help identify and resolve basic software defects
Support user acceptance testing efforts with the engineering community
Document test results and issue resolutions
User Interface Implementation (15%): Support implementation of dashboard and tool user interfaces
Assist with UI component development and styling using established patterns
Help implement basic user experience workflows for data visualization
Support responsive design and cross-platform compatibility
Participate in UI testing and validation
Integration and Deployment Support (10%): Support application integration with existing data sources and relational databases (primarily MariaDB)
Assist with deployment processes and release activities
Help implement basic data exchange interfaces and APIs
Support configuration management and versioning
Participate in release verification under senior engineer oversight
Technical Documentation (10%): Create and maintain software documentation for tools and dashboards
Support development of user guides and technical references
Help document APIs and interfaces
Assist with requirements traceability
Support revision control of technical documentation
Technical Learning and Development (10%): Develop understanding of semiconductor test data, yield, and production analytics used by the team
Learn software engineering practices and agile methodology as applied on the team
Support implementation of established application design patterns
Participate in technical training and development activities
Increase knowledge of C++, JavaScript, and relational database administration
Education and Experience: Bachelor's degree in Computer Science, Software Engineering, or related technical field
0-2 years of experience in application development, programming, or a related role
Basic knowledge of software development principles and practices
Exposure to C++ and/or JavaScript preferred; experience with other programming languages and development tools also considered
Familiarity with relational databases (e.g., MariaDB) and user interface development preferred
Qualifications: Basic knowledge of software engineering principles and application development methodologies
Technical understanding of programming concepts and software design patterns
Proficiency in one or more programming languages and development frameworks
Attention to detail and accuracy in coding and documentation
Good organizational and time management skills
Effective written and verbal technical communication abilities
Basic problem-solving capabilities
Understanding of software versioning and release management
Ability to work in team-based development environments alongside senior engineers
Willingness to learn and develop software engineering expertise
Basic understanding of semiconductor test data, yield, or production analytics a plus
The intent of this job description is to describe the major duties and responsibilities performed by incumbents of this job. Incumbents may be required to perform job-related tasks other than those specifically
#J-18808-Ljbffr
📌 Associate Engineer, Software Engineering (Ontario)
🏢 Semtech
📍 Ontario