Job Id: R0000383679
About us:
Working at Target means helping all families discover the joy of everyday life. We bring that vision to life through our values and culture. Learn more about Target here.
As a Software Engineer at Level 4, you will be a key member of an agile team, contributing to the design, development, and maintenance of software systems. You will leverage your technical expertise to execute tasks related to building high-quality software, ensuring that all deliverables meet the required technical specifications and business requirements. You will participate in all phases of the software development lifecycle, including planning, development, testing, deployment, and support.You will work collaboratively with team members, contributing to architectural decisions, code reviews, and design discussions. You will also learn and grow by working with more experienced engineers and will be encouraged to apply best practices in software development to ensure scalable and maintainable solutions. In addition, you will begin to take on leadership responsibilities by mentoring junior engineers and contributing to team success in key ways.
Key Responsibilities:
- Develop and maintain software applications using various programming languages and frameworks such as Java, Kotlin, Spring Boot, React.js, and databases (Postgres, MongoDB, NoSQL).
- Work closely with cross-functional teams (Product, Engineering, UX, Data Sciences) to understand business requirements and translate them into technical solutions.
- Contribute to the development and execution of automated tests and ensure high-quality code through unit tests, integration tests, and code reviews.
- Participate in design and architecture discussions, contributing ideas and approaches to building scalable, secure, and high-performance systems.
- Collaborate with senior engineers to solve complex technical problems, adhering to coding standards and best practices.
- Follow Agile methodologies, contributing to iterative development cycles and ensuring timely delivery of features.
- Continuously improve skills and stay current with emerging technologies and industry best practices.
- Begin to take ownership of small-to-medium-sized tasks and work independently to meet deadlines and deliverables.
Key Expectations and Qualifications:
- Bachelor’s degree in Computer Science, Engineering, or a related field, or equivalent experience.
- 2-5 years of software development experience, with proficiency in Java and/or Kotlin.
- Experience with modern software development frameworks (Spring Boot, Gradle, JUnit, React.js, etc.).
- Strong fundamentals in Algorithms, Data Structures and Design Patterns
- Understanding and application of Microservices patterns such as REST or Graphql
- Understanding of relational and NoSQL databases (Postgres, MongoDB, etc.), and the ability to design efficient data models.
- Familiarity with microservices architecture and API development.
- Knowledge of version control systems (Git) and CI/CD practices.
- Good understanding of Agile development principles and experience working in Agile teams.
- Strong problem-solving and debugging skills.
- Effective communication and collaboration skills to work within an engineering team and interact with other stakeholders.
Technical Skills:
- Proficiency in Java, Kotlin, or other object-oriented programming languages.
- Familiarity with backend development frameworks like Spring Boot.
- Knowledge of databases (Postgres, MongoDB, or similar).
- Exposure to front-end technologies like React.js is a plus.
- Familiarity with basic cloud technologies (AWS, GCP, or Azure) is an advantage.
- Experience with testing frameworks (JUnit, Mockito) and automated testing.
- Understanding of basic security and performance optimization techniques.