Senior Software Engineer

Ingersoll Rand

(Minneapolis, Minnesota)
Full Time
Job Posting Details
About Ingersoll Rand
Ingersoll Rand (NYSE:IR) advances the quality of life by creating comfortable, sustainable and efficient environments. Our people and our family of brands—including Club Car®, Ingersoll Rand®, Thermo King® and Trane®—work together to enhance the quality and comfort of air in homes and buildings; transport and protect food and perishables; and increase industrial productivity and efficiency. We are a global business committed to a world of sustainable progress and enduring results.
Summary
Trane Sr. Software Engineer will be working with a highly integrated team in a software development role with today’s latest software technologies. This is an ideal opportunity for someone interested in design and development of next generation building automation controls and tools. The position will work with a global software engineering team in fast pace and adaptive environment.
Responsibilities
* **Leadership** - Coordination of planning, tracking, scheduling, risk assessment and task assignments for global development teams. Mentoring, management liaison, progress reporting, decision-making and conflict management. * **Architecture** – Provide leadership in partitioning software products and families of software products into distinct components in order to meet business and engineering goals such as customer usability, component reusability, consistency, extensibility and maintainability. Drive trade-offs between possible approaches and turn into strategies that guide design and implementation by development teams. * **Requirements Analysis** – Understand fundamentals of requirements analysis, elaboration of system requirements to software requirements, provide feedback in areas such as completeness, practicality, measurability and testability. * **Task Estimation** – Prepare accurate schedules for all project assignments and activities. Understand estimation methods such as function point analysis and task breakdown based on historical models. * **Risk Management** – Possess and utilize an understanding of risk management concepts, identification, and ranking and mitigation strategies. * **Configuration Management** – Possess a good understanding of basic SCM process and use in everyday tasks. Understand and use SCM as it relates to shared software components. * **Software Construction** – Understand construction fundamentals; minimize complexity, anticipate change, plan for verification. Make appropriate use of planning, modeling, reuse and measurement. * **Peer Reviews and Inspections** – Knowledge and use of formal inspection methods. Active participation in design reviews and mentoring of peers in design best practices. * **Software Design** – Understand and apply generally accepted best practices in design methodology. Understand key issues and use proper techniques for concurrency, event handling, distribution of components, exception handling, etc. Use of formal design methodologies and notations such as UML. Understand and make use of common design patterns. * **Testing** – Understand the role and use of testing throughout the life cycle. Create and execute test plans and test software at appropriate times in the development cycle. * **Quality** – Understand and use methodologies that promote the creation of quality software such as CMM, CMMI and Six Sigma. * Ability to meet short- and long-term deadlines * Ability to work regularly and dependably * Writes code using industry best practices and maximizes impact of software reuse. * Proactively provide mentoring to remote and junior engineers working in the development team. * Effectively motivate and lead a cross functional, international development team * Demonstrate flexibility and ability to work with offshore development teams * Demonstrate ability to cope with stress and maintain a pleasant and cooperative temperament with internal and external customers. * Demonstrate ability to perform mental tasks such as making decisions, learning, thinking rationally and exercising good judgment.
Ideal Candidate
* Bachelor of Science degree in Computer Science, Computer Engineering or related discipline required. * 8+ years of developing software using object-oriented design and implementation required. * Extensive experience in Microsoft .net development is desired * Understanding of communications protocols is desired * Experience in embedded software development is desired * Tools & Languages – Visual Studio, C#, asp.net, Javascript, Webservices * Excellent verbal, written and interpersonal skills. * Object Oriented Methodologies – OOA, OOD, OOP, modeling with UML

Questions

Answered by on
This question has not been answered
Answered by on

There are no answered questions, sign up or login to ask a question

Want to see jobs that are matched to you?

DreamHire recommends you jobs that fit your
skills, experiences, career goals, and more.