Corning is one of the world’s leading innovators in materials science. For more than 160 years, Corning has applied its unparalleled expertise in specialty glass, ceramics, and optical physics to develop products that have created new industries and transformed people’s lives.
Corning succeeds through sustained investment in R&D, a unique combination of material and process innovation, and close collaboration with customers to solve tough technology challenges.
Corning's Manufacturing, Technology and Engineering division (MTE) is recognized as the leader in engineering excellence & innovative manufacturing technologies by providing diverse skills to Corning’s existing & emerging businesses.
We anticipate & provide timely, valued, leading edge manufacturing technologies and engineering expertise. We partner with Corning’s businesses and the Science & Technology division. Together we create and sustain Corning’s manufacturing as a differential advantage.
Scope of Position:
Software Development Engineer/Scientist with responsibility to develop, participate on development teams designing, developing, testing and deploying solutions for internal systems. This includes the ability to do this at an embedded level, participating with a HW designer / team in the architecture, debug and integration of the firmware with the hardware. Would participate on project teams leveraging emerging technologies to deploy state of the art software solutions across all Corning businesses. Participate in internal and external working groups to advance the use of emerging software technologies within Corning.
Day to Day Responsibilities:
- Work with team to develop system requirements, establish design constraints, and set priorities.
- Build software solutions for internal customer projects.
- Develop software at the embedded level and work closely with a hardware developer / team in architecting, developing for, debugging and testing at the SW / HW level.
- Participate in brainstorming and other ideation activities related to software development.
- Help develop Software and Software Project management best practices (from coding best practices to project management, unit test, archive management, etc…).
- Communicate development, testing results and project progress to team members and leadership.
- Integrate new systems and technologies into Development and Manufacturing systems.
- Transfer new technologies to equipment and process receivers, provide remote system support, and develop system documentation.
Some domestic and international travel based on project: 0-40%.
Hours of work/work schedule/flex-time:
40 hours per week and as required by project (e.g. during system installation and production start-up).
- Experience developing on a wide variety of embedded processor family types
- Experience developing on embedded processors using various operating systems
- Experience testing / debugging embedded software using various hardware tools such as oscilloscopes, etc.
- Experience working with hardware teams to assist in architectural and design choices impacting both the hardware and software architecture.
- Experience interfacing embedded processors to sensors or external peripherals using various communication protocols (IIC, SPI, RS232, Ethernet, etc.)
SW & HW Interface / Integration Skills Required:
- Experience interfacing a windows application to commercial equipment (sensors, lab instruments, etc.) via various standard interfaces (Ethernet, USB, IO, etc.)
- Experience interfacing a windows application to commercial IO (such as to National Instruments IO modules \ boards)
- Experience developing communication interfaces between systems (WCF, raw sockets, etc.)
- Experience performing system integration tasks and testing (including both software hardware aspects)
Windows Dev. Skills Required:
- C#, Visual Studio, Microsoft DotNet programming experience for manufacturing or commercial applications
- Experience writing and managing development to requirements
- Experience designing, reviewing, and producing design content via UML diagrams
- Experience writing parallel / multithreaded applications leveraging Microsoft TPL / windows threading
- Experience interfacing DotNet managed code to unmanaged code
- Experience developing user interfaces using DotNet Windows Forms
- Experience developing user interfaces using WPF (lower priority)
- Experience developing in layers emphasizing the separation of business logic from GUI display (MVC / MVVM a plus)
- Experience using a variety of source configuration management tools and collaborating in multi developer team environments
- Experience profiling software application performance
- Experience with unit test frameworks
Data System Interface Skills: :
- Experience setting up, managing and interfacing to databases from Windows applications
- Experience using Windows Entity Framework (desired)
- Experience interfacing to data systems via OPC, Ethernet IP, etc.
BS, MS or PhD in Computer Science, ElectricalEngineering, Physics, or relevant field.
Req #: 4228