Position: Python Developer - AI/LLM Team
Company: Aniline
Category: Python
Experience required: 5y
English level: intermediate

We are seeking **a highly skilled Python Developer with a strong background in algorithmic and data processing** to join our core Data Science and Machine Learning (ML) team. As a Senior Software Engineer, you will play a pivotal role in designing, developing, coding, testing, and debugging new software solutions or significant enhancements to existing software in the field of AI/LLMs (Text generation, Text Processing, chatbots), data mining, tabular data processing, and statistics.

**Responsibilities:**
 - Collaborate within a team environment to develop solutions across various disciplines, ensuring the delivery of high-quality software solutions.
 - Take ownership of producing and documenting system requirements, effectively communicating and explaining complex solutions to both technical and non-technical stakeholders.
 - Foster cross-functional collaboration, actively participating in discussions, and promoting a culture of continuous improvement.
 - Contribute to the optimization and improvement of production processes, driving operational efficiency and engineering capabilities.

**Requirements:**
 - Proficiency in core Python programming and a strong understanding of algorithms and data structures.
 - Experience with parallelization and concurrency techniques such as multiprocessing and asynchronous programming.
 - Familiarity with data processing libraries such as pandas, polars, and SQL.
 - Solid debugging skills to identify and resolve issues efficiently.
 - Nice-to-have: Knowledge of scikit-learn for machine learning tasks, experience with any visualization tools, ability to communicate effectively with ML engineers and data scientists, familiarity with GCP (Google Cloud Platform), experience with memcached, and Docker.

**Your Duties:**
 - Collaborate with Data Scientists to assist with data engineering, optimization, and the productization of models and algorithms.
 - Continuously improve latency reduction, cost efficiency, storage optimization, profiling, and scaling techniques.
 - Embrace a bottom-up approach, focusing on perfecting solutions on a single machine before scaling them.

We are looking for individuals who are passionate about programming, algorithms, and complex systems. If you thrive on solving challenges and delivering high-quality results, we would be delighted to welcome you to our dynamic team.