Develop high-quality software design and architecture.
Develop tools and applications with effective and clean code.
Identify, prioritize and execute tasks using Agile software development life cycle.
Apply modern software engineering practices such as agile, design review, code review, unit test and usability test.
Automate tasks through appropriate tools and scripting.
Work with product managers, stakeholders and other developers to translate requirements into technical solutions.
Collaborate with internal software teams to develop and improve software products.
Persistent and creative problem solver.
Ensure software is up to date with latest technologies.
Document and demonstrate solution by developing documentation, flowcharts, diagrams and code comments.
Mentor junior software developers.
Qualifications
Basic Qualifications:
Bachelor/Master Computer Science/Electrical/Electronic Engineering or a software related discipline, from an accredited college or university.
Proven experience as a Software Developer with minimum 7 years of professional software development experience.
Excellent understanding of software design and programming principles.
Experience on tools and languages such as C#, C/C++, Angular, CSS, JavaScript/Typescript, Node.js, Python.
Experience in communicating with users, technical teams and product owners to collect requirements, identify tasks, provide estimates and meet project deadlines.
Good in English language for both technical writing and verbal communication skills.
Good analytical thinking and problem-solving capability.
Great attention to detail and time-management skills.
Must be self-directed, able to work independently, as well as work in a team oriented and fast paced environment.
Desired Qualifications:
Knowledge of programming for diverse operating systems and platforms (Linux, Android, iOS) is a plus.
Good understanding of the test and measurement products.
Understanding of Jenkins CI/CD development flows and impact of DevOps on architecture.
Good knowledge of relational databases (e.g. PostgreSQL, MySQL) and NoSQL databases (e.g. MongoDB).
Deployment experience with Docker/Kubernetes, clustering, and related containerization technologies.
Experience with distributed systems architecture, experience moving from monoliths to microservices
Experience in semiconductor development or testing environments.