You are on the global GfK website. Visit our local website for more offerings and information in your country.

Senior Software Engineer

Country

Malaysia

Job Family

Technology

At GfK, we are on a mission to drive sustainable growth for our people, our clients, and the world around us. We combine prescriptive insights and consulting expertise to analyze, explain and predict what is happening in today’s fast-changing world.

Our employees, the shapers of tomorrow, are empowered to bring new bold ideas to life by connecting unique datasets, science, and digital research. We encourage innovation and offer global career and fast development opportunities. This is why the world’s largest companies and leading brands know GfK as their trusted partner.

Job Description

As a Software Engineer with GfK based in our Kuala Lumpur office you will be provided with a great opportunity to work as part of a cross functional agile team of technologist across two core products within the GfK product ecosystem.  Whether it be as part of the “Data in” Team or our Retail Scout division you will get the opportunity to not only to hone your craft as a software engineer working primarily on the back end with Java but also to learn or brush up on modern DevOps tooling such as Docker and Kubernetes whilst gaining exposure to GCP.  

We are looking for you, a software engineer well versed in Java who Is passionate about building great products and is excited about the opportunity to work in a big data environment.

As a Senior Software Engineer, you will have key accountabilities to:

  • Work with the architects and an Agile team to influence the overall system architecture and performance goals.

  • Ensure timely delivery of software projects while maintaining the quality.

  • Ensure high software quality by writing unit and integration tests in TDD approach.

  • Identify and address application and data issues that affect application integrity.

  • Fix any defects and performance problems discovered in testing.

  • Suggest initiatives (e.g. training) that improve working efficiency and quality.

  • Actively contributing in agile practices, such as estimating and planning.

  • Communicate well with team members

  • Documenting technical effort from time to time

Our people in our teams are the most important, so we are looking for individuals who have the following:

Mandatory Technology tech stack:

  • Java 8 & 11

  • Java EE

  • Data manipulation experience

    • SQL – Postgres/ MySql

    • ETL experience

    • A queue or workflow system: Kafka /  RabbitMQ / ActiveMQ / Pubsubs / Airflow

  • Spring Framework

    • Springboot

    • RESTful API

    • Microservices

    • Spring security

  • Containerisation

    • Docker

    • K8

  • AssertJ

  • Logback

  • A monitoring and alerting tool set

  • Gradle – Groovy/ POM – xml

Ideal

  • CI/CD – Docker, Kubernetes

  • GCloud

    • A Cloud Queue system e.g. Google Cloud Tasks/ Pub/Sub

Nice to have

  • Spring AOP

Our current stack

  • Typescript, Node.js, React, Java, Spring, SQL, GCP, Spring boot, Microservices, Dockers, Kubernetes, Helm charts, Google Cloud

  • We integrate with: Auth0, OPA, Amplitude, Gainsight, Hotjar, Azure Active Directory/ AzureB2C

Theory:

  • Full vocabulary of core creational, structural and behavioral software design patterns, and the ability to consistently employ the cache, pool, strategy, chain of responsibility, observer and visitor patterns as appropriate

  • Good understanding of software concurrency theory, and the ability to control concurrency and ensure functional correctness of applications through the use of synchronisation primitives, concurrency patterns and transactions (lock, semaphore, monitor, promise, future, etc.)

  • The ability to design and implement an entire application from scratch

  • The ability to effectively manage code complexity in a large code base through the appropriate application of software architecture principles (layering, modularisation, etc.) and software design patterns

  • The ability to understand large codebases (a monolith or several smaller applications)

  • In depth understanding of core software engineering principles and the ability to apply them consistently

  • Understand SOA and associated principles and be able to implement SOA with REST HTTP + JSON

Software development processes:

  • The ability to work from ambiguous requirements, uncover implied and missing requirements, find boundary conditions

  • Thorough understanding of the SDLC awareness of the work involved in every phase even phases not heavy on software engineering tasks

Software development tools:

  • Thorough understanding of CI principles

  • The ability to implement CI pipelines from scratch

  • The ability to spot shortcomings of tooling and enhance automation and process adherence through enhancing tooling

Technologies and standards:

  • In depth understanding of the core frameworks and technologies mentioned above

  • Detailed knowledge about important persistence mechanisms not only about data access but implementation details and operational capabilities of each mechanism

  • Understanding of application packaging and delivery mechanisms

Don't meet every single requirement? Some people are less likely to apply unless they meet all the requirements listed in a job specification. GfK is looking for self-starters to join our innovative team keen to take on a new challenge. So, if you're excited about this role but your skills and experience don't align perfectly with every requirement we've listed, we still encourage you to apply. You may be just the right candidate for this or other roles.

We are an ethical and honest company that is wholly committed to its clients and employees. We are proud to be an inclusive workplace for all and are committed to equal opportunity in employment which focuses on all of our employees reaching their full potential. We are looking forward to meeting you!

Posted: 17 days ago

City: Kuala Lumpur

Work Area: Technology

Job Time: Full Time

Requisition ID: R00018695