Description:
We are seeking a talented Python Developer with specialized experience in the SMPP (Short Message Peer-to-Peer) protocol to join our dynamic team. The ideal candidate should possess a strong background in SMS messaging, extensive experience with the python-SMPP library, and familiarity with JSMPP (Java SMPP). You will be responsible for developing and maintaining the backend of our messaging platform, ensuring high performance, scalability, and reliability.
Responsibilities:
- Craft and implement the architecture for the backend of our messaging platform, focusing on modularity, scalability, and maintainability.
- Integrate and manage SMS gateways using SMPP and JSMPP.
- Write clean, efficient, and well-documented Python code to develop backend services and utilize the python-SMPP library to handle SMPP protocol operations, ensuring robust message handling.
- Develop unit tests and perform thorough testing of the backend components to ensure reliability and performance and debug and resolve any issues that arise during the development and testing phases.
- Establish and manage SMPP connections to various SMS gateways.
- Implement logic for sending and receiving SMS messages through SMPP connections and ensure that messages are correctly formatted, encoded, and decoded according to SMPP specifications.
- Develop robust error-handling mechanisms to manage issues such as message delivery failures, connection timeouts, and protocol errors. Implement retry logic and fallback strategies to ensure high message delivery success rates.
- Design and implement solutions to scale the messaging platform to handle increasing volumes of SMS traffic.
- Conduct load testing and performance benchmarking to identify bottlenecks optimize system performance and use tools and techniques to simulate high-traffic scenarios and ensure the platform can handle peak loads.
- Monitor and manage system resources, such as CPU, memory, and network bandwidth, to ensure efficient utilization and prevent resource exhaustion.
- Investigate and diagnose issues related to SMPP connections, message delivery, and backend performance and use logging, monitoring, and debugging tools to identify root causes and implement fixes.
- Respond to incidents and outages promptly, working to restore service and minimize downtime and conduct post-incident analysis to identify improvements and prevent recurrence.
- Proactively identify areas for improvement in the backend systems and SMPP integrations. Implement enhancements and optimizations to improve reliability, performance, and maintainability.
Requirements:
- Proficiency in Python programming.
- Strong understanding of the SMPP protocol and experience with SMPP client and server implementations.
- Utilize JSMPP (Java SMPP) for additional integration and functionality.
- Expertise in HTML, CSS, JavaScript
- Experience with RESTful APIs and web services.
- Proficiency in JSMPP (Java SMPP) and its applications in SMS messaging.
- Spring Framework (Spring Boot, Spring MVC, Spring Security, Spring Data)
- Familiarity with message queuing systems and databases (e.g., RabbitMQ, Redis, MySQL).
- Excellent problem-solving skills and the ability to troubleshoot complex issues related to messaging systems.
- Hands-on experience with Object-Oriented Programming (OOP) concepts
- Proficiency with Data Types, Variables, and Operators
- Strong verbal and written communication skills, with the ability to explain technical concepts to non-technical stakeholders.
- Ability to work effectively in a collaborative team environment.
- In-depth knowledge of SMS messaging protocols and standards.
- Experience with cloud platforms (e.g., AWS, Google Cloud) and containerization (e.g., Docker, Kubernetes).
- Understanding of security best practices in messaging systems.
- Experience working in an Agile development environment.
- Must have strong knowledge of python SMPP library and twisted framework.