As a Senior Software Engineer for John Deere in Milan, IL, you will design, develop, test, and integrate applications of medium-high complexity. You will operate in a collaborative, open environment focused on using Agile development techniques to autonomously deliver solutions quickly and effectively. Your role will involve providing technical expertise to define and refine features in preparation for refining technical specifications with the team. You will perform hands-on code development and delivery, ensuring that coding standards, patterns, and approaches are appropriate, consistent, and of high quality. You will be considered an expert within the team on tools and technology in use like Java, SQS / SNS services, Aurora DB, and web services stack. Additionally, you will establish a culture of software crafting best practices in your team, including Test Automation, Continuous Integration, and Continuous Deployment. You will collaborate with Staff Developers and other teams on new technologies and technical thought leadership, interface regularly with our Engineering manager / Architects to ensure technical solutions meet the needs of the project, and engage in Agile software development activities, including sprint planning, daily standups, retrospectives, and hackathons. You will also collaborate with other teams to help drive alignment and understanding of requirements and dependencies, and influence our overall product development strategy and roadmap. Note that 90% remote work is allowed; however, you must travel to Deere office locations in Milan, IL and Johnston, IA for planning meetings and deployments as required.