Country Malaysia
Job Family Technology
For almost 90 years, GfK has been a reliable and trusted insight partner for the world\xe2\x80\x99s biggest companies and leading brands who make a difference in every consumer\xe2\x80\x99s life - and we will continue to build on this. We connect data, science and innovative digital research solutions to provide answers for key business questions around consumers, markets, ROI, brands and media. With our headquarters in Germany and a presence in around 60 countries worldwide, you benefit from our global company with a diverse community of 8,000+ employees.
Harnessing the power of our workforce, the greatest asset we have is our people. As part of GfK, you can take your future into your own hands. We value talent, skills and responsibility and will support your development within our international teams. We are proud of our heritage and our future, as we continue our evolution from Market Research provider to SaaS data solutions and consulting partner. We value extraordinary people and this is why we are looking for YOU to help create our future. For our employees as well as for our clients we pursue one goal: Growth from Knowledge!
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 \xe2\x80\x9cData in\xe2\x80\x9d 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 \xe2\x80\x93 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 \xe2\x80\x93 Groovy/ POM \xe2\x80\x93 xml
Ideal
CI/CD \xe2\x80\x93 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
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 employment opportunity, focusing on all of our employees reaching their full potential.
We respect and value every employee regardless of race, ethnicity, gender, sex, sexual orientation, age, personality, experience, culture, faith, socio-economic status, or physical or mental disabilities.
We endorse the core principles and rights set forth in the United Nations Declaration of Human Rights and the Social Charter of Fundamental Rights of the European Union, promoting the universal values of human dignity, freedom, equality, and solidarity.
Learn more about how we are driving diversity and inclusion in everything we do on:
At GfK we work collaboratively with our colleagues but offer a flexible working approach, including dividing our time between office & remote working as well as the opportunity to flex our working hours around team core hours.
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.
MNCJobz.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.