About the Role
Senior Software Engineer - Future Software Architect
What will be your tasks?
Design of systems architecture, applications and components;
research, evaluation and selection of technologies, components and frameworks;
creation of prototypes and solution frameworks,
agreement of architectural requirements and solutions,
analysis of the impact of the new architecture on existing processes and systems analysis,
estimation of workload,
supervision of the quality of implemented software solutions and their compliance with the architecture,
drafting specifications and technical documentation,
participating in the process of continual improvement of architecture and software development standards.
We expect from you:
higher technical education and a minimum of 7 years of experience in software development (programming or devops background) including at least 2 years of experience in designing information systems architecture,
ability to write clear and efficient code (preferred language: Python or willingness to learn),
experience in projects from architecture to implementation,
experience in designing applications running in private or public clouds (OpenStack, AWS, Google, Azure),
knowledge of distributed systems, scalability, computational complexity, high availability and system security,
ability to specify systems and produce clear technical documentation,
excellent communication and teamwork skills,
experience of working with databases (including relational databases),
knowledge of UML and/or BMPN 2.0 notation,
knowledge of and experience in designing solutions based on containerisation, CI/CD, SOA/microservices and their monitoring,
basic knowledge of computer networks
fluency in English.
Tech Stack
system architecturePythoncloud platformsOpenStackAWSAzureGoogle Clouddistributed systemsdatabasescontainerizationCI/CDmicroservicesSOAUMLBPMN