Software Developer in Raleigh, NC at Advance Auto Parts

Date Posted: 11/6/2019

Career Snapshot

  • Employee Type:
    Full-Time
  • Location:
    Raleigh, NC
  • Career Type:
  • Experience:
    Not Specified
  • Date Posted:
    11/6/2019

Career Description



Job Description

We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age national origin, religion, sexual orientation, gender identity, status as a veteran and basis of disability or any other federal, state or local protected class:

SUMMARY

Integration Services is a team within the IT Transformation organization, 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 Part’s Mission of having a “Passion for Customers. Passion for Yes”.

Successful candidates will be strong developers who take ownership of his/her applications, demonstrate critical thinking in design, communicate clearly, and have a consistent track record of delivering and supporting scalable, high performance enterprise-level APIs. The implementation around enterprise systems require strong critical thinking skills, creative engineering balanced with high quality and customer focus. The ideal candidate is one that is not only passionate about software development and software architecture but also focus on business needs and customer experience. The day-to-day work is interesting, challenging and fast-paced!

ESSENTIAL DUTIES AND RESPONSIBILITIES:

  • 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.
  • Able to shift between priorities as needed throughout the workday.
  • 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.

The above information on this description has been designed to indicate the general nature and level of work performed by employees within this classification. It is not designed to contain or be interpreted as a comprehensive inventory of all duties, responsibilities and qualifications required of employees assigned to this job.

QUALIFICATIONS

To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

Technical Skills

  • 5+ 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 hands-on experience with the following technologies:

  • 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 defining tables and creating SQL queries using Oracle (preferred) or another database platform (DB2, MySQL, SQL Server)
  • 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.

Communication Skills

  • 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.

Problem Solving and Analytic Skills

  • 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 user’s 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.  Careful assessment of the importance, relevance, and validity of all options.
  • Inquisitive.  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.

Time Management

  • 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.

EDUCATION and/or EXPERIENCE

  • Master’s Degree within the STEM discipline and 10 years of systems engineering experience, OR Bachelor of Science with the STEM discipline and 15 years' systems engineering experience, OR equivalent practical experience with strong competencies in data structures, algorithms and API design.
  • 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.

SUPERVISORY RESPONSIBILITIES

None

CERTIFICATES, LICENSES, REGISTRATIONS

  • Oracle Certified Associate, Java SE Programmer preferred.

PHYSICAL DEMANDS

The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

While performing the duties of this job, the employee is regularly required to sit and talk or hear.  The employee is occasionally required to stand; walk; use hands to finger, handle, or feel; reach with hands and arms; and stoop, kneel, crouch, or crawl.  The employee must regularly lift and/or move up to 10 pounds and occasionally lift and/or move up to 25 pounds.  Specific vision abilities required by this job include close vision, distance vision, color vision, and ability to adjust focus.

WORK ENVIRONMENT

The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

The noise level in the work environment is usually moderate.

TRAVEL

Moderate (up to 50%) overnight travel may be required