Software Architect

Location: Tucson, AZ, US, 85706
Req ID: 23929
Onsite or Remote: Partial Remote Position

Komatsu is an indispensable partner to the construction, mining, forestry, forklift, and industrial machinery markets, maximizing value for customers through innovative solutions. With a diverse line of products supported by our advanced IoT technologies, regional distribution channels, and a global service network, we tap into the power of data and technology to enhance safety and productivity while optimizing performance. Komatsu supports a myriad of markets, including housing, infrastructure, water, pipeline, minerals, automobile, aerospace, electronics, and medical, through its many brands and subsidiaries, including Joy, P&H, Montabert, Modular Mining Systems, Hensley Industries, NTC, and Gigaphoton.

Modular Mining Systems is the global leader in mine management technology and a wholly-owned subsidiary of Komatsu LTD. Our innovative technology powers mine operations in every corner of the globe. The products we cultivate, the solutions we engineer, and the service we deliver set us apart in the Mining Technology industry. 

We’re more than a company, and we’re a community of passionate, creative professionals striving toward a shared vision: revolutionizing the way the mining industry operates. With a presence stretching from Johannesburg to Vancouver, Sydney to Lima, you are part of a global brand that supports creativity, fosters innovation, and encourages you to think big, share ideas and be yourself. 

The Company

Modular Mining Systems is the global leader in mine management technology and a wholly owned subsidiary of Komatsu Ltd. Our innovative technology powers mine operations in every corner of the globe. The products we cultivate, the solutions we engineer and the service we deliver set us apart in the Mining Technology industry.  We are more than a company, we’re a community of passionate, creative professionals striving toward a shared vision: to revolutionize the way the mining industry operates.  

With a presence stretching from Johannesburg to Vancouver, Sydney to Lima, you are part of a global brand that supports creativity, fosters innovation and encourages you to think big, share ideas and be yourself.

Job Purpose

The Software Architect works with all aspects of the Software development lifecycle, in the scope of one or a few applications/solutions, focusing on good design practices, increased code quality, testability, deployability, CI/CD integration, adherence to business functional and nonfunctional requirements, team efficiency, and process improvements, providing mentoring and coaching to software engineers on these subject matters, as well as synchronizing efforts with other teams and projects.

Travel Requirements

Job Duties and Responsibilities

Common Responsibilities

  • Proactively provide feedback and adherence to plans/goals of other projects or teams.
  • Collaborate with project managers and/or scrum masters for agile and scaled agile process adoption and improvement.
  • Build relationships with internal customers and partners to understand their needs, priorities, roadmap, and definition of success.
  • Pursue self-awareness and technical knowledge about other internal products/projects feature sets, limitations, pain points, design decisions, and roadmaps.
  • Comply with all company processes and policies.
  • Work with the development team to translate the software architecture into design, when needed actively participate in the development process
  • Engage in technical delivery and oversight (not project management) to ensure technical solution is implemented as designed
  • Ensure that solution exhibits high levels of performance, security, scalability, maintainability, appropriate reusability and reliability upon deployment

Software Architect Responsibilities

  • Define all aspects of development from appropriate technology and workflow to coding standards.
  • Lead technical designs; provide oversight for design implementations and codebase; ensure industry standards and best practices are applied in technical designs and code development.
  • Drive the technical evaluation of technologies and vendor solutions including industry trends and best practices.
  • Comply with higher level architecture decisions, using the proper channels when needed to suggest changes and improvements.
  • Ensure software design meets all requirements of quality, security, modifiability, extensibility etc.
  • Develop proof-of-concepts, prototypes, and frameworks for new systems and architectures that enable detailed technical planning for implementation teams. 
  • Introduce new tools and processes to improve development efficiency.
  • Make major architectural decisions in a timely manner, balancing comprehensive research and pragmatism.
  • Help the team troubleshooting complex code level problems on new features, major third tier tickets, and escalations.
  • Actively collaborate with Quality Assurance team to improve testability and apply good practices for efficiency and "shift left" testing.
  • Actively collaborate with Configuration Management to establish and maintain consistency of the solution attributes.
  • Successfully communicate all concepts and guidelines to development team.
  • Provide technical guidance and coaching to developers and engineers.
  • Oversee progress of development team to ensure consistency with initial design, from concept to launch.
  • Collaborate with Business Analysts and System Engineers for reviewing business and system-level requirements.
  • Evaluate existing software solutions to identify areas for improvement.
  • Own architectural roadmaps for supported teams; aActively contribute to the product roadmap in collaboration with program leadership.
  • Help Design and maintain testing strategies with Quality Assurance.

Required Skills

  • Bachelor's Degree Computer Science or equivalent
  • 5+ years of proven experience in the area, most of them in a senior Software Development position.  
  • Proven experience and coding skills in 2 or more coding languages, preferably Java, Kotlin, C/C++, C#
  • Proven experience with good design practices and coding standards.
  • Proven experience with source control and branching strategies.
  • Proven experience with Software Testing concepts, frameworks, and best practices.
  • Proven experience with Configuration Management concepts, challenges and best practices.  
  • Strong analytical, debugging, problem-solving, and root-cause analysis skills.
  • Strong presentation and collaboration skills.
  • Excellent communication skills.
  • Good understanding about scalable and distributed architectures, its challenges and best practices.
  • Knowledge about the opensource Software industry and its usage in high-scale architectures.

Desired Skills

  • Knowledge in designing architectures/solutions for constrained resources environments.
  • Knowledge in IoT applications, data pipelines, and fit for purpose data storage solutions.

Komatsu is an Equal Opportunity Workplace and an Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or protected veteran status.