Jobs and Careers
PN
Software Engineer Lead - Java/Kafka/Apache
PNCTwo PNC Plaza (PA374), United States, United Statesfull_timeVerifiedPosted 2 Jun 2025
💰 $158,700/yr($55,000/yr – $158,700/yr)
About the role
Position Overview
At PNC, our people are our greatest differentiator and competitive advantage in the markets we serve. We are all united in delivering the best experience for our customers. We work together each day to foster an inclusive workplace culture where all of our employees feel respected, valued and have an opportunity to contribute to the company’s success. As a Software Engineer Lead within PNC's Retail Technology Event Streaming organization, you will be based in Pittsburgh, PA, Strongsville, OH, or Dallas, TX. The position is primarily based in a PNC location. Responsibilities require time in the office or in the field on a regular basis. Some responsibilities may be performed remotely, at the manager’s discretion.As a Software Engineer Principal, you will work on our Data Streaming Platform (DSP). In this position, you will be responsible for making sure that data is uploaded properly to the DSP and available as soon as it’s sent. You will develop tools and processes that will enhance availability, as well as optimize the streaming apps, APIs, SQL, etc. Additionally, you will work with our technology partners to perform upgrades to various underlying platforms, as well as work with the business and development teams that are adding data and functionality that requires DSP work. As a Software Engineer Lead, you will also be responsible for serving as a mentor for other members of the team. This role is one of the most critical roles on the Data Streaming Platform team. The ability to build Java applications for data pipelines using Kafka, and Oracle is essential to the platform.
Due to the nature of the position, we are seeking candidates with the following experience:
- Core Java Skills
- Strong understanding of Java
Apache Kafka Basics:
- Understanding of Kafka architecture (brokers, partitions, topics, producers, consumers)
- Experience with Kafka Producers and Consumers using the Kafka Java client
- Knowledge of Kafka topic configurations (retention, replication, partitioning)
- Understanding of the Kafka Streams
Distributed Processing Concepts:
- Familiarity with event-driven architecture
- Knowledge of exactly-once processing vs at-least-once processing
- Understanding of stream-table duality (Kafka Streams vs. KTables)
- Schema Management
- Experience with Avro, Protobuf, or JSON for structured messages
Integration with External Systems:
- Connecting Kafka Streams with databases (PostgreSQL, MongoDB, Cassandra)
- Using Kafka Connect for external data integration
- Knowledge of REST APIs and how to expose data from Kafka Streams
DevOps and Deployment
- Familiarity with Docker and Kubernetes for containerized deployment
- Using CI/CD pipelines (GitHub Actions, Jenkins, GitLab CI)
- Logging and tracing using ELK (Elasticsearch, Logstash, Kibana) or OpenTelemetry
Testing Kafka Streams Applications
- Writing unit tests with Mockito and JUnit
- Using TestContainers for integration testing with Kafka
- Validating Kafka Streams topologies using TopologyTestDriver
API developers:
- Experience building REST APIs using Spring Boot
- Experience with Spring Data/Spring Data JPA for connecting to and reading from databases via APIs
- Experience writing unit tests using JUnit/Spock
- Familiarity with CI/CD pipelines using Jenkins
- Familiarity with SQL/NoSQL databases
Nice-to-have Skills:
- Monitoring and Optimization
- Understanding of Kafka Streams metrics (through JMX, Grafana, Prometheus)
- Profiling performance and tuning configurations (buffer sizes, commit intervals)
- Handling out-of-order events and rebalancing issues
- Knowledge of Apache Flink or KSQLDB for alternative stream processing
- Knowledge of Docker, OpenShift
- Experience with tools like Dynatrace for troubleshooting
PNC will not provide sponsorship for employment visas or participate in STEM OPT for this position.
Job Description
- Creates and leads the technical design and development of software solutions.
- Proposes & designs software solutions to address complex business needs. Prepares technical and procedural documentation required.
- Facilitates complex problem resolution.
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s