Machine Learning Software Engineer
8 months ago
The Role:
You'll be an experienced software engineer with machine learning concept. Working in an agile cross-functional team, you will contribute to.....
The Role:
You'll be an experienced software engineer with machine learning concept. Working in an agile cross-functional team, you will contribute to the development of complex features to ensure Dyson continues to create innovative products that will delight our customers.
You'll collaborate with architects, software engineers, machine learning engineers, and platform engineers to help solve the wide and exciting range of edge devices’ challenges posed by the ever expanding Dyson product portfolio.
You'll have a desire to explore and share ideas and techniques across different technical domains and will ideally have expert knowledge of software development for complex, sophisticated systems including deep learning IPU, embedded software, camera/sensors components with a focus on model deployment on embedded system software and cloud computing.
Key Responsibilities:
- Ability to design and deploy proposed machine learning algorithm/model onto target platform efficiently.
- Work closely with architects, algorithm engineers, and platform engineers to implement and deploy machine learning models on embedded system and optimize product performance accordingly.
- Understand necessary data and AI requirements to implement and deploy machine learning applications; ensure machine learning applications are available to products via well-defined APIs
- Lead system design of data pipeline to facilitate repetitive machine learning model performance turning
- Identify key enabler and risk areas of proposed algorithmic solutions.
- Work with the architecture team and product management to identify the feature development roadmap.
- Develop prototype demonstrators utilising rapid prototyping techniques for quick evaluation.
- Manage the entire life cycle of multiple related complex modules and systems, including feature discussion, algorithmic analysis, documentation, design, coding, testing, maintenance, and result tracking
- Involve in continuous integration and continuous delivery (CI/CD) infrastructure/environment setup
- Good product sense and keen focus on product performance.
- Act as subject matter expert (SME) in specific domain, disseminating knowledge, guiding and mentor engineers in methodology, best practice and standards
- Proactively identify technical risks within projects and influence engineering teams in their resolution
- In-depth participation in feature design discussions will be required
Key Skills / Experience
- A bachelor's degree or higher in Computer Science, Electronics Engineering, Computer Engineering, Applied Mathematics or robotics engineering with strong quantitative background.
- Strong knowledge in image classification, segmentation, embedding and feature extraction
- Industry experience in building innovative end-to-end machine learning systems
- 1+ years of experience in computer vision/ML application software development and performance tuning.
- Experience in building, deploying and optimizing machine learning algorithms, especially deep learning and convolutional neural network.
- Solid understanding and hands-on experience of machine learning fundamentals, such as data visualisation, data cleaning, SVM, random forest, model ensemble, AdaBoost, deep learning deployment etc.
- Experience in integration and deployment of computer vision applications onto embedded system products or edge devices is highly desirable.
- Proficient in machine learning libraries, such as OpenCV, dlib, scikit-learn, numpy or scipy, etc.
- Proficiency in multithreading programming and synchronisation mechanisms.
- Good command of object oriented programming capability, including speed and overall quality; specifically, must be able to write high performance product quality codes with C++ and Python
- Familiar with STL, boost C++ libraries, design patterns and able to enforce it in day-to-day tasks.
- Comfortable and familiar with embedded system programming under Linux environment for machine learning model deployment and performance tuning.
- Experience in AWS, Google Cloud or Microsoft Azure cloud service is a plus
- Good problem-solving and troubleshooting attitude with excellent analytics skills
- The ability to learn continuously and improve oneself.
- Experience in Agile practices is a plus.
- Professionalism and excellent communication skills; ability to communicate complex information to both technical and non-technical stakeholders.
- Optimism and an excitement about collaborating with teammates and interdisciplinary teams, and technically support development.
- For a highly experienced candidate, we expect excellent technical guidance skills and the ability to influence the work of others. Experience in over-sighting high complexity software development projects is an advantage
- Independent, Integrity and self-driven with a strong focus on results to ensure that the whole team succeeds in its goals.
- Fluent in spoken and written English.
Official account of Jobstore.