Principal Software Engineer – R&D

October 11, 2021

Apply for this job

Email *

Job Description

  • The Principal Software Engineer handles the most complex software cases, designing, developing, testing and releasing quality software, taking into account industry-level development and documentation practices.
  • As a software engineer, you will be working in a team of mixed skills professionals (business analysts, system integration, QA, Ops teams) on innovative solutions for OSS/BSS.
  • You will investigate issues by reviewing/debugging code, providing fixes and reviewing changes for operability to maintain existing software solutions.
  • You will engage in design sessions with multi-disciplinary teams aimed at shaping the future of our systems.
  • You will work in cross-organizational assignments that will include interacting with the Professional Services and Sales teams.

What will you do?

  • 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.

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, NoSQL Engines.
  • 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.
  • Knowledge of 3GPP standards, 3G, 4G Architecture and Technologies.