Job
Description
Description: Analog Devices (NASDAQ: ADI) designs and manufactures semiconductor products and solutions. We enable our customers to interpret the world around us by intelligently bridging the physical and digital worlds with unmatched technologies that sense, measure, and connect. Analog Devices, Inc. is looking for a Software Development Engineer to join our Development Platforms & Partnerships team. This is an opportunity to join a team that is focused on building, delivering, and supporting software tools for semiconductor product development engineers across ADI. As a critical member of the team, you will add value in all phases of software tool development and support. You will actively drive and participate in feasibility, requirements, architecture, design, implementation, integration, and verification. Responsibilities: To perform requirement analysis and oversee the implementation of architectures of the project tasks assigned. Create new, dynamic, front-end, and backend software products and apps that are dynamic and visually appealing. Evangelize and drive code quality practices such as code reviews, static analysis, and automated testing ; implement software quality improvement initiatives Disseminate your in-depth knowledge of software development life cycles, software configuration management tools, and software release process Provide technical mentorship and guidance to the team members and your project peers. Contribute to projects by guiding architectural discussions and providing technical coaching to software engineers. Contribute as a team member to operational, integration, or application architecture requirements, design, implementation, or on - going operations deliverables. Willing to learn and work on other Technologies based on the project needs, we build products that solve customer problems and programming language chosen to align with design. Handle multiple applications and oversee the deliverables using agile methodologies by doing sprint planning and execution . Work with multiple stakeholders from different locations. Establish metrics and processes for both monitoring health and allowing for continuous improvements. Strong analytical and problem-solving abilities Skills: At least 2-4 years of experience developing enterprise software using object-oriented languages such as C++, Java Experience working with the Go programming language along with knowledge of various Go frameworks and tools Experience working with Python programming language Experience using and developing RESTful APIs Experience using and developing Microservices Strong fundamentals in data structures and algorithms Comfortable with collaboration, open communication , and reaching across functional borders Deep understanding of distributed systems and large-scale software architectures Experience in designing and implementing web applications using Angular, React, Vue, jQuery, NodeJS, Bootstrap, Material Design Experience in Database design and implementation using MySQL/PostgreSQL/Oracle/ MongoDB . Excellent analytical skills. Excellent written and communication skills Good understanding of testing methodologies like unit testing, functional testing, performance testing and Integration testing Good understanding on system monitoring, observability, metrics and logging Familiarity with Agile best practices for the full software development process Demonstrated extensive experience with task and defect tracking tools (Example. Jira) Knowledge of scripting languages like JavaScript, Python Demonstrated competence in Continuous Integration and Continuous Deployment using tools like Jenkins, Docker and Kubernetes Very Strong grasp of version control systems - Example. GitHub, Bitbucket, Gitlab Experience with Static Analysis tools - Example. SonarQube, Coverity, Experience with Build & dependency management tooling Good to have: Experience working with Cloud technologies such as AZURE, AWS Experience in building backend services using TypeScript.