C.H. Robinson is seeking a hands-on Senior Software Engineer to join their Robinson Fresh team. This role involves combining technical excellence with a passion for solving complex problems, driving automation, and improving workflows through scalable solutions.
Responsibilities:
- Analyze and translate high-level customer, product, and business requirements into detailed technical designs that solve complex business problems
- Design solutions that align with the long-term strategy for a service, product, or platform based on deep technical expertise, customer insight, operational needs, and enterprise standards
- Define interfaces, service boundaries, data contracts, and integration patterns; develop high-quality code across products or services and influence architectural direction when needed
- Leverage modern AI-assisted development tools, coding agents, and agentic engineering workflows to accelerate discovery, design, development, testing, documentation, refactoring, and operational troubleshooting
- Apply strong engineering judgment when using AI-generated or agent-assisted output, including validating correctness, security, maintainability, performance, licensing, and alignment with architectural standards
- Break down complex engineering work into clear, actionable tasks that can be executed by engineers and supported by AI/agentic tooling where appropriate, while maintaining accountability for the final solution
- Ensure consistent, usable, forward-looking, and maintainable test infrastructure; apply automated testing, test generation, regression validation, and quality gates to improve delivery speed and confidence
- Identify code across multiple code bases to optimize, refactor, simplify, or reuse in order to improve performance, maintainability, scalability, and return on investment
- Lead code reviews across the product or service, including review of AI-assisted code contributions; identify root causes of issues and drive practical, sustainable resolution
- Proactively identify performance, reliability, scalability, availability, and operational issues; troubleshoot and resolve production issues that may span multiple product areas or systems
- Develop and maintain clear architectural, technical, operational, and decision documentation, including documentation generated or accelerated through AI-assisted tooling
- Design products and services using secure programming patterns; identify, fix, and prevent security vulnerabilities in existing and new applications; ensure secure practices are embedded in design, implementation, testing, and deployment
- Estimate work across projects that span multiple product areas, including time, resource, skill, sequencing, dependency, and risk considerations
- Proactively identify technologies, tools, frameworks, patterns, or automation opportunities that improve engineering effectiveness, delivery speed, quality, reliability, or business outcomes
- Construct and deliver proposed solution strategies for new technologies, engineering practices, automation opportunities, and agentic tooling patterns; partner with architecture and engineering leadership to review and approve proposals
- Mentor and coach other software engineers in software design, engineering practices, AI-assisted development, effective use of agentic tools, testing discipline, and operational ownership
- Proactively seek mentorship, feedback, and technical perspective from peers, principal engineers, architects, product partners, and leadership
- Lead the effort in defining and improving the engineering lifecycle and practices for the team and associated teams in partnership with principal engineers and engineering leadership
- Drive collaboration across multiple teams; find ways to increase team output by enabling others, improving shared practices, reducing friction, and scaling knowledge
- Anticipate business needs and present technical options, tradeoffs, risks, and recommendations to leadership, product managers, and business stakeholders
- Continuously improve team processes by identifying repeatable work that can be automated, accelerated, or enhanced through tooling, scripts, templates, AI agents, CI/CD improvements, monitoring, or documentation patterns
- Other duties or responsibilities as assigned according to the team and/or country-specific requirements
Requirements:
- 8+ years of experience developing, implementing, and supporting commercial software across multiple platforms while leveraging a variety of programming languages
- Experience owning and delivering projects and results of increasing technical complexity
- 8+ years of experience with modern development languages such as .NET Core, C#, TypeScript, or similar technologies
- Experience with thin-client development such as HTML/CSS, JavaScript, TypeScript, and modern JavaScript frameworks
- Experience using AI-assisted development tools, coding assistants, or agentic engineering workflows to improve productivity, code quality, testing, documentation, troubleshooting, or delivery outcomes
- Ability to critically review, validate, and take ownership of AI-assisted or tool-generated output before it is incorporated into production systems
- Experience with database objects in relational databases such as MS SQL or Oracle, including schema design, stored procedure development, query tuning, performance analysis, and optimization techniques
- Experience with non-relational databases such as MongoDB, Elastic, Cosmos DB, or similar technologies
- Experience with HTTP, REST architecture, APIs, service contracts, and distributed system integration patterns
- Experience with unit, integration, acceptance, regression, and automated testing practices
- Experience with version control systems such as Git, GitHub, Azure DevOps, TFS, or similar platforms
- Experience with CI/CD, continuous integration, continuous deployment, build pipelines, release automation, and deployment quality gates
- Experience building, deploying, or supporting cloud-native applications and services using platforms such as Azure, AWS, or GCP
- Strong understanding of secure development practices, code quality, maintainability, observability, and operational ownership
- Bachelor's degree from an accredited college or university in Computer Science, Software Engineering, IS, MIS, or other technology-related degree, or a minimum of 4 years of equivalent work experience and high school diploma/GED
- Experience working on large-scale open source, inner source, or shared enterprise software development
- Experience in system integration projects, distributed systems, or multi-team platform initiatives
- Experience with data streaming architecture and frameworks such as Kafka, event-driven architecture, ESB, or related technologies
- Experience designing or implementing automation that improves engineering delivery, operational support, testing, documentation, code migration, or production troubleshooting
- Experience creating effective prompts, context, guardrails, and review practices for AI-assisted development or coding-agent workflows
- Experience applying AI-assisted tools to legacy code modernization, test coverage expansion, technical debt reduction, documentation generation, incident investigation, or developer productivity improvements
- Solid communication skills with strong customer focus and the ability to explain complex technical concepts in practical business terms
- Effective collaborator with experience creating technical partnerships across teams, functions, and business areas
- Ability to learn and understand multiple technical domains across the enterprise and communicate complex technical and business concepts to engineering teams, product partners, leadership, and business stakeholders
- Experience directly or indirectly leading high-performing engineering teams, mentoring engineers, and helping assess and grow software engineering talent
- Proven track record of delivering results in a fast-paced environment while managing multiple priorities, dependencies, and stakeholder expectations
- Demonstrated ability to balance speed, quality, risk, security, maintainability, and business value when delivering software