Embedded Software Developer Internship Loc:New York City, NY
100,000 - 200,000
Job Description:
Job description
- Serve as a member of the Office Controller Embedded Software Development team, for a growing family of office multi-function and printer devices.
- Our development team is responsible for developing features which allow Office products and Document Processing Services to be integrated into the latest market technologies and mobile platforms.
- Responsible for specific aspects of the software delivery process which may include gathering requirements, designing and developing software solutions,
- Ensuring similar practices within the team, documenting software implementations, and investigation and problem solving.
- Responsible for embedded applications, new feature design, development and programming in C++/C, Java on a Linux platform.
- Work with customer representatives (product owners) to gather, detail, document, and clarify requirements at the beginning of projects.
- Design, implement, debug and unit test software for new and existing applications.
- Participate in a collaborative global work environment.
- Create various Unit Tests and perform Test-driven development.
- Write automated system integration tests using Perl and Ruby.
- Perform code analysis using static analysis tools. Create UML design documents.
Job
- R&D, Computer Science & Engineering
- Primary Location
- United States-New York-Webster
- Organization
- Global Development Group
Minimum education required:
- Bachelors degree in process or equivalent in Computer Science, Computer Engineering, or a related field.
Skills required:
- The following skills which have been obtained through course work or internships are desirable for this position:
- Embedded application development in a Linux environment.
- Working knowledge of POSIX and GNU tools.
- Unix socket programming experience including using TCP/IP and UDP protocols.
- Desire to learn various networking security protocols and certificate management
- Demonstrated object oriented design, analytical, and problem solving skills.
- Knowledge of programming languages including C, C++, Java, Perl, shell,
- Basic understanding of software testing methodologies and practices. Basic experiences with an existing unit testing framework are desirable.
- Basic understanding of software configuration management principles.
- Basic debugging and troubleshooting techniques for embedded systems.