At Nielsen, we are passionate about our work to power a better media future for all people by providing powerful insights that drive client decisions and deliver extraordinary results. Our talented, global workforce is dedicated to capturing audience engagement with content - wherever and whenever it’s consumed. Together, we are proudly rooted in our deep legacy as we stand at the forefront of the media revolution. When you join Nielsen, you will join a dynamic team committed to excellence, perseverance, and the ambition to make an impact together. We champion you, because when you succeed, we do too. We enable your best to power our future.
About the role
This role will be part of a team that develops software that runs on over 100k computers worldwide, measuring panelists activities as they surf the Internet. Using a software meter that is optimized to be unintrusive to the user, yet able to gather many biometric data points and send them back to a collection system that runs in the Cloud.
The Principal Software Engineer is ultimately responsible for delivering technical solutions: starting from the project's onboard until post launch support and including design, development, testing. It is expected to coordinate, support and work with multiple delocalized project teams in multiple regions. As the Principal Software Engineer in our Collection and Crediting team, you will lead the development efforts for the backend collection and crediting system that processes massive amounts of data every hour 24x7. Your role will involve designing, implementing, and maintaining robust, scalable solutions that leverages a Java based system that runs in an AWS and on-prem environments. You will play a key role in shaping the technical direction of our projects and mentoring other team members.
Responsibilities
System Deployment:
Conceive, design and build new features for the Collection and/or Crediting systems, ensuring data accuracy and data throughput across a system deployed in multiple countries and data centers.
Collaborate with Product Leaders to define business rules to be implemented in the crediting system - at times very complex rules that need to be validated via proof of concepts
CI/CD Implementation:
Design and implement CI/CD pipelines for automated build, test, and deployment processes.
Ensure continuous integration and delivery of features, improvements, and bug fixes.
Create design blueprints that can be used by others
Code Quality and Best Practices:
Define and enforce coding standards, best practices, and design principles.
Conduct code reviews and provide constructive feedback to maintain high code quality.
Performance Optimization:
Identify and address performance bottlenecks in both collection and crediting components.
Evaluate new technologies for integration into the production environment
Mentorship and Collaboration:
Provide day-to-day work direction to other developers on the team
Mentor junior engineers, providing guidance on technical aspects and best practices.
Collaborate with cross-functional teams to ensure a cohesive and unified approach to software development.
Security and Compliance:
Implement security best practices for both client and upload components.
Ensure compliance with industry standards and regulations related to application security.
Key skills
Bachelor's or Master’s degree in Computer Science, Software Engineering, or a related field.
Proven experience, minimum 12 years, in Java based systems, that span traditional on-prem/server and AWS serverless environments, utilizing tools such as: Kafka, SQS, Spring, Oracle/RDS/SQL, JSON, S3, EKS, EMR, Java, Python, Lambda, Athena, Go-Lang, Prometheus, & Grafana
Expert understanding of CI/CD principles and tools. GitLab a plus
Excellent problem-solving and debugging skills.
Leadership experience, minimum 4 years, in guiding technical decisions and mentoring team members.
Strong communication and collaboration skills with ability to communicate complex technical concepts and align organization on decisions
Excellent problem-solving skills with the ability to quickly process complex information and present it clearly and simply
Able to innovative solutions as an individual or within a group
Other desirable skills
Knowledge of networking principles and security best practices.
Experience with Data Lakes, Spark and Redis a plus