Design and develop user interface applications on embedded devices that have touch screen interfaces. Understands requirements, features, and participates in software development cycle to implement user interface functionality interacting with various applications. The position is based in Alpharetta, Georgia.
- Performs technical analysis, design, coding, testing, development, debugging and modification of software systems. Defines both functional and technical requirements to facilitate design, development, testing and implementation.
- Interacts with a variety of internal teams to define system or application software requirements. Prepares technical documentation and provides written, concise proposals and recommendations.
- Investigates and analyzes software related industry/product standards, specifications and research literature to evaluate new technologies. Performs competitive product evaluations and determines if the research and design is valid and practical to develop innovative product/software designs.
- Participates in a variety of complex software engineering projects to develop and execute software designs for new and existing projects. Partners closely with internal teams to meet deliverables, troubleshoot and solve issues/concerns and ensure successful results. Establishes and meets project schedule objectives and product specifications.
- Identifies and implements improvements for software design and test processes.
- Research GUI tools, packages, and modules that help evaluate user interaction using keypad and touch gestures.
- Bachelor’s degree in computer science, computer engineering, electrical engineering or equivalent.
- Minimum of 2 years’ experience in embedded software design, specifically embedded Linux
- Skills in software system design; embedded systems programming fundamentals and techniques; object oriented design and programming, graphics processing and knowledge of design patterns.
- Advanced level knowledge of and experience in C++. Multi-process/threaded experience using Linux is preferred.
- Development experience with rendering graphics using OpenGL ES on Linux.
- Knowledge of 2D/3D graphics algorithms/pipeline and familiarity in animation techniques is a plus.
- Development experience using touch and gesture based graphical interfaces.
- Experience with GPU profiling and optimization.