Software Engineer - Telecom Domain Expert
We are seeking a highly skilled Software Engineer with expertise in telecommunications domain to join our dynamic team. The ideal candidate will be responsible for designing, developing, and deploying robust software solutions using Python, API development, containerization technologies like Docker, database systems, workflow management tools, data streaming platforms, in-memory data stores, and visualization platforms.
Key Responsibilities:
* Design and develop scalable and reliable software applications and APIs using Python.
* Develop and integrate RESTful and other API interfaces for seamless communication between various systems.
* Utilize Docker for containerizing and deploying applications in a consistent and efficient manner.
* Work with database systems such as MySQL and VictoriaMetrics for data storage, retrieval, and analysis.
* Design and implement data pipelines and workflows using Airflow for automation and orchestration.
* Implement and manage data streaming solutions using Kafka for real-time data processing.
* Utilize Redis for caching and other in-memory data storage solutions to enhance application performance.
* Develop and maintain dashboards and visualizations using Grafana to monitor system performance and key metrics.
Requirements:
* 5 + years of professional software development experience.
* Strong proficiency in Python development.
* Proficiency in Linux/Unix environments
* Familiarity with scripting languages like Bash or Perl
* Working knowledge of the telecommunications OSS domain and its core concepts.
* Solid experience in designing and developing APIs (RESTful, etc.).
* Hands-on experience with Docker for containerization and orchestration.
* Good understanding of database concepts and practical experience with MySQL.
* Experience with time-series databases, preferably VictoriaMetrics.
* Familiarity with workflow management and orchestration tools, ideally Airflow.
* Experience with message queuing and stream processing platforms like Kafka.
* Experience with in-memory data stores like Redis for caching and other use cases.
* Experience in creating dashboards and visualizations using Grafana.
* Experience with version control systems (e.g., Git).
* Strong problem-solving and analytical skills.
* Excellent communication and collaboration skills.
* Ability to work independently and as part of a team.
Preferred Qualifications:
* Experience in front-end technologies, preferably Reactjs.
* Experience with other programming languages (e.g., Go, Java).
* Knowledge of other containerization technologies (e.g., Docker).
* Experience with other database systems (e.g., MySQL).
* Familiarity with monitoring and logging tools (e.g., Prometheus).
* Experience with cloud platforms (e.g., AWS, Azure, GCP).
* Understanding of telecom protocols and architectures.