Python developer with a strong passion for music?
That's what BMAT Music Innovators is looking for.
Even more so if you're based in Barcelona and enjoy the flexibility of remote work while having the option to meet your colleagues in person. However, being based anywhere in Spain or Italy is also perfectly fine.
Experience with Python is required. We're not looking for someone just starting out.
As a Senior Software Engineer, you will play a crucial role in BMAT, supporting a software team in achieving its objectives. Your contributions will directly influence/impact BMAT top of mind goals, making you an integral part of our team.
Recruitment agencies: we kindly request that you refrain from reaching out, as we are not seeking your services at this time. Thank you.
Our stack
-
Backend: Python3 and Fast API
-
Data Layer: PostgreSQL (via SQLAlchemy), MongoDB (via PyMongo), and Elasticsearch.
-
DevOps & CI/CD: Bitbucket Pipelines.
-
Deployment: Containerised applications using Docker.
-
Cloud: Infrastructure hosted on AWS.
Key Responsibilities
-
Take ownership of the technical design, implementation and deployment of complex features and system components.
-
Collaborate with cross-functional teams to define, design, and ship new features.
-
Troubleshoot and debug applications to optimise performance and ensure reliability.
-
Lead code reviews to maintain code quality and share knowledge.
-
Stay up-to-date with emerging technologies and industry trends.
-
Contribute to the continuous improvement of the development process and methodologies.
-
Contribute to break down high-level architectural visions into actionable implementation plans
-
Identify tasks while balancing system and infrastructure maintenance, migration costs, and their operational impact.
-
Align software and systems to overall technical strategy, making tradeoffs where appropriate in consultation with other engineers.
Expectations of the role (ONLY FOR NEW POSITIONS)
Within 30 Days:
During the first month, your primary focus will be on familiarizing yourself with essential aspects of the role, our core codebases, and systems context
Onboarding and Training:
-
Complete the company’s onboarding program.
-
Familiarize yourself with the company’s mission, values, and development process.
-
Understand the tools, technologies, and frameworks used by the development team.
Team Integration:
-
Meet team members and key stakeholders.
-
Participate in team meetings and Agile ceremonies (e.g., daily stand-ups, sprint planning).
-
Start building relationships with your colleagues.
Initial Contributions:
-
Review existing codebases and documentation.
-
Pair with Tech Lead and other team members to understand our domain complexities and push your first production feature.
Within 60 Days:
By the second month, you'll be expected to take on more complex responsibilities and actively contribute to team/project/strategic initiatives.
Active Participation:
-
Take independent ownership of complex tasks and feature implementations within the sprint. Lead internal technical design discussions for upcoming features, collaborating with the Tech Lead on system trade-offs
-
Lead code reviews for the team, providing constructive and high-quality feedback to elevate overall code quality.
-
Contribute to team discussions and planning sessions.
Skill Development:
-
Continue to learn and adapt to the development environment and tools.
-
Explore and identify opportunities for improvement within the codebase and offer expertise.
Collaboration:
-
Work closely with other team members to understand project requirements and deliverables.
-
Collaborate with cross-functional teams (e.g., QA, Product Management) to ensure seamless project execution.
Within 90 Days:
At the end of the probationary period, you'll be expected to autonomously manage tasks, contribute to technical planning, and take the lead of a complex delivery.
Independent Contribution:
-
Demonstrate the ability to independently handle and complete assigned projects and tasks.
-
Show proficiency in the primary technologies and frameworks used by the team.
-
Deliver high-quality, well-documented, and tested code.
Process Improvement:
-
Identify and suggest improvements to existing processes and workflows.
-
Participate in retrospectives and provide constructive feedback to help the team improve.
Establishing a Role:
-
Establish yourself as a reliable and integral part of the development team.
-
Take ownership of specific components or features of the project.
-
Proactively mentor and support junior/mid level team members, sharing expertise, knowledge and best practices.
Requirements
-
5+ years of proven experience as a Python Engineer delivering production ready features autonomously.
-
Proven experience working with large datasets and handling large files at scale.
-
Experience with asynchronous systems, batch processing, or event-triggered workflows is a plus.
-
Experience in Python.
-
Experience with web development frameworks (e.g., Django, Flask, FastAPI) is a plus.
-
Strong problem-solving skills and attention to detail.
-
Ability to effectively communicate with team members, stakeholders, and external partners.
-
Ability to prioritize tasks and manage multiple responsibilities effectively.
-
Proactive attitude with a willingness to learn and take initiative.
-
Demonstrate adaptability and openness to feedback and learning opportunities.
-
Collaborative team player with the ability to work effectively in a fast-paced environment.
Interview Process
-
Screening call with the People team
-
Live Coding Challenges
-
Interview with the team manager and part of the team to discuss the project
Benefits
You Can Enjoy
- Flexible working hours and location
- Flat hierarchy
- You can make the role your own and run your own development
- Online language classes to improve your Spanish or English
- Online and onsite courses and music industry workshops run by inhouse experts
- We’ll provide you with all equipment needed for you to be comfortable
- Unlimited time off because we believe that you know best when you need to rest.
- Barcelona HQ office available to you, kitted out with a rehearsal room https://www.bmat.com/bmat-house/
Who the FAQ are BMAT
BMAT started in 2005 when a group of engineers with a passion for music decided to spin-off from an audio research lab in Barcelona. We’re now over 250 people, spread across Barcelona, Buenos Aires, Lima, Rio de Janeiro, London, Paris, New Jersey, Oslo, LA, Singapore, Tokyo, Manila, Bangkok and Lagos.
We’re a team of pretty decent people who enjoy working with each other. We’re open-minded and well-traveled, coming from all parts of the world. We’ve got rappers, producers, cello players, DJs, and songwriters. The passion for music and the excitement for innovative technology have proven to make a good combination.
BMAT has grown as a company of companies. Within BMAT there are a number of products and services that developed semi autonomously for different players – Digital Service Providers, Publishers and Collective Management Organisations.
Diverse perspectives drive innovation, and innovation is kind of our thing. Our open-minded and flexible culture organically fosters this diversity. We've learnt that we thrive on learning from each other, so we don't just welcome but actively hire a range of open-minded people from all walks of life. Our team is made up of people with different backgrounds, perspectives, orientations, abilities, musical tastes, dress sense and time-zones - but we all have one common goal: Making the music world a better place. With equal opportunities for everyone, BMAT is a pretty nice place to work.