Job Overview The Staff Software Engineer at Client's Technology leads the design and development of cross-functional, multi-platform application systems. They translate business requirements into well-engineered, tested, and deployed application systems used by the business, and support these systems in production. They 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. Additionally, they 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.
What You Will Do - Lead the development of strategy and technical design for large work type 2 and 3 projects, including defining timelines and project plans, analyzing and estimating 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, negotiate terms/conditions with vendors, and support evaluation of new technical direction and approach with recommendations to Client's Technology senior management.
- Lead the coding/configuration, testing, implementation, and documentation of solutions, and develop detailed design specifications.
- Perform complex applications programming activities, including coding, testing, debugging, documentation, maintenance, and modification of complex application programs.
- Monitor and establish the 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, including delegating and managing tasks as appropriate.
- Act as a technical expert on existing applications and other inter-related/adjacent systems and applications.
- Design systems/applications with a high level of complexity, such as those with many interfaces or multiple packages and 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.
- Foster an environment of acceptance and respect that strengthens relationships, and ensures authentic connections with colleagues, customers, and communities
- Consistently demonstrate regular, dependable attendance and punctuality.
Skills You Will Need Technical Proficiency: Deep technical understanding of Adobe Workfront, Workfront Fusion, AEM Asserts as DAM, Java springboot, RDBMS, Cloud/Microservices, Caching, Secure Development Lifecycle, and Distributed Processing.
Web Services and Messaging Layer: Proficiency (3-5 years) in Web Services and Messaging Layer using SOAP, REST, JAXB, and JMS.
Architecture Knowledge: In-depth understanding of event-driven architecture (EDA) and service-oriented architecture (SOA).
CI/CD and DevOps: Experience in Continuous Integration/Continuous Deployment (CI/CD), DevOps processes and tools, and Containerization.
Application Flow Understanding: Broad comprehension of application flow and technical architectures.
Effective Communication: Ability to effectively share technical information and communicate technical issues and solutions to stakeholders at all levels of the business.
Project Management: Capability to handle multiple projects, prioritize tasks, and effectively communicate timelines to team members.
Ownership Mentality: Desire and ability to take ownership of products/projects.
Analytical Skills: Strong analytical skills to identify primary and secondary project objectives and prioritize tasks accordingly.