Sorry, this job is no longer available.(Loading More Opportunities)
Software Developer II-Java
Software Developer will be responsible for , developing and supporting a growing number of critical enterprise applications within Advance Auto Parts. The team is responsible for the creation and evolution of the modern Advance Auto Parts service-based platform. Comprised of key core services including Order Management, real time Inventory Availability, Pricing, and more, the team will provide a structured way to develop and evolve service implementations. Key to this approach is the instantiation of an API-centric developer ecosystem that enables solutions to easily construct consumer-facing applications by accessing these platform services. With a product-centric discipline, the platform enables a framework to evolve back-end in services in parallel, ultimately driving faster agility and time-to-market of key features, enabling Advance Auto Parts Mission of having a Passion for Customers. Passion for Yes.
- Work with business stakeholders, project managers, business analysts, and other IT teams to understand the business needs and their requirements.
- Work with a nimble team of software engineers and enterprise architects to ensure the solutions meet our business needs using Agile methodologies in a fast-paced environment.
- Will often require to take a lead role in the entire development cycle, conduct design and code reviews, and have a heavy input throughout the process, from requirements to production deployment.
- Create technical system specifications and ensure documentation remains current throughout all phases of the SDLC. Raise up opportunities, enhancements, and process improvements. Communicate timely status, including any potential risks/issues of the assignments to management.
- Research, design, define, develop, test, document and implement new service APIs or changes to existing services. Participate in test planning, development, and execution for integration and system testing.
- Learn new software tools and skills as needed. Keep up with technologies.
- Provide mentoring to other development staff on technical topics.
- Support and maintain applications utilizing required tools and technologies. Ensure applications are scalable and operate efficiently in the production environment.
- Ability to research issues across multiple key systems and databases. Assist customers and team members on issue resolution and problem solving.
- Participate in an on call rotation to provide system support outside of normal working hours.
- Comfortable working in an open, dynamic, rapidly changing environment where collaboration is crucial.
- Extended hours may require during peak workloads or special projects.
- Must be self-motivated and take initiative.
- 4+ years of experience in java middle-tier applications in a J2EE environment within the US.
- Strong familiarity with API management, micro-services, Java/J2EE application stacks .
- Strong experience working in an Agile/Scrum environment.
- Experience in large scale applications either public facing web applications or applications with large numbers of concurrent users.
- Experience with either on-line or in-store retail selling applications.
- Deep technical hands-on experience developing in REST/JSON or SOAP/XML Experience developing solutions in AWS, Azure, and/or Google Cloud Platform.
- Experience with Docker, or related container-oriented technologies (i.e. Docker Enterprise Edition, Kubernetes, etc.). Comfortable implementing continuous integration / continuous delivery process for applications using technologies such as Jenkins and Git.
- Experience with Test Driven Development, including writing and implementing automated unit, system, and integration tests.
- Experience with relational databases (Oracle 11g or above, SQL Server). Experience with NoSQL databases including Cassandra and MongoDB.
- Experience building micro-services using Spring Boot.
- Experience building applications that work with IBM MQ, JBoss and Tomcat, JPA and Hibernate.
- Working knowledge of EJB 3 or above Experience developing and deploying applications on Linux/Unix/AIX servers.
- Experience creating and consuming REST API services with JSON.
- Experience creating and configuring deployments in Jenkins.
- Experience using Unix command line and Bash/Shell/Python scripting to automate tasks, etc.
- Experience with Subversion (SVN) and GIT source control; Maven and Ant; JIRA, Confluence, Grails, web security experience such as WS-Security; Eclipse based IDEs.
- Experience using JUnit and Gatling to write automated tests.
- Experience with designing and conducting performance/stress tests on applications, analyzing and leveraging these results to improve application throughput and response time.
- Exceptional customer relationship skills including the ability to discover the true requirements underlying feature requests, recommend alternative technical and business approaches, work with architects to come to an agreed technical approach, and lead development efforts to meet aggressive timelines with optimal solutions.
- Ability to work collaboratively with or lead cross-functional teams with minimal supervision.
- Ability to drive consensus within a team and influence outcomes in significant technical decision-making.
- Excellent interpersonal, written and verbal communication skills to work with different business groups as well as IT partners (enterprise architects, vendors, etc.) at all levels within the organization.
Demonstrated critical thinking skills:
- Extreme attention to detail and organization in all aspects of the system development.
- Enterprise level services/APIs often require every detail to be carefully designed and developed to achieve high availability, reliability, and scalability to meet our users needs.
- Person in this role will often be writing real-time service APIs that are critical to business success.
- A strong technical vision. Ability to understand, master, and be able to prototype with new technologies quickly.
- Person in this role needs to be able to quickly understand and solve unique and undocumented programming problems. Open-minded, willing to consider multiple options, sources, perspectives, and possible solutions.
Ask probing questions and research as a basis for making design decisions and judging quality; understand the true reason behind the request rather than just accepting an initial thought or proposed solution.
- Proactive and willing to contribute ideas. Not afraid to ask questions.
- Ability to effectively plan, organize and prioritize multiple streams of activity. Adapt well to changes.
- Demonstrated ability to establish priorities, organize, and plan work to satisfy established timeframes; meet commitments and multi-task in a fast-paced work environment with a high-level of accuracy and efficiency.
- Strong integration architecture experience with familiarity of the retail order management process.
- Experience and understanding of enterprise Integration concepts and technologies including ESB, SOA based solutions, transactional systems, message-oriented middleware, canonical message model pattern, JMS, continuous integration framework, REST, SOAP, and web services.
- Broad knowledge of service and client development, different open source framework, application performance tuning, Agile Scrum methodology, software engineering best practices.
- Experience of developing low latency, highly available and scalable distributed systems in an environment with high volumes of transactions.
- Experience of building middle-tier services that integrate with various external systems and vendors with enterprise middleware technologies and different standardized communication protocols.
- Experience of defining system architectures and designs, exploring technical feasibility tradeoffs, and making data-driven decisions.
- Experience in supporting large-scale web applications and enterprise service software.