Senior Principle Software Engineer

O'Reilly Auto PartsHeadquarters, KY
1d

About The Position

The Principal Software Engineer operates with a high degree of independence, leveraging multiple functional and technology skillsets and provides helps set technical strategy for the team while also providing oversight and guidance in the design, development, testing and implementation of high-quality, resilient software solutions.

Requirements

  • Understands and applies the Software Development Life Cycle (SDLC), including requirements analysis, design, development, testing, and maintenance, to effectively develop software that supports modelling activities.
  • Plans, organizes, prioritizes and oversees activities to efficiently meet objectives.
  • Assimilates and understands data and information from various sources in order to draw appropriate conclusions and make relevant recommendations.
  • Understands business context, needs, rules, and architecture, as well as organizational structure, cultures, capabilities, and processes to document the current state of processes and the business.
  • Leads team to envision and document the future state of processes and technology by identifying the solution scope, potential value of the future state, and the changes to the process, technology, organization infrastructure, and capabilities necessary to achieve the desired future state.
  • Creates clear, comprehensive, effective, documentation and artifacts that convey complex technical concepts, using documentation tools to craft structured and visually appealing content that meets the intended purposes. Provides oversight and review of team’s technical documentation.
  • Develops software through use of programming languages, tools and platforms including: Object or component-oriented development Database User Interfaces and Queries Cloud Computing: Operates as a recognized expert to understand, deploy, and manage cloud-based infrastructure and services.
  • Designs, executes and reports on systems/service tests to ensure that an application functions as specified in the requirements. Guides the team on installation, set up, configuration, and management of software and environments.
  • Guides team to monitor, diagnose and fix problems with technology products.
  • Bachelor's Degree in Computer Science or related field.
  • Experienced practitioner able to deal with the majority of situations and to advise others (3 to 6 years)
  • Experience with general supervision of more junior colleagues (7 to 12 months)

Responsibilities

  • Document complex "as is" and "to be" processes and describe the changes required to migrate to the "to be" capability to accurately record the changes required.
  • Discuss and recommend complex or innovative technical developments to improve the quality of software solutions and supporting infrastructure to better meet users’ needs.
  • Work effectively with cross-functional teams to conceptualize technology solutions, leveraging data to drive original design ideas and decisions.
  • Lead in the development of the most-complex existing and new applications by analyzing and identifying areas for modification and improvement.
  • Develop, automate, and perform complex testing and monitoring to diagnose and correct application functionality and/or performance issues; validate and interpret test data to verify that specifications are met and/or to identify remedial actions required to ensure suitability. Guides others in these processes.
  • Ensure best practices around robust solution monitoring and alerting to proactively diagnose application performance or stability issues.
  • Monitor, identify, and correct the most-complex software defects to maintain fully functioning applications software.
  • Lead cross-functional teams in work breakdown and estimation of software development activities in order to develop and achieve software project delivery timelines; may provide resource staffing recommendations.
  • Define and maintain a technical roadmap to facilitate application software development and ensure the development work is prioritized in line with business requirements.
  • Oversee the ongoing integration activities to support overall solution delivery (i.e. construction, configuration, platform, system, application, product, service, etc.) and make prioritization recommendations in order to maximize value delivery.
  • Explore and develop a detailed understanding of external developments or emerging issues and evaluate their potential impact on, or usefulness to, the organization.
  • Act as subject matter expert in an area of technology, standards, and operations for the software engineering team.
  • Maintain in-depth understanding of current and emerging industry best practices through continuing professional development, attending conferences, and reading specialist media.

Benefits

  • Competitive Wages & Paid Time Off
  • Stock Purchase Plan & 401k with Employer Contributions Starting Day One
  • Medical, Dental, & Vision Insurance with Optional Flexible Spending Account (FSA)
  • Team Member Health/Wellbeing Programs
  • Tuition Educational Assistance Programs
  • Opportunities for Career Growth
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service