The job's main purpose is to contribute to the development and optimisation of the Graphics components used in Samsung's devices. You will be responsible for performing all, or part, of the software development cycle (from Analysis, Specification, Designing, Documentation, Implementation, Verification and Commercialization Support) for a given area of software development. An important part of the job will be offering advice on and helping to incubate new projects, which may involve feasibility, design and prototyping work across the complete range of software platforms and applications. You will be expected to develop and maintain a wide understanding of all Linux based platforms including the Graphics components that can be used in Samsung devices and to provide high level technical input to architectural designs.. The main tasks you are expected to perform include, but are not limited to:
• Develop and implement areas of functionality and technology towards the requirements of Samsung’s System Engineering projects for Samsung devices.
• Carry out with minimal technical supervision detailed interpretation of architectural documentation, project requirements, and technical marketing information.
• Have technical responsibility for one or more significant sections of the assigned project and carry out, with minimal supervision, the assigned work.
• Perform feasibility studies, high level designs, and prototype coding activities typical of the incubation stages of large Software projects. • Contribute to architectural designs of large complexity and size, potentially involving several distinct software components. • Support specific areas of functionality in developments both at SRUK and other locations in Samsung on in collaboration external partners. • Engage directly with Samsung internal customers, 3rd party suppliers.
• Work at a high level in introducing new and innovative technology. • Provide advice to the line and project managers for project planning and budgeting. • Assist the other team members with their work, technically supporting some junior software engineers within the team. • Production of both high quality code and written reports to Samsung Corporate standards where required and attendance of meetings as appropriate.
• To work as a member of a team, encouraging team building, motivation and cultivate effective team relations. • To support the Team Manager in identifying training, development needs and evolving development of the methods and processes.
Necessary Skills / Attributes
Necessary skills/attributes: 1. Expertise in Graphics with some experience in design and development of Graphic stacks for embedded systems including low-level graphics acceleration.
2. Good knowledge of embedded GPU architectures and associated pipeline and DDK integration to one or more OS.
3. Expertise in performance measurement and analysis of GPU micro-architectures and complex 3D scene workload and exposure to different Graphics benchmarks.
4. Desirable expertise in General Purpose Computation on GPUs (i.e. OpenCL, Cuda, DirectCompute).
5. Expertise in Android OS and embedded Linux, possibly with an understanding of Linux kernel and device drivers. 6. Proficiency in C and C++ and a good understanding of Java programming languages.
7. A proven track record in real time embedded software development preferably with an understanding of the embedded development environments, cross-compilers and associated development restrictions.
8. Experience in software testing and debugging techniques on embedded targets and proficient on software debugging tools.
9. Good analytical and logical thinking capability
10. A good understanding of documentation requirements and able to able to clearly present complex ideas and technical designs.
10. A good understanding of documentation requirements and able to able to clearly present complex ideas and technical designs.
11. A good level of inter-personal and communication skills to be able to communicate with a wide range of people up to the Managing director and VP level.
12. The desire and ability to work within a team structure and to be able to mentor junior engineers.
13. A high degree of self-motivation and the ability to work alone, managing own work and setting sensible priorities according to requirements.