N-able is seeking a Senior Python Developer to come join us on our exciting journey of growth! Our vision is to enable the digital evolution of small and medium size businesses. We believe that by putting our People, Partners and Products first that we will be able to continue the growth of our business.
We are seeking for a Senior Python Developer to join our team and work on N-able Backup product.
You are to work in the international team that develops Disaster Recovery services. Solution comprises RESTful microservices written in Python 3. We widely use type hinting, auto- and unit-tests, code review to increase code quality, dynamic REST features and JSON API specification to empower our API. Django and AIOHTTP are the major frameworks that are leveraged to build our services.
We deploy our solution to Amazon Kubernetes. Other AWS services like KMS, RDS, EC2, S3, etc are widely used as well. Several DB engines such as MySQL, SQLite and Amazon Aurora support our storage needs.
There is a web-based UI, developed in Angular, that allows managing thousands of backed-up devices, adjusting their configuration, displaying recovery statistics in a form of tables and charts. Our services act as a backend for that UI.
We are looking for a self-motivated, result-driven person with good communication skills and the ability to quickly learn and work under minimal supervision in a distributed team. You must be able to develop efficient, clean self-documented code and follow commonly used best coding practices.
- Review requirements, specifications and technical documents to provide timely and meaningful feedback
- Design and review architecture of complex features with multiple components
- Design and implement functional requirements
- Independently develop complex features through multiple software layers
- Communicate status to all the stakeholders. Discuss and escalate issues in a timely fashion
- Support the code by writing unit and auto-tests
- Work on application performance improvements and tuning
- Provide technical feedback and assistance on others' code and design
- Communicate with other teams and help to integrate others' code to a common solution
- Identify and address root cause of the issues, drive problems from their definition till successful completion
Prepare technical documentation
- Solid experience in Python 3 development, 3+ years
- Understanding of fundamental design principles behind a scalable application
- Understanding of the threading limitations of Python, and multi-process architecture
- Experience of developing of RESTful services, 2+ years
- Hands on experience with Python web frameworks like Django, AIOHTTP, etc., 2+ years
- Hands on experience with testing frameworks like pytest, unittest, PyUnit, etc.
- Understanding of the relational databases and SQL
- Hands on experience with message queues processing like RabbitMQ, Kafka, SQS, etc.
- Knowledge of containers concepts, Docker and Kubernetes
- Experience with modern CI/CD approaches and tools
- Knowledge of the object-relational mapping
- Ability to write quality-oriented, efficient code and support it with unit and auto-tests
Nice to have
- Familiarity with Amazon Web Services and/or Microsoft Azure
- Knowledge of other scripting languages: Bash, PowerShell
- C++ experience
Forward Together: Drive Innovation with N-able. N-able supports IT solutions providers with the performance, protection, and partnership to drive their clients and their business forward. N-able is the leading global provider of complete IT management and Automation solutions for Managed Service Providers (MSPs). Our award-winning product suite includes the industry’s #1 RMM Service Automation Platform and has a proven track record of helping MSPs standardize and automate the setup and delivery of IT services to achieve true scalability. We are passionate that the MSPs who use our products everyday should be excited about them. That's why we put our users first in everything we do and strive to deliver powerful functionality while making their jobs easier.