Position: Senior Python Developer
Company: Ciklum
Experience required: 3y
English level: intermediate

**About the Project:**

Our revolutionary software platform (www.synthace.com/platform/) lowers the level of entry for scientists to introduce automation to their work, while allowing specialist technicians to get even more out of the existing equipment in the labs. It is directly contributing to faster, more efficient research into hard to cure diseases such as Cancer. If social impact and knowing your work is having a positive impact on the world is important to you, it doesn’t get much better than this.

Synthace allows scientists to design biological experiments, simulate them, translate instructions for robotic lab equipment, and visualise complex data sets from the results. As you can imagine, there are a wide range of technical challenges that we are addressing, and the work is rewarding.
Clients already include the likes of Astra-Zeneca, Oxford Biomedica, Ipsen, Merck and GSK, and we have ambitious plans to grow our customer base this year.

**Responsibilities**
You’ll be working within a tight-knit, friendly and collaborative development team on exciting projects with plenty of technical challenges to get your teeth into.
You won’t find any micro-management here – we’re all about trust, enablement and personal ownership. We give you space and autonomy to solve complex problems, while offering support if/when needed.
We have a clear company vision, and we’re building a strategy and roadmap to go around this. Everyone knows how their work directly impacts the goals we’re working towards, and everyone’s voice is heard.
Followers of best practice will fit in well, but pragmatism is key. We generally take the approach of using the right tool for the job rather than being fixed to any one particular way of doing things.

**Requirements**
•	Experience in software development for more than 3 years
•	Good to know Go / Typescript
•	Strong knowledge in Computer Science, Computing Theory:
o	Paradigm & Principles (OOP, SOLID)
o	Database theory (RDBMS)
o	Code testing practices
o	Algorithms
o	Data structures
o	Design Patterns
•	Understanding of network interactions:
o	Protocols
o	Conventions (e.g. REST, RPC)
o	GraphQL
o	Authentication and authorization flows
o	Standards and practices (e.g. oAuth, JWT)
•	GoogleCloud Knowledge
•	Strong knowledge and experience in Python (more than 2 years);
o	Struct module
o	Data structures and data processing algorithms
o	Pandas
o	Numpy / scypy / matplotlib / bokeh
•	Practical commercial experience with:
o	Designing, building, testing, and maintaining APIs and services
o	Web application frameworks (e.g. Flask, Falcon, Django, aiohttp) (more than 1 year)
o	Testing frameworks (e.g. e.g. pyTest, unittest)
o	ORM (e.g. SQLAlchemy) (more than 1 year)
o	RDBMS (e.g PostgreSQL, MySQL/MariaDB, MS SQL) (more than 1 year)
o	Web Servers
o	Version control systems (GIT)
o	Docker
o	Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
o	Builders;
•	Experience with:
o	Agile software processes and technologies
o	Code Review process
o	Refactoring process
•	Upper-Intermediate English

**Desirable**
•	Knowledge in:
o	TDD, BDD
o	Deployment patterns
•	Experience with:
o	Troubleshooting, profiling and debugging applications
•	Practical commercial experience with:
o	Key-value storages (e.g. Redis, Memcached)
o	Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, Azure)
o	Integration with 3rd party solutions
o	NoSQL (e.g. MongoDB, ElasticSearch, CouchDB)
o	Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
o	Docker, Kubernetes

**Personal skills**
•	Good team player, motivated to develop and solve complex tasks
•	Strong communication and problem-solving skills
•	Self-motivated, self-disciplined and result-oriented
•	Willing to improve professional knowledge

**What's in it for you**
•	Career growth opportunities
•	Realization of your innovative ideas in building new solutions and services
•	Possibility to propose solutions on a project
•	Friendly collaborative teams and enjoyable working environment
•	Professional skills development and training programs
•	Variety of knowledge sharing, training and self-development opportunities
•	Learn different business domains
•	Constant flow of new projects
•	Dynamic and challenging tasks
•	Projects from scratch
•	Continuous self-improvement
•	State of the art, cool, centrally located offices with warm atmosphere which creates really good working conditions
•	Long-term employment with 20 working-days paid vacation and other social benefits