We are currently looking for a Software Engineer (Temporary) to develop and maintain high performance system application software as well as real-time/embedded software including low-level development. Projects may include networked client-server applications, database driven applications, as well as network communication development. C/C++ required, SQL Database, network programming experience with TCP/UDP/IP. Development experience in Linux is a must. Good experience in Linux kernel and hardware device drivers is a plus. Design, modify and implement software applications from functional and system design specifications. Code, integrate, test, debug, and refine the software to produce the required product. Familiar with software lifecycles and maintain the developed software efficiently.
• Designs, modifies and implements software applications from functional and system design specifications.
• Codes, integrates, tests, debugs, and refines the software to produce the required product.
• Develops software tools and subsystems to support software development, test, and reuse, and manages their implementation.
• Enhances software to reduce operating time or improve efficiency and robustness.
• Reviews, evaluates, and analyzes design interfaces.
• Prepares, reviews, and evaluates interface documentation, specifications, test plans and procedures.
• Assists in definition, analysis and allocation of requirements.
• Supports system test programs and analyzes system testing results.
• Familiar with software lifecycles and maintains the developed software efficiently.
• Familiar with a variety of the discipline field’s concepts, practices and procedures.
• Documents designs in engineering documents including functional block diagrams and data/logic flow charts
• Will report directly to a team lead.
Must be show demonstrated responsibility to manage multiple priorities and make efficient use of given resources such as system lab time and downstream process owners and tasks.
Demonstrated engineering communication expertise including concise written and verbal skills is a must. Must work well in a small team setting. Some interface to customer in the way of engineering documentation also required.
Must resolve complex problems quickly and efficiently. IFE development involves many system level issues including real time, performance and reliability requiring understanding of distributed processors in an embedded system environment. Many problems are multi-dimensional requiring nontraditional solutions to fit within the constraints of an embedded system providing highest value to the customer and end user to bring entertainment in an aircraft. A wide degree of creativity and latitude is expected.
• Bachelor's degree or equivalent in Computer Science, Information Systems, Engineering, or other related field.
• Typically requires 5 ~ 8 years of software development experience.
• C/C++ required, SQL Database, network programming experience with TCP/UDP/IP, Linux platform development.
• Good experience in Linux kernel and hardware device drivers is a plus.
• Familiarity with network security methodologies a plus.
• Prior experience of multimedia application development including streaming audio/video servers and clients highly desirable.