About the Role
As Senior Software Engineer, you will collaborate closely with design, product and engineering experts to tackle real-world challenges and deliver innovative solutions that elevate Kohl’s retail offerings.
What You’ll Do
Lead the development of high-quality applications that are robust, observable and measurable using extreme programming (XP) practices and a user-centric approach
Participate in the entire application lifecycle in collaboration with designers, product managers, and other engineers on the product team
Leverage critical thinking, experimentation, data, and industry best practices to implement desired business outcomes
Facilitate group discussions and team ceremonies and develop a shared context
Give and receive feedback that’s empathetic, actionable and specific
Practice emergent architecture with sane defaults and build software that is easy to use and easy to modify
Establish and lead product engineering and software standards
Ideate a new product from a user perspective, starting with one or more problem spaces and ending with a stack-ranked list of feasible solutions to test
Research and stay up to date on tech market trends and practices
Lead technical initiatives not only on the team but also across the department
Additional tasks may be assigned
Addendum
SENIOR SOFTWARE ENGINEER (iOS)
Experience building UI/UX with the use of Storyboards and Nibs/Xibs, UIKit & Auto Layout
Experience with making REST calls over the network
Comfortable working with Xcode, Interface Builder, Objective-C/C++ and Swift
Collaborate with iOS, Android, and Server engineers to ship features
Experience with JavaScript, either in a browser or server-side environment such as NodeJS, React
Knowledge of the roles that tools such as clang, swiftc, ld, actool, ibtool, codesign play in the process of generating build/test artifacts
A deep understanding of design patterns and experience working in a layered architecture (VIPER, MVVM etc.)
What Skills You Have
Required
4+ years of experience in software development
Understanding of application design patterns, event-driven architecture, database, schemas and testing strategies
In-depth knowledge and experience with continuous integration, continuous deployment and test-driven development
Preferred
Bachelor's Degree or equivalent in MIS, Computer Science or related field
Experience with large-scale application troubleshooting and performance tuning
Exposure working with major cloud platforms (GCP, AWS, or Azure)
Familiarity and experience with XP (Extreme Programming)