About this role
## Job Title
Intern - Software Developer
## Location(s)
Mumbai
About Us
Revvity is a developer and provider of end-to-end solutions designed to help scientists, researchers, and clinicians solve the world’s greatest health challenges. We pair the enthusiasm of an industry disruptor with the experience of a longtime leader. Our team of 11,000+ colleagues from around the globe are vital to our success and the reason we’re able to push boundaries in pursuit of better human health.
Find your future at Revvity
Key Responsibilities Python Development • Develop and maintain software components using Python under the guidance of senior engineers. • Write clean, structured, and maintainable Python code. • Work with existing Python codebases and implement small enhancements and fixes. • Develop scripts and utilities to support engineering and testing activities. • Learn and apply object-oriented programming and basic software design principles. Software & System Integration • Support integration of software with hardware, firmware, and instrument components. • Develop and test basic device-control and instrument workflow functionality. • Support troubleshooting of communication between software components and instruments. • Assist engineers in implementing and testing software features. API & Communication • Work with basic REST APIs and service interfaces. • Gain practical experience with: o HTTP o JSON o REST o WebSocket o TCP/IP • Support development and testing of software-to-software and software-to-device communication. Linux & Embedded Systems • Work in Linux and embedded Linux environments. • Gain hands-on experience with SSH, processes, services, logs, networking, and system configuration. • Support software deployment and configuration on embedded platforms such as Raspberry Pi. • Assist in troubleshooting Linux and system-level issues. Testing & Automation • Develop and execute unit, integration, and functional tests. • Support automated testing and regression testing activities. • Create Python-based test scripts and utilities. • Analyse test results and document failures. • Work with SQA engineers to reproduce, investigate, and track software defects. Debugging & Troubleshooting • Analyse application logs, exceptions, and test failures. • Assist in identifying root causes of software issues. • Reproduce software and system-level defects. • Support engineers in troubleshooting hardware/software interface issues. Data Processing • Work with basic Python libraries such as: o NumPy o Pandas o Matplotlib • Support data processing, analysis, visualization, and engineering test activities. Git & Software Development Practices • Learn and use Git-based development workflows. • Work with branches, commits, pull requests, and code reviews. • Follow software development standards and documentation practices. • Gain exposure to CI/CD, automated builds, dependency management, and software release processes. Documentation & Collaboration • Document software changes, test results, issues, and troubleshooting steps. • Participate in code reviews and technical discussions. • Work closely with Software, Firmware, Systems, and SQA teams. • Learn engineering processes used for development and verification of scientific instruments. Must-Have Skills • Bachelor’s degree or pursuing a degree in Computer Science, Information Technology, Electronics, Electrical Engineering, or related discipline. • Good programming knowledge in Python. • Basic understanding of object-oriented programming. • Basic understanding of software development and debugging. • Good problem-solving and analytical skills. • Basic knowledge of Linux. • Basic understanding of Git. • Basic understanding of HTTP, JSON, and APIs. • Willingness to work on both software and hardware/software integration. • Good communication and documentation skills. • Strong willingness to learn and work on real engineering problems. Preferred / Good-to-Have Skills • Academic or personal project experience using Python. • Exposure to Django or other Python frameworks. • Basic knowledge of REST APIs, WebSocket, or TCP/IP. • Experience with NumPy, Pandas, or Matplotlib. • Exposure to Linux/Raspberry Pi or embedded systems. • Experience with Python-based test automation. • Exposure to unit testing or pytest. • Basic understanding of databases or SQL. • Exposure to CI/CD tools. • Familiarity with Agile/Scrum development practices. • Academic project involving instrumentation, electronics, sensors, laboratory equipment, or device integration.
Key Learning Opportunities During the internship, the candidate will gain practical exposure to: • Python software development • Backend and service development • Test automation • Software verification and validation • Linux and embedded systems • API and device communication • Hardware/software integration • Data processing and analysis • Git and modern software development practices • Debugging and root-cause analysis • Software development for scientific and laboratory instruments Key Competencies • Strong learning ability and technical curiosity. • Logical and structured problem-solving. • Attention to detail. • Ability to work collaboratively with experienced engineers. • Willingness to take ownership of assigned tasks. • Ability to learn unfamiliar technologies and existing codebases. • Good communication and documentation skills.