Graphic Engine Software Developer
Seniority Level: Low - Med - High
Employment Type: Full-time
Job Function: Developer
Location: Ottawa, Canada
Job Post: Graphic Engine Software Developer
Does the name Bresenham immediately cause you to smile and think about efficient line drawing algorithms? Have you explored the world of 16 bit color blending operations and thought to yourself … now that’s clever and efficient!? Do you like the idea of working directly with hardware accelerated graphics and finding the most efficient way to fill a rendering pipeline?
If you do … then you should think about coming to work at Crank Software where our job is to make hard things easy for our customers when it comes to embedded graphical user interface development!
Crank’s Storyboard Engine is the backbone in addressing this challenge. The Engine runs on embedded hardware with a plugin interface that lets us scale footprint and functionality right from small, memory constrained systems to large OpenGL multi-core platforms. We optimize down and then we drive performance up. It’s a constant shift that never gets boring because there is always some new piece of hardware with new functionality.
Crank is looking for embedded software developers who are particularly excited about optimizing and enhancing the rendering performance of our Storyboard engine whether it is our own software rendering capabilities or enhancing our GPU integrations to be more effective.
- Develop in C for embedded environments (Linux, QNX, FreeRTOS, …)
- Develop new product functionality based on customer feedback
- Support new rendering technologies packaged by NXP, STM, Renesas
- Enhance and extend core drawing operations and primitives of the engine
- Collaborate with team members to identify and resolve product issues
- Resolve rendering differences in cross platform environments
- Profile and optimize Engine performance
- Address product deficiencies and shortcomings
- Improve product quality with new automated test scenarios
- Identify product deficiencies and areas of improvement
- Enhance product test code coverage
- Participate in regulatory compliance test and development activities
- Source code control, track bugs, perform continuous integration and code analysis.
- Post-secondary degree in Computer Science, Software Engineering, Mathematics or other related discipline and/or diploma in a related field and/or equivalent in a combination of years of experience and education.
- Software development experience at a product level in C
- Familiarity with 2D and 3D graphic rendering algorithms and libraries
- Experience using embedded testing, automation and profiling tools
- Linux/QNX development experience
- Experience in graphics rendering and layouts for UI and UX design patterns
- Effective oral and written communication skills
- Collaborative team player with a knack for solving problems
- An impressive work ethic and a rocking attitude that goes with it!
Nice to Have:
- Prior experience with graphic frameworks and languages including Storyboard, Qt, Wayland, Weston, OpenGL, VGLite, Vulkan, G2D, DMA2D, ChromeArt, PXP, etc
- Experience with game engines and their rendering code paths
- Familiarity with input, LCD and display configurations
- Experience working with and interfacing with embedded systems
The most successful candidates are going to have a mix of background and experience:
- Full competency in C
- Software development experience at a product level
- Source code control, bug tracking, continuous integration, code analysis
- Enjoy challenges of putting big things into small spaces
- Do you pack your car like Tetris when you go on vacation?
- Interest in user experience, user interfaces, graphic design or rendering technologies
If you are one of those people and you want to work somewhere great, then you should definitely reach out and get to know who we are and what we’re all about!
Personal and professional attributes:
- Energy and enthusiasm
- If Eeyore is your soulmate, then you’re not going to be happy here.
- Critical thinking
- Great things come from a healthy debate and people with opinions to share are always welcome here. Big challenges mean doing things differently.
- Team attitude
- We write code alone, but we work as a team to make it the best code possible from idea generation to infrastructure support we are unified in our goal.
- Desire to learn
- Failure is an opportunity to do better. We fail frequently and we’re more successful because we learn from it and get better! Does that work for you?
Well, ask Crank’s employees! They were recently ranked as one of Ottawa’s top 10 employers at the 2018-2019 Employee’s Choice Awards.
Perks of working at Crank
- Competitive compensation plan including a comprehensive benefits program
- Annual health and wellness allowance
- Continuous professional development allowance
- Brand new innovative workspace
- Work-life balance
- Fun social atmosphere
Interested? Send your resume to firstname.lastname@example.org and reference "Storyboard Graphic Engine Software Developer" in the subject line.
Crank Software is an Equal Opportunity Employer and Prohibits Discrimination and Harassment of Any Kind.
Crank Software is committed to the principle of equal employment opportunity for all employees and to providing employees with a work environment free of discrimination and harassment. Crank Software will provide reasonable accommodation to employees who have protected disabilities consistent with local law.