Lead Software Engineer - Python
Belgrade, Beograd, SerbiaProduct Engineering
Proudly voted a Great Place to Work®, we are a dynamic startup in the CPaaS (Communication Platform as a Service) space that is revolutionising the way businesses communicate. Our team is made up of 500 energetic and passionate Unifones who are dedicated to delivering the best possible experience to 5000+ customer-centric companies.
We pride ourselves on our fun and collaborative work environment, where creativity and new ideas are constantly encouraged. As shareholders in the business, we’re so much more than a group of passionate communicators. We are Unifones. Join our team and be a part of something big!
Meet the team!
Our Engineering team is responsible for designing, developing, and maintaining the systems and technologies that drive Unifonic’s solutions. We work closely with other departments to ensure our products and services meet the needs of our customers. If you are passionate about technology and are excited about working on cutting-edge communication and engagement solutions, we want you on our team.
As a Lead Software Engineer - Python, you will be focused on implementing enhancements, defining the architecture, developing new features, performing data analysis, and reporting key metrics for the company's communication platform with a focus on back-end distributed systems.
Help us shape the future of communication by:
Building and maintaining solutions that scale. Serving millions of users every day.
Writing clean, well-structured, and maintainable code that can be tested easily.
Supporting various teams with a technical vision in the core areas of interest for the company's products.
Supporting multi-cloud-based communication products, especially as an augmentation to the internal technology team and working with partners’ software development teams.
Working closely with service delivery teams to support product deployments to the cloud.
Driveing back-end architecture work, ensuring that as we scale our platform can scale with us.
Ability to perform basic database administration, performance optimization, index optimization, write advanced select queries, and replace cursor usage with relational SQL.
Collaborateing with product owners, scrum masters, and other developers to deliver a quality product using tools such as JIRA and Git.
What you'll bring:
Hands-on 7+ years of professional software engineering experience. Proficiency in programming in Python. Being able to convert code from Python2 to the latest version (considering best practices in mind).
Familiar with the tools like ArgoCD, Docker, ECR, Kubernetes, DroneCI, etc. The ability to work in a continuous delivery ecosystem.
Professional in building HTTP server using FastAPI, Web2Py, Twisted, and Flask.
Practical experience in queuing systems/Message Brokers like (RabbitMQ, SQS, etc.).
Professional in writing and understanding the code using object-oriented programming.
Experience with version control workflows with Git and an advocate of Continuous Integration.
Preferably good hands-on experience in SMPP (Experience in Kannel or any other SMS gateway is a plus).
Knowledge in telecommunications (SMSC, VOIP, SMPP, etc.).
Proficiency in a Linux environment and in consuming and designing RESTful APIs.
Hands-on experience with Redis, KeyDB, Cassandra, MySQL, and PostgreSQL.
Excellent knowledge of software development life-cycle. Experience in working with Agile teams.
Willing to apply business logic on development requirements in a creative manner. Also, strong problem-solving and analytical skills.
As a Unifone you’ll receive a range of benefits:
Competitive salary and bonus
Unifonic share scheme (we are all owners!)
30 holiday days after the first anniversary
Your Birthday off!
Spend up to 10 weeks per year working from anywhere in the world!
Paid leave and assistance for new parents
Linkedin learning license
Sign up for the latest Unifonic news, stories, webinars and more.