Overview
Senior Engineer on the engineering team supporting the product, shaping application architecture, leading design and implementation decisions, and mentoring peers.
What you'll do
- Develop and gain insight into the application architecture, distilling abstract architecture into concrete design and influencing implementation.
- Apply appropriate software engineering patterns to build robust and scalable systems.
- Propose software designs and provide feedback on software designs and/or implementation to fellow engineers.
- Help the team triage operational issues and eliminate repeat occurrences.
- Apply and maintain knowledge of current and emerging technologies within specialized areas of the technology domain.
- Evaluate new technologies and participate in decision-making, accounting for viability within Target's technical environment, maintainability, and cost of ownership.
- Initiate and execute research and proof-of-concept activities for new technologies.
- Manage total product, financials and forecasting.
- Lead the design, lifecycle management, and total cost of ownership of services.
- Lead and conduct code review, design review, testing, and debugging activities at the application level.
- Lead functional design and architecture discussions with understanding of process flows and system diagrams.
- Participate in routine and non-routine construction, automation, and implementation activities, ensuring architectural and operational requirements and best practices are met.
- Provide technical oversight and coach others to resolve complex and severe technical issues.
- Lead disaster recovery activities and contribute to disaster recovery planning.
- Embed data quality protocols throughout data acquisition, processing, storage, and operational use.
What you'll need
- 4-8 years of software development experience building scalable and distributed applications.
- Strong analytical and problem-solving skills with a passion for engineering excellence.
- Experience working in Agile teams and collaborating with cross-functional stakeholders.
- Self-driven, with a strong sense of ownership and accountability.
- Passion for learning new technologies and applying them to solve business problems.
- Ability to mentor peers and contribute to a culture of continuous improvement.
- Excellent communication, collaboration, and stakeholder engagement skills.
- Must have: Java 17+ (advanced proficiency in Java development).
- Must have: Microservices architecture (designing, developing, and managing scalable microservices).
- Must have: Spring Boot or Micronaut (experience with JVM-based frameworks, including reactive programming).
- Must have: Messaging systems (Kafka, RabbitMQ).
- Must have: Databases, experience with NoSQL databases like Cassandra or MongoDB and SQL-based databases like PostgreSQL.
- Must have: CI/CD, building and managing pipelines with Jenkins, GitLab, or similar tools.
- Must have: Unit and integration testing (Spock, JUnit, Mockito, Selenium).
- Must have: Cloud services (AWS, GCP, Azure, at least one).
- Must have: Containerization and orchestration (Docker, Kubernetes).
- Must have: Monitoring and observability (Grafana, ELK Stack, Prometheus, Datadog).
- Must have: Knowledge of event-driven patterns in distributed systems.
- Must have: Experience developing modern web applications using ReactJS and TypeScript.
- Must have: Experience integrating Generative AI and AI-powered capabilities into enterprise applications.
- Must have: Familiarity with Model Context Protocol (MCP) and modern AI integration patterns.
Nice to have
- Familiarity with Agile methodologies (Scrum, Kanban, or other agile processes).
- Familiarity with functional programming paradigms in Kotlin.
- Knowledge of AI application evaluation, observability, governance, and guardrail frameworks.
- Exposure to Spring AI or similar frameworks for building AI-enabled enterprise solutions.
Read the full description and apply on the company’s own careers page.