Principal Software Engineer-Mobile

O'Reilly Auto PartsHeadquarters, KY
1dOnsite

About The Position

The Principal Software Engineer operates with a high degree of independence, leveraging multiple functional and technology skill sets and provides technical oversight and guidance in the design, development, testing and implementation of high-quality, resilient software solutions. This engineer will lead mobile development initiatives, defining and implementing architectural and development standards across iOS and Android platforms. The role requires strong hands-on experience in iOS and Android development, proficiency with React, and full-stack expertise in Java, with close collaboration across GCP-based backend systems. This position is an on site role located in Springfield, MO.

Requirements

  • Experience creating and implementing development and architectural standards
  • React knowledge and experience
  • Cloud knowledge and experience (GCP preferred)
  • Mobile development experience (iOS and Android)
  • Provides team oversight and guidance, to understand and apply 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 recommendation.
  • Understands business context, needs, rules, and architecture, as well as organizational structure, cultures, capabilities, and processes to document the current state of technology and operational processes.
  • Leads team to envision and document the future state of processes and products 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, comprehensives, effective documentation and artifacts that convey complex technical concepts that illustrate and explain overall technical specifications and solution/architecture design; may provide oversight and review of teams’ 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: 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.
  • Installs, sets up, configures, and manages software and environments.
  • Monitors, diagnoses and fixes problems with technology products.
  • Bachelor's Degree or Equivalent Level in Computer Science or related field
  • Experienced practitioner able to deal with the majority of situations and to advise others (3 to 6 years)
  • Managerial Experience: Experience with general supervision of more junior colleagues (7 to 12 months)

Responsibilities

  • Create and implement development and architectural standards
  • Document "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 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.
  • Guide the development of 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.
  • 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 team in work breakdown and estimation of software development activities in order to develop and achieve software project delivery timelines; may provide resource staffing recommendations.
  • Contribute to and maintain a technical roadmap to facilitate application software development and ensure the development work is prioritized in line with business requirements.
  • Oversee others on continuous integration activities (sharing, testing and building), working within established operational systems.
  • Explore and develop a detailed understanding of external developments or emerging issues and contribute to the evaluation of their potential impact on, or usefulness to, the organization.
  • Develop own capabilities by participating in assessment and development planning activities as well as formal and informal training and coaching; gain or maintain external professional accreditation, where relevant, to improve performance and fulfill personal potential.
  • Maintain an in-depth understanding of technology, external regulation, and industry best practices through ongoing education, 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