Senior Staff Engineer, Dotnet Windows
Full-time Not ApplicableJob Overview
REQUIREMENTS:
- Total Experience 8+years.
- Should have strong proficiency in C#, VB.NET, .NET Framework, and .NET Core.
- Must have experience with multithreading and messaging architectures and frameworks.
- Must have experience in SQL for designing, querying, and optimizing relational databases to store and manage machine operational data and application settings
- Must have experience working with Threads and multitasking concepts to develop efficient and responsive machine control applications, managing concurrent operations safely.
- Must have experience in design, develop, and integrate software solutions for machine tools, focusing on optimizing manufacturing processes and data acquisition.
- Should be able to conduct thorough reviews and refactoring of existing machine control applications to improve performance, reliability, and maintainability.
- Should have experience in implementing and debugging standard industrial communication protocols such as TCP/IP, Modbus, OPC UA, or similar protocols used for communication between the C# application, PLCs (Programmable Logic Controllers), and other machine hardware.
- Should have experience interfacing C# applications with Data Acquisition (DAQ) Cards (e.g., National Instruments (NI), Advantech, Adlink) for real-time data logging, sensor monitoring, and machine input/output (I/O) control.
- Should have experience in integrating and program machine control features, including Motion Axis control (servo/stepper systems) and implementing or interfacing with Vision Systems for inspection, guidance, or quality checks
- Should have experience in maintain software quality, including developing and executing unit tests (e.g., using frameworks like NUnit or MSTest) to ensure code reliability and validate business logic.
- Should implement robust error and exception handling mechanisms across all applications to ensure system stability and graceful failure recovery.
- Must have experience in executing projects independently and in a team.
- Should be effective written and verbal communication skills are essential to communicate with clients.
RESPONSIBILITIES:
- Writing and reviewing great quality code
- Understanding the client’s business use cases and technical requirements and be able to convert them into technical design which elegantly meets the requirements.
- Mapping decisions with requirements and be able to translate the same to developers.
- Identifying different solutions and being able to narrow down the best option that meets the clients’ requirements.
- Defining guidelines and benchmarks for NFR considerations during project implementation.
- Writing and reviewing design document explaining overall architecture, framework, and high-level design of the application for the developers.
- Reviewing architecture and design on various aspects like extensibility, scalability, security, design patterns, user experience, NFRs, etc., and ensure that all relevant best practices are followed.
- Developing and designing the overall solution for defined functional and non-functional requirements; and defining technologies, patterns, and frameworks to materialize it.
- Understanding and relating technology integration scenarios and applying these learnings in projects.
- Resolving issues that are raised during code/review, through exhaustive systematic analysis of the root cause, and being able to justify the decision taken.
- Carrying out POCs to make sure that suggested design/technologies meet the requirements.
Make Your Resume Now