Senior Software Engineer- Python
Aurora Engineering AB
We are seeking a Senior Software Engineer with strong expertise in Python-based systems to contribute to the development of scalable, reliable, and high-quality software solutions.
Technology Stack
As a Senior Software Engineer, you will work with a diverse and modern technology stack, including:
Programming Languages: Python 3, with a strong focus on Test Environment Development using pytest.
Concurrency & Networking: Multiprocessing, threading, CAN, LIN, Ethernet, and other network protocols.
Messaging Queues: RabbitMQ, ZeroMQ.
Databases: Relational databases (MariaDB, PostgreSQL) and NoSQL databases (MongoDB).
Testing: Unit and integration testing using pytest to ensure software quality and reliability.
Capability Development: Image processing, audio recording, and hardware abstraction solutions.
The tools and services developed by the team support hundreds of developers and engineers, enabling innovation and delivering a developer-first experience.
Key Responsibilities
Software Development & Maintenance
Develop test frameworks, services, and capabilities using Python 3 while adhering to clean code principles and best practices.
Design, implement, and maintain scalable and maintainable software solutions.
Implement efficient concurrency solutions using multiprocessing and threading.
Networking & Protocols
Build and maintain applications that interact with network protocols, including TCP/IP, UDP, CAN, LIN, and Ethernet.
Develop and support distributed systems utilizing messaging queues such as RabbitMQ and ZeroMQ.
Database Integration
Design and implement database schemas for relational databases such as MariaDB and PostgreSQL.
Work with NoSQL databases, including MongoDB, to support dynamic and scalable solutions.
Collaboration & Continuous Improvement
Collaborate closely with software engineers, DevOps teams, and cross-functional stakeholders to understand requirements and deliver high-quality solutions.
Contribute to knowledge sharing, technical discussions, and continuous improvement initiatives.
Adopt and promote software engineering best practices across the team.
Required Qualifications
Must-Have Skills
Strong expertise in Python 3 development.
Deep understanding and hands-on experience with pytest frameworks.
Strong knowledge of Object-Oriented Programming (OOP) principles, including abstraction, encapsulation, inheritance, and interfaces.
Experience with concurrency concepts, including threading and multiprocessing .
Knowledge of network programming and protocols, including TCP, UDP, CAN, LIN, and Ethernet .
Experience working with messaging systems such as RabbitMQ and ZeroMQ .
Hands-on experience with relational databases ( MariaDB, PostgreSQL ) and NoSQL databases ( MongoDB ).
Personal Attributes
Passionate about software development and continuous learning.
Strong analytical and problem-solving skills with the ability to tackle complex technical challenges.
Detail-oriented with a focus on writing clean, maintainable, and high-quality code.
Collaborative team player who thrives in a cross-functional environment.
Curious, proactive, and eager to contribute to innovation and technical excellence.