**Software Architect**:
**Location**: Belo Horizonte, BR
**Req ID**: 25095
**Onsite or Remote**: 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.
**Purpose**:
Required 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
- 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 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.
- Actively contribute to the product roadmap in collaboration with program leadership.
- Help Design and maintain testing strategies with Quality Assurance.
**Required Qualifications**:
- Bachelor's Degree Computer Science or equivalent
- 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