Position: Principal Software Engineer (Java)/Optiva
Company: Zimad
Category: Java
Experience required: 5y
English level: upper

What will you do?
Job duties

●	Design and develop software solutions by studying information needs; checking with users; studying systems flow, data usage and work processes; investigating problem areas; following the software development lifecycle;
●	Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions;
●	Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code;
●	Prepare and install solutions by determining and designing system specifications, standards and programming;
●	Improve operations by conducting systems analysis; recommending changes in policies and procedures
●	Update job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations;
●	Protect operations by keeping information confidential;
●	Provide information by collecting, analyzing and summarizing development and service issues;
●	Accomplish engineering and organization mission by completing related results as needed;
●	Support and develop software engineers by providing advice, coaching and educational opportunities;
●	Mentor all levels of engineers;
●	First and foremost, developing software our users need;
●	Collaborate with team to brainstorm and create new products;
●	Grow engineering teams by interviewing, recruiting and hiring;
●	Make informed decisions quickly and taking ownership of services and applications at scale;
●	Work collaboratively with others to achieve goals;
●	Be a persistent, creative problem solver;
●	Remain cool and effective in a crisis;
●	Stay on the leading edge of development practices;
●	Passionate about great technologies, especially open source;
●	Understand business needs and know how to create the tools to manage them;

What do you need to succeed?

Mandatory Qualifications:
●	More than 10 years developing software using Java (Spring/Spring Boot, Microservice architectures, REST) or .NET (Dynamics CRM experience would be a plus);
●	Experience working with Cloud solutions (GCP, AWS, or Azure) and Containers (Kubernetes, Docker);
●	Experience designing the software architecture of mission-critical enterprise systems.
●	Should possess excellent debugging skills, should be able to analyse threads dumps, GC, Memory leaks.
●	DB Knowledge: Oracle, MySQL, PostgreSQL, Redis;
●	Unit and Integration tests experience;
●	Excellent OOP skills;
●	Experience working with CICD, GIT, Jira, Jenkins;
●	Excellent communication in English;
●	Knowledge of Agile methodology;
●	Very good soft skills, Teamwork and adaptability to challenges;
 Optional Qualifications:
●	Experience in Telecom solutions (Protocol Handlers, OSS, BSS, Billing, Charging, CDR Mediation) would be a plus;
●	Experience with Optiva Unified Charing Application (Flex Logic, IPD, ngOM, CAF, etc.)
●	Knowledge of 3GPP standards, 3G, 4G Architecture and Technologies