Working Student - Embedded Software Development iv)
Role details
Job location
Tech stack
Job description
#WeAreIn to create tiny chips and big careers. The future won't wait... why should you? Join us and make a difference. Whether you join as a student, intern, or trainee, you'll be part of something real - real projects, real impact, and real opportunities to grow. Are you in?, Join our team and contribute to the development and optimization of software for industrial microcontrollers. This role is a great opportunity to gain hands-on experience with real-time systems, hardware integration, and toolchain automation.
- Shape the future: You will develop and debug embedded software for industrial microcontrollers using the C programming language, working directly with peripherals such as GPIO, UART, SPI, I2C, ADC, and timers.
- Drive innovation: Write and maintain shell, Python, and Bash scripts to automate builds, enable testing frameworks, and improve development toolchains.
- Ensure quality: Perform code reviews, manage version control with Git, and create technical documentation including system architecture diagrams and API specifications.
- Make a difference: Test embedded systems functionality through unit testing and hardware-in-the-loop validation, optimizing code for performance and memory efficiency.
- Take responsibility: Debug hardware-software integration issues using tools like oscilloscopes, logic analyzers, and JTAG debuggers., * Working part-time: The focus is on studies. That's why working as a student employee during lecture period is limited to a maximum of 20 hours per week.
- Proper students (according to the German law) are welcome: To work as a student employee with us, you must be enrolled at a university and not have completed all of your exams or modules for your degree programme. You must not be in a semester of leave. We look forward to welcoming you to our team for at least 6 months.
- You should live close to the site: For good collaboration, it is important to us that you can come to the office regularly to integrate to the team.
Requirements
Do you have experience in Unit testing?, * Study field: You are currently enrolled in a degree program in Computer Science, Electrical Engineering, or a related technical field.
- (Work) experience: You bring strong C programming skills and a solid understanding of pointers, memory management, and data structures. Familiarity with at least one microcontroller platform (e.g., Arduino, STM32) is expected.
- Skills: You have basic knowledge in scripting languages like Python, Bash, or Shell. Experience with debugging tools and development environments is a plus.
- Way of working: You take an analytical and systematic approach to problem-solving and are comfortable working independently on complex technical challenges.
- Interests: You are enthusiastic about embedded systems, hardware-software interaction, and low-level programming concepts.
- Language skills: You have working proficiency in English, both written and spoken.
- Availability: You are available to work 15-20 hours per week during the lecture period.
Please attach the following documents to your application:
- CV in English
- Certificate of enrollment at university
- Latest grades transcript (not older than 6 months)
- High school report
About the company
Ingenious Technologies is a leading independent marketing technology provider. With the cloud-based Ingenious Enterprise platform, companies across all industries can aggregate, structure, enrich and analyse all marketing data collected. Thanks to real-time processing and a high level of automation, reliable data sets are available for clients to make agile marketing decisions.