Position: Python developer
Company: SDA Company
Experience required: 3y
English level: intermediate

We are interested in an energetic, self-driven software developer with an interest and ability to gather data off the internet. This role will largely be remote while working with an international team and reporting to management and technology leads. Your primary focus will be to maintain our range of scrapers and maintain them to keep them operational.

**Engagement**: 20-30 hours/week

No particular degree is required, although you are required to have expertise in the following areas **in order of importance**:
- Min 4 years programming experience with Python, bonus for applications that involve scraping web content.
- Knowledge of HTML, CSS, and JavaScript for the purposes of scraping web content across a range of internet destinations and chat networks.
- Ability to interface with different APIs (REST, JSON,XML) and understand the API documentation on your own without assistance.
- Strong data profiling, cleaning, and mining.
- Ability to troubleshoot, debug and upgrade existing databases or software to improve functionality based off of user feedback 
- Knowledge of security and data protection solutions 
- Experience developing software with a team and using Github and git.
- Knowledge of Python libraries such as Requests and BeautifulSoup.
- Experience with a Python scraping library such as Scrapy or an equivalent.
- Experience with web scraping tools such as Selenium, Urllib, Pandas or an equivalent.
- 2+ years of experience with big data technologies - Hadoop (Pig, Hive), noSQL/SQL databases, parallel processing techniques and Apache Spark
- Experience with Docker and ability to create and deploy python optimized Docker containers. 

In addition to the requirements listed, if you have experience in any of the following it **will be a huge bonus**.
- Understanding of databases and SQL, able to create a database schema and write queries that can be used to store and retrieve the scraped data.
- Knowledge of graph database structures, especially converting existing RDBMS to graph schema.
- Knowledge of graph data E.g. languages like opencypher or python-igraph to apply network analysis to unstructured data. We are open to your graph experience and interest, let’s chat!
Creating technical documentation for reference and reporting.