Macy’s is proudly America’s Department Store. For more than 160 years, Macy’s has served generations at every stage of their lives. Customers come to us for fashion, value and celebration. Now is an exciting time to join Macy’s, Inc. The face of retail is changing, and change requires innovation.
Macy’s Tech provides modern tools, platforms, and services to all parts of the business. Our team supports millions of customers in connected commerce across the technology hub at Macy’s Join our team to help shape the future of e-commerce and set the pace in retail technology. Whether focused on store technology, supply chain tech, application security, merchandising systems, or the mobile app you’ll have opportunities to grow your career while finding meaningful ways to make a difference.
This Staff Software Engineer role in Macy’s Technology is a leader in the design and development of cross-functional, multi-platform application systems.
Translate business requirements into well-engineered, tested and deployed application systems that are used by the business, and support these systems while in production. Interface with internal customers to determine the most efficient and cost-effective approach to meet business requirements and design, develop, test, install, and deploy the required software applications. Develop solutions utilizing a variety of software technologies, including new code construction, modifications to existing modules, configuration and/or package implementation. Perform other duties as assigned.
- Lead the development of the strategy and technical design for large work type 2 and 3 projects, i.e. define timelines and project plans, analyze and estimate feasibility, cost, time, and compatibility with hardware and other programs; ensure that expected application performance levels are achieved.
- Commit to overall deliverables with customers and/or management.
- Recommend vendors for projects, and negotiates terms/conditions with vendors, and support evaluation of new technical direction and approach with recommendations to Macy’s Technology senior management.
- Lead the coding/configuration, testing, implementation and documentation of solution and develop detailed design specifications.
- Perform complex applications programming activities, including code, test, debugging, documentation, maintenance, and modification to complex application programs.
- Monitor and establish operating efficiency of existing application systems and provide (or arrange for) proactive maintenance; lead the resolution of customer inquiries.
- Serve as a coach and mentor to more junior developers to include delegating and managing tasks, as appropriate.
- Serve as a technical expert on existing applications and other inter-related/adjacent systems and applications.
- Design systems/applications with high level of complexity (e.g. many interfaces, multiple packages, platforms).
- Evaluate the applicability of leading edge technologies and use this information to significantly influence future business strategies.
- Generate technical and/or business systems knowledge and ideas from external sources and incorporate those ideas into IT work.
- Consistently demonstrate regular, dependable attendance & punctuality.
Qualifications and Competencies
- 8-10 years of ‘hands-on’ experience with Java Enterprise, Java application servers (Websphere, or Weblogic, or JBOSS), and relational databases (Oracle, DB2 or SQL Server).
- 3-5 years of ‘hands-on’ experience with Web Services and Messaging Layer using SOAP, REST, JAXB, JMS.
- In-depth knowledge of event-driven architecture (EDA) and service-oriented architecture (SOA).
- Deep technical understanding of the technologies in the enterprise systems; includes (but not limited to) Java/J2EE, Spring, Hibernate, EMS, Kafka, JBoss, RDBMS, Cloud/Microservices, Caching, Secure Development Lifecycle, Distributed Processing.
- Experience in CI/CD, DevOps process and tools, and Containerization.
- Demonstrate a broad understanding of the application flow and technical architectures.
- Ability to effectively share technical information, communicate technical issues and solutions to all levels of business
- Able to juggle multiple projects – can identify primary and secondary objectives, prioritize time and communicate timeline to team members
- Ability and desire to take product/project ownership
- Ability to work a flexible schedule based on department and Company needs.