Job Title: Software Engineer
Location: Mexicali, Mexico
Division: Trimble Viewpoint
About the Role
Trimble Viewpoint is looking for an Infrastructure / DevOps developer for its "Team Project Communications" product platform team who strives for excellence, and is ready to join a fast-paced, highly collaborative team.
In this senior position, you will provide expertise especially in areas of cloud infrastructure and deployment pipelines to your engineering team and leadership.
This will include leading infrastructure projects, building and updating deployment pipelines to follow best-practices, and working with other team members and QA to help drive the success of this product.
You'll be working with various Azure cloud technologies, including app services, app functions, kubernetes, service fabric, and more.
This is a vital lead position, responsible for designing, building, documenting, and testing underlying components for our next generation platform.
What You Will Do
- Work on Azure DevOps pipelines (classic and yaml), service connections, Helm charts, ARM templates, and other development and release infrastructure, as well as on a range of Azure cloud infrastructure and supporting components including AKS, service principals, certificate management, app service plans, service bus, networking components, and security.
- As needed, work as a developer on back-end services in .NET Core.
- Follow, and provide accountability for others to follow, established team coding standards and guidelines to produce consistent, appropriately-documented code.
- Engage collaboratively with the team constantly on all aspects of team life, including product and service design, estimation, code reviews, pair programming, defect resolution, releases, process refinement, and supporting customers.
- Follow team processes, keep task status updated so that accurate information is always being conveyed through the team's defined means, and ensure that task completion is timely or reasons for delay are promptly conveyed and understood.
- Apply, and mentor the team in applying, security best practices for cloud infrastructure and system administration.
- Assist with designing, developing, and maintaining cutting edge quality automation, including unit tests, integration tests, security scans, performance tests, smoke tests, and running tests safely in a production environment.
- Assist with developing and maintaining system monitoring and fine-tuned alerting.
- Proactively investigate alerts and understand necessary actions.
- Lead and engage in discussion and whiteboarding with teammates to analyze issues and recommend quality solutions.
- Demonstrate excellent listening, written and verbal communication skills.
- Adapt to changes in a fast-paced work environment, manage competing demands, and be able to deal with frequent change, delays, or unexpected events.
- Be at work at reasonably consistent times compatible with the team, follow instructions, respond to management direction, and solicit feedback to improve performance.
- Be available for releases, meetings, outages or other tasks outside of normal working hours when necessary.
- Demonstrate professionalism, discretion, and good judgment in all interactions with co-workers, customers, and others.
What Experience You Should Bring
- 5+ years of relevant technical experience.
- Experience with Azure DevOps (VSTS) or other source code repositories (e.g. GitHub), yaml pipelines, Helm charts, and infrastructure as code.
- Experience with the Azure Cloud portal and command line, or other cloud hosting providers, and creating, configuring, and maintaining a variety of infrastructure.
- Experience with Docker and Kubernetes (especially AKS).
- Experience with CI / CD concepts and pipeline design, including embedded automated testing.
- Experience with messaging / eventing such as with Kafka and Azure Service Bus.
- Experience with scripting, such as with PowerShell and Bash.
- Experience with certificate management, and a broad range of security concepts.
- Strong grasp of Git source control management.
It Would Be Great If You Have
- Experience utilizing unit testing and mocking frameworks such as xUnit, MSTest, NSubstitute, Fluent Assertions, and / or similar tools.
- Experience with REST Web APIs and JSON.
- Understanding of NoSQL and relational databases and ability to write SQL queries.
- Familiarity with IAM, authentication, authorization and identity concepts.
- Familiarity with Domain Driven Design and Hexagonal (or Onion) Architecture.
- Familiarity with various flavors of Agile / Scrum development methodologies.
- Familiarity with Visual Studio and / or VS Code.
- Experience with producing public APIs for third-party development.
- Knowledge of construction industry accounting and project management principles and practices.
- Ability to code in C# using language-appropriate techniques.