Our world is transforming, and PTC is leading the way. Our software brings the physical and digital worlds together, enabling companies to improve operations, create better products, and empower people in all aspects of their business.
Our people make all the difference in our success. Today, we are a global team of nearly 7,000 and our main objective is to create opportunities for our team members to explore, learn, and grow – all while seeing their ideas come to life and celebrating the differences that make us who we are and the work we do possible.
Senior Software Engineer - Installer
IND-Pune - Weikfield
At PTC Portland, our technologies have a reputation for “Quality in everything we do” and are valued in the market accordingly.
We are looking for a highly motivated individual with exceptional talent ready to join the Kepware Development team in Pune focused on our best-in-class industrial automation products. As a senior software engineer, you will be a key member of our department, ensuring that the tools our scrum teams use for automated testing are effective and efficient.
As a senior software engineer, you are trusted to develop specific pieces of functionality with minimal oversight and with the ability to lead junior staff that are collaborating with you. Your passion for software development and for making things better will ensure we are using modern software techniques, tools, and best practices.
You are a problem solver at heart, skilled at leveraging technology to provide best in class solutions. You are an adaptable, driven, autonomous yet collaborative senior engineer eager to help us continue to build great products. You are striving to continuously improve your technical skills and industry knowledge by studying software design and implementation techniques, state-of-the-art development tools, and participating in educational opportunities.
You are excited to participate at every phase of the Agile methodology and are willing to take on challenging problems. You have a strong understanding of Agile principles and processes, Test driven development, Unit and Automated testing, and Continuous Integration.
Day-To-Day:
You will be part of a fast-moving, responsive team using Agile processes to create world class software products which will bring value to our customers.
You will create installer(msi), patches for the application utilizing packaging tools, scripts, and technologies. Incorporate security considerations and ensure compatibility and optimal performance. You will implement industry best practices and emerging technologies to application packaging. Maintain comprehensive documentation of packaging processes.
You will collaborate with other team members in Pune and in the US to design innovative tools to augment our Automation Framework and infrastructure. You will collaborate with developers, QA, and business representatives to develop solutions that meet market needs in an Agile environment. You will attend daily stand-up to stay agile, share ideas, give feedback, and stay on track. Though primarily a software development and automation function, you recognize that it is teams that create software and are committed to collaborating with your team to ensure that all definitions of done are achieved, including functional and non-functional requirements, automation, security, and DevOps aspects.
Preferred Skills and Knowledge:
- Perform work of high difficultly in writing, editing, modifying, and debugging software, tools, and regression automation
- Use and promote modern software development principles and best practices to design and develop software that meets customer requirements for functionality and performance, as well as ensure the maintainability, scalability, and security of the software/framework.
- Extensive experience in application packaging/repackaging and upgrade for various operating systems (primarily Windows)
- Proficiency in using installer creation tools like WiX (Windows Installer XML) and understanding of Windows Installer ( https://learn.microsoft.com/en-us/windows/win32/msi/about-windows-installer ).
- Experience working with Merge Modules ( https://learn.microsoft.com/en-us/windows/win32/msi/merge-modules ) and knowledge of C++ / Windows API/ C# for creating custom actions and integrating them with the feature as required.
- Experience working on silent installation packages.
- Ability to implement error handling to manage installation failures (rollback) and provide meaningful error messages.
- Good understanding of MSI packaging technologies orca ( https://learn.microsoft.com/en-us/windows/win32/msi/orca-exe ) and Bootstrapper ( https://learn.microsoft.com/en-us/windows/win32/msi/bootstrapping ).
- Understand and decompose business requirements.
- Create designs to meet requirements and provide technical documentation outlining design and operation.
- Experience with containers (docker) and container orchestration (docker-compose, Kubernetes), Gitlab
- REST API open standards (Swagger, OpenAPI, etc.)
- Compile and analyze data, processes, and code to troubleshoot problems for improvement.
- Architect future solutions and help evaluate tools and emerging technologies.
- Review the designs, implementations, and documentation of software engineers to ensure they meet company standards for quality, clarity, maintainability, scalability, and performance.
- Working on and with agile teams
Preferred Experience:
- Collaborating with multiple teams to ensure technologies interoperate and leverage a common infrastructure.
- Providing technical leadership and mentoring junior software engineers.
- Developing software for both Windows and Linux
Basic Qualifications:
- Bachelor’s degree in computer science, Computer Engineering, or related STEM field
- 5+ years’ experience in software development
- Advanced knowledge of the following technologies:
- Languages: C++, C# and scripting languages such as Python, Powershell desired
- Software Tools: Issue Tracking software, Unit Testing Frameworks, Network Analysis Tools. Preferred software tools include Visual Studio, GitLab, JIRA, SQL, Postman, WiX, Orca
- Containers (docker) and container orchestration (docker-compose, Kubernetes)
- Excellent troubleshooting skills. Able to analyze large-scale, complex systems incorporating application software, 3rd party libraries, hardware, operating systems, and networks, and determine root cause of issues.
- A solid understanding of the client/server software model and networking concepts
- A strong understanding of network protocols, including TCP/IP, UDP, and SOAP
- An understanding of Agile principles, Agile processes, Test driven development, and continuous integration.
Life at PTC is about more than working with today’s most cutting-edge technologies to transform the physical world. It’s about showing up as you are and working alongside some of today’s most talented industry leaders to transform the world around you.
If you share our passion for problem-solving through innovation, you’ll likely become just as passionate about the PTC experience as we are. Are you ready to explore your next career move with us?
We respect the privacy rights of individuals and are committed to handling Personal Information responsibly and in accordance with all applicable privacy and data protection laws. Review our Privacy Policy here."
Top Skills
What We Do
PTC (NASDAQ: PTC) unleashes industrial innovation with award-winning, market-proven solutions that enable companies to differentiate their products and services, improve operational excellence, and increase workforce productivity. With PTC, and its partner ecosystem, manufacturers can capitalize on the promise of today’s new technology to drive digital transformation.