Position: Senior Software Engineer: Python, AWS, Postgres
Company: Castlerock Consulting
Category: Python
Experience required: 3y
English level: intermediate
Published: 2021-01-01T00:00:00+02:00

Key Tasks and Duties
• Contribution to the delivery of product, solution roadmaps and data analytics solutions to customers.
• Writing well designed, testable, efficient code and integrating software components into a fully functional system.
• Working with clients to determine requirements, understand their data, create specifications and architectures, understand usage, and run acceptance testing.
• Managing and integrating customer and third-party data from variety of sources.
• Working with colleagues to design new systems, develop existing technology, or test theoretical designs.
• Reviewing other colleagues’ code and providing structured feedback.
• Writing specifications, test plans and technical reports and determining operational feasibility.
• Researching and implementing existing analytics algorithms or developing new ones to solve customer problems.
• Mentoring of junior engineering staff (permanent and intern).
• Following defined development processes and complying with project plans and industry standards.
• Keeping up to date with developments in technologies and regulations.
• Support clients through delivery, hand-over, and into support in line with agreed SLAs
• Attending meetings and events at client sites in Europe and Internationally.
• Any other duties as may be reasonably requested from time to time.
The responsibilities highlighted in this job description are indicative and may vary over time. Post holders are expected to undertake other duties and responsibilities relevant to the nature, level and extent of the post.

Required Behaviours, Skills and Competencies
• Has a keen interest in technology and actively increases their technical knowledge.
• Strong understanding of fundamental data structures, algorithm design, problem solving and complexity analysis.
• Is proactive about innovation and continuous improvement and encouraging to others.
• Is driven and enthusiastic and works well in a dynamic environment.
• Is empathetic to customer needs and provides them with the right solution to their challenges.
• Excellent communication and interpersonal skills, using the correct level of communication for a given audience.
• Able to independently research and solve problems and develop new solutions.
• Works to timelines and establishes plans with measurable milestones.
• Anticipates and adjusts for problems and roadblocks, taking responsibility for commitments.

Required Experience
• Experience in using modern software development practices and technologies including cloud native architectures; continuous integration, deployment, and release; automated testing and quality assurance; iterative product development.
• Experience of back-end application server design, data modelling, architecting and implementation using PostgreSQL or equivalent.
• Experience developing applications using Python and SQL.
• Experience with SQL tuning and query optimisation.
• Experience of collaborative software development using version control preferably GIT.
• Experience with GNU/Linux ecosystem.

Desirable Experience
• Experience with PL/pgSQL or Rust.
• Experience using container technology such as Docker or Kubernetes.
• Experience using machine learning within production systems.
• Experience implementing graph databases and performing graph analysis.
• Demonstrable data analytics project development or delivery experience.
• Experience with designing cloud-based data solutions or products including using object stores (S3),
containerised services (ECS/EKS), managed database systems (RDS), FaaS (Lambda), authorisation
(Cognito), and serving web-applications.
• Experience in implementing scalable and fault tolerant solution architectures.
• Experience in developing a SaaS product.
• MSc or PhD in science or engineering related discipline
• Superior proactive problem solving and troubleshooting skills.
• Exceptional project management and organisation skills.

Company
Client company are specialists in data integration, machine learning, AI, in-depth analytics and visualisations. Company offers complete end-to-end solution capability leveraging connected technology and data analysis to deliver better insights and outcomes for customers. 

Benefits
You will be joining a dynamic and innovative company at an exciting time in its growth. In addition to a competitive salary, we offer:
• Flexible holidays and annual leave in accordance with Ukrainian legislation.(including public holidays).
• Up to 10 days annually of additional unpaid leave.
• Flexible working around core hours.
• Pension scheme.
• Choice of private health insurance scheme or gym membership.
• Opportunities to invest in your development, be it courses, books, exams or conferences.
• Support for personal charitable time.
• Weekly knowledge sharing presentations and regular company outings.
• Monthly acknowledgement of outstanding staff and regular celebrations of company success.