Rickard Eilert
Personal Summary
Skilled computer engineer with a positive attitude. Programming for 27 years with experience as developer, architect, project manager, product owner, and presales.
Can discuss business deals, project roadmaps, and technical implementation details with customers and partners in an international context. In any role, interested in optimising a project, involving multi-site teams, multi-vendors, information sharing, risks, hard deadlines, budgets and people with different personalities and responsibilities.
Currently looking for interesting job opportunities in software companies as a self-employed consultant. Please email contact@rickardeilert.com to discuss work.
Download CVWork Experience
Game Engine Developer at REABaug 2023 – now
In C++, developed a web browser, JS interpreter, custom game engine to make a real-time strategy game.
In C++, developed a web browser, JS interpreter, custom game engine to make a real-time strategy game.
Frontend Playback and UI Engineer at Teliasept 2019 – july 2023
Helped Telia transition from plugin-based video players to MSE/EME. HTML5 frontend development and especially JavaScript players integration and tweaking of dash.js on teliaplay.se and shaka.js on Chromecast. STB UI development. Youbora statistics integration. Familiarity with broadcast systems, video encoding, packaging, streaming, ad tech, subtitling, DRM, dash, smooth, hls.
Helped Telia transition from plugin-based video players to MSE/EME. HTML5 frontend development and especially JavaScript players integration and tweaking of dash.js on teliaplay.se and shaka.js on Chromecast. STB UI development. Youbora statistics integration. Familiarity with broadcast systems, video encoding, packaging, streaming, ad tech, subtitling, DRM, dash, smooth, hls.
Product and Tech Sales Architect at Zenterio ABjan – aug 2019
Meetings with partners, current customers, and new customers all over Europe and Middle East, to discuss potential business deals with Zenterio, a company which provided software for STBs (set-top boxes). Part of the product team, which steered the development at Zenterio to fit current and future customers demands. As a technically savvy salesman, developed demos, discussed technical details and made time and cost estimations. Managed a UI design research cooperation with the Linköping University. Experimented with UI performance on STBs during free moments, then developed a new demo product which has the world’s fastest HTML UI on low-end STBs. Unfortunately, Zenterio failed to acquire planned investments, which lead to the bankruptcy of the company and an abrupt end to promising businesses.
Meetings with partners, current customers, and new customers all over Europe and Middle East, to discuss potential business deals with Zenterio, a company which provided software for STBs (set-top boxes). Part of the product team, which steered the development at Zenterio to fit current and future customers demands. As a technically savvy salesman, developed demos, discussed technical details and made time and cost estimations. Managed a UI design research cooperation with the Linköping University. Experimented with UI performance on STBs during free moments, then developed a new demo product which has the world’s fastest HTML UI on low-end STBs. Unfortunately, Zenterio failed to acquire planned investments, which lead to the bankruptcy of the company and an abrupt end to promising businesses.
Product Owner & Project Manager at Zenterio AB2017 – 2019
Responsibility for the long-term strategy, technical planning, budgeting, integration and performance optimisations of web browsers on various embedded platforms running Zenterio OS. Prioritised tasks to make sure requirements and deadlines were met by keeping in daily contact with customers and developers on several sites. Used knowledge about web browsers gained from previous career at Opera Software, HTML5 app performance research and not least from having built a browser from scratch at home. Lead Zenterio to successfully integrate the Cobalt browser and certificate the YouTube TV app on several STBs. Furthermore, lead the integration of the WPE (WebKit Platform Embedded) browser, and improvement of its compatibility with several legacy apps using MSE+EME (dashplayer, hasplayer). Capability to work under stress during a hectic year, which included overtime and weekly travelling between developers in Linköping, RT-RK consultant developers in Belgrade, customer + development teams at Deutsche Telekom in Darmstadt, and partners at Metrological in Rotterdam.
Responsibility for the long-term strategy, technical planning, budgeting, integration and performance optimisations of web browsers on various embedded platforms running Zenterio OS. Prioritised tasks to make sure requirements and deadlines were met by keeping in daily contact with customers and developers on several sites. Used knowledge about web browsers gained from previous career at Opera Software, HTML5 app performance research and not least from having built a browser from scratch at home. Lead Zenterio to successfully integrate the Cobalt browser and certificate the YouTube TV app on several STBs. Furthermore, lead the integration of the WPE (WebKit Platform Embedded) browser, and improvement of its compatibility with several legacy apps using MSE+EME (dashplayer, hasplayer). Capability to work under stress during a hectic year, which included overtime and weekly travelling between developers in Linköping, RT-RK consultant developers in Belgrade, customer + development teams at Deutsche Telekom in Darmstadt, and partners at Metrological in Rotterdam.
Integration Expert at Deutsche Telekom GmbH2016 – 2017
Two years on site at Deutsche Telekom’s offices in Darmstadt (Germany) as an integration expert. All-knower, involved in more or less all activities in the project. Helped Zenterio to create an abstraction of Huawei’s backend APIs, and helped Telekom’s UI Team to write an HTML UI for the Zenterio OS, using mentioned APIs + STB-control APIs. Clarified requirements, implemented features, demonstrated new deliveries for Telekom employees, participated in troubleshooting and performance-improving taskforces. Involved in porting twenty apps to the Zenterio platform, including Telekom HTML5 apps, Sky, YouTube, Netflix, Amazon, and more.
Two years on site at Deutsche Telekom’s offices in Darmstadt (Germany) as an integration expert. All-knower, involved in more or less all activities in the project. Helped Zenterio to create an abstraction of Huawei’s backend APIs, and helped Telekom’s UI Team to write an HTML UI for the Zenterio OS, using mentioned APIs + STB-control APIs. Clarified requirements, implemented features, demonstrated new deliveries for Telekom employees, participated in troubleshooting and performance-improving taskforces. Involved in porting twenty apps to the Zenterio platform, including Telekom HTML5 apps, Sky, YouTube, Netflix, Amazon, and more.
Software Engineer at Zenterio AB2015 – 2016
Analysed customer requirements and programmed the backend abstraction APIs for JavaScript developers in C++. Sole developer of an HTML5 application used for testing all APIs. Starting as a side project, the application is now a crucial part of Zenterio’s workflow, and used by hundreds of developers, testers and customers every day.
Analysed customer requirements and programmed the backend abstraction APIs for JavaScript developers in C++. Sole developer of an HTML5 application used for testing all APIs. Starting as a side project, the application is now a crucial part of Zenterio’s workflow, and used by hundreds of developers, testers and customers every day.
Software Engineer at Systemagic AB2014 – 2015
Working on in-house projects, designing and implementing a framework which assists cross-TV-platform HTML5 app development. It provides a JavaScript library that works for many TV platforms by wrapping their platform-specific code, and it has a build system written in Python, which packages code for supported backend platforms. Researched HTML5 run-time performance and web browser inner workings. The company Systemagic was acquired by Zenterio.
Working on in-house projects, designing and implementing a framework which assists cross-TV-platform HTML5 app development. It provides a JavaScript library that works for many TV platforms by wrapping their platform-specific code, and it has a build system written in Python, which packages code for supported backend platforms. Researched HTML5 run-time performance and web browser inner workings. The company Systemagic was acquired by Zenterio.
Software Developer at Opera Software AS2009 – 2011
Wrote a presentation-creating HTML5 app, which works like Google Slides (PowerPoint). It pushed the limits on what was possible and resulted in a list of suggested improvements and bug reports on how Opera Presto handled Javascript, the DOM, CSS3. Thanks to that, Opera became more standards-compliant. Work also involved solving bugs in the Bream UI, which improved the user experience in Opera Mobile/Mini for hundreds of millions of users. Worked full time from the office in Linköping during summers, and remote with colleagues in Linköping, Oslo, Wrocław at 25% whilst studying full time.
Wrote a presentation-creating HTML5 app, which works like Google Slides (PowerPoint). It pushed the limits on what was possible and resulted in a list of suggested improvements and bug reports on how Opera Presto handled Javascript, the DOM, CSS3. Thanks to that, Opera became more standards-compliant. Work also involved solving bugs in the Bream UI, which improved the user experience in Opera Mobile/Mini for hundreds of millions of users. Worked full time from the office in Linköping during summers, and remote with colleagues in Linköping, Oslo, Wrocław at 25% whilst studying full time.
Student Counselor at Linköping University2009 – 2011
Worked 25% arranging events for presumptive and current IT students, giving advice concerning career and specialisation opportunities, informed about student aid, scholarships, had performance reviews with all freshmen, gathered statistics and proposed improvements for the IT programs to the Study Board.
Worked 25% arranging events for presumptive and current IT students, giving advice concerning career and specialisation opportunities, informed about student aid, scholarships, had performance reviews with all freshmen, gathered statistics and proposed improvements for the IT programs to the Study Board.
Web Community Developer at Staffan Wadsworth AB2008 – 2009
Worked on weekends during military service (conscription), implementing new features on a Swedish web community called poeter.se. E.g. improving security and integrity by rewriting how a user password was stored and reset. HTML5, PHP and MySQL.
Worked on weekends during military service (conscription), implementing new features on a Swedish web community called poeter.se. E.g. improving security and integrity by rewriting how a user password was stored and reset. HTML5, PHP and MySQL.
Developer at Crepido ABJune – Aug 2007
Added features and rewrote parts of the company's ERP system written in HTML5, PHP and MySQL. Changed the code which generated the invoice pdf so that all logos, names etc. were not hard-coded. This allowed customisation of the generation of the invoice so that Crepido could sell their in-house developed ERP system to other companies.
Added features and rewrote parts of the company's ERP system written in HTML5, PHP and MySQL. Changed the code which generated the invoice pdf so that all logos, names etc. were not hard-coded. This allowed customisation of the generation of the invoice so that Crepido could sell their in-house developed ERP system to other companies.
Competence Domains
Game Dev, Perf, SDL, OpenGL, AI, Computer Gfx, Gimp | Parsers, Compilers, AST, Asm, VHDL, Microinstr | Programming Paradigms Design patterns | C/C++, Pascal, Python, Basic, Java, Ada, Lisp, Prolog, VBA |
HTML5 JavaScript Web Browser Dev | Network Protocols PHP CGI NodeJS SQL | Setup OS, LAMP, Filesystems | Linux Android Windows IPTV |
Language Tech Distributed systems | Presales, Req Spec, Time/Cost Estimation | Project, Product, Team Management, Agile | Jira, cvs, svn, git Emacs, Eclipse, Crucible |
Academic qualifications
European Languages
Linköping University and Albert-Ludwigs-Universität Freiburg
Linköping University and Albert-Ludwigs-Universität Freiburg
2012 – 2014
Master in Computer Engineering
Linköping university and École Polytechnique de Montréal
Linköping university and École Polytechnique de Montréal
2010 – 2012
Military Service (Conscription)
Communications squad commander at the Leadership regiment Enköping
Communications squad commander at the Leadership regiment Enköping
2008
Bachelor in Computer Engineering
Linköping university
Linköping university
2006 – 2010
Upper Secondary School
Extended Science program, profile mathematics/informatics at Katedralskolan Växjö
Extended Science program, profile mathematics/informatics at Katedralskolan Växjö
2003 – 2006
Languages
This is a big hobby of mine. I speak:
English, Swedish, French, German, Italian, Spanish, Portuguese, Catalan, Polish, Icelandic, Russian and Serbian.
English, Swedish, French, German, Italian, Spanish, Portuguese, Catalan, Polish, Icelandic, Russian and Serbian.
Show details…
Leisure
Travel, spend time in international environments, and lived in several countries to satisfy curiosity and passion for learning languages. Free time spent programming hobby projects, doing reps in the gym, running in the woods, meeting friends and my Italian girlfriend.
Interested in psychology, strategy games, artificial intelligence, philosophy, economy, and politics.
Miscellaneous
- Started and presided programming group during upper secondary school for 3 years. Regular programming meetings including snack sponsored by the school.
- Competed twice in the Swedish qualifications for the International Olympics in Informatics. Was among top 10 in Sweden. Won a programming scholarship in upper secondary school.
- Won some money taking part in IMPA and a sorting algorithm competition arranged by PicSearch.
Hobby programming projects
Web Browser2015 – 2024
Wrote a C++ library for creating gui components for games. As I added more and more features, it turned into a full fledged Web Browser. Includes parsing of CSS, HTML and JS, building of a DOM, computing CSS, construction of a render tree, layouting, painting in different raster buffers, uploading to textures, and finally render with the GPU. CSS pseudo-classes and DOM bindings for its JavaScript Interpreter can dynamically change the content of the page. The end result is a customisable web browser which is fast and has a small memory footprint. It can be integrated into other projects, and/or be used on low-end embedded systems. It is comparable to Google’s Cobalt web browser. Profoundly learned about CSS, HTML, JavaScript, and inner workings of web browsers.
Wrote a C++ library for creating gui components for games. As I added more and more features, it turned into a full fledged Web Browser. Includes parsing of CSS, HTML and JS, building of a DOM, computing CSS, construction of a render tree, layouting, painting in different raster buffers, uploading to textures, and finally render with the GPU. CSS pseudo-classes and DOM bindings for its JavaScript Interpreter can dynamically change the content of the page. The end result is a customisable web browser which is fast and has a small memory footprint. It can be integrated into other projects, and/or be used on low-end embedded systems. It is comparable to Google’s Cobalt web browser. Profoundly learned about CSS, HTML, JavaScript, and inner workings of web browsers.
JavaScript Interpreter2016 – 2024
A JavaScript Interpreter in C++ which parses code into an Abstract Syntax Tree and then executes it. It has support for most commonly used features in newer JavaScript versions. It is easily extendible, and with an extremely small footprint, it is made to be integrated into other projects. There are plans to add a JIT-compiler but still not clear for which architecture: x86, ARM or MIPS.
A JavaScript Interpreter in C++ which parses code into an Abstract Syntax Tree and then executes it. It has support for most commonly used features in newer JavaScript versions. It is easily extendible, and with an extremely small footprint, it is made to be integrated into other projects. There are plans to add a JIT-compiler but still not clear for which architecture: x86, ARM or MIPS.
Web application ecosystem2008 – 2024
Developed an advanced suite of modular JS apps, a JS library and server-side PHP scripts talking to a MySQL database. It resides on my own web/cloud server. Some web apps in the suite:
Developed an advanced suite of modular JS apps, a JS library and server-side PHP scripts talking to a MySQL database. It resides on my own web/cloud server. Some web apps in the suite:
- Clone of the popular Civilization game built with 4000 lines of JS code
- Chat app
- Media player using the Youtube API to gain access to the greatest media collection in the world
- Blog
- Colour picker
- File browser
- Glossary rehearsal program
- Editor with syntax highlighting
- A JavaScript interpreter
- A window system where multiple instances of all the above mentioned apps can be started and run in movable and resizable windows
Romans and Barbarians I, II2007, 2013 – 2014
Developed a real time strategy game resembling Age of Empires. It is written in platform independent C++ using SDL, has network support for up to 16 players, advanced pathfinding algorithm, and very low system requirements. In 2013 a sequel was made which has better graphics, fog of war, hills, more units, and a map editor.
Developed a real time strategy game resembling Age of Empires. It is written in platform independent C++ using SDL, has network support for up to 16 players, advanced pathfinding algorithm, and very low system requirements. In 2013 a sequel was made which has better graphics, fog of war, hills, more units, and a map editor.
RSDL22013 – 2015
Developed a C++ library which wraps SDL2 and adds methods usually needed when developing graphical programs. It includes a whole system of GUI objects, their events, updates and graphics.
Developed a C++ library which wraps SDL2 and adds methods usually needed when developing graphical programs. It includes a whole system of GUI objects, their events, updates and graphics.
Chess game2012
Written in C++ and SDL. The AI uses the min-max algorithm and alpha-beta pruning. It usually defeats me.
Written in C++ and SDL. The AI uses the min-max algorithm and alpha-beta pruning. It usually defeats me.
Design Pattern Analyser2012
As part of a PhD team in Canada, a program was written which analyses C++ code to find occurrences of design patterns. It also tries to find anti-patterns to propose refactoring of code.
As part of a PhD team in Canada, a program was written which analyses C++ code to find occurrences of design patterns. It also tries to find anti-patterns to propose refactoring of code.
PolyBanque2011
A distributed application written in Java. Clients simulate different banks and are started on different computers communicating over TCP. Any client can be crashed anytime. Even so, the programs manage to keep their money data from corruption and transactions atomic.
A distributed application written in Java. Clients simulate different banks and are started on different computers communicating over TCP. Any client can be crashed anytime. Even so, the programs manage to keep their money data from corruption and transactions atomic.
Language Translator2011
A program that identifies lemmas, part-of-speech, parses sentences into tree-structures which then are translated with a dictionary, and the word order is changed if necessary.
A program that identifies lemmas, part-of-speech, parses sentences into tree-structures which then are translated with a dictionary, and the word order is changed if necessary.
Raptor 22011
3D shoot 'em up game. Written in C++, OpenGL and SDL.
3D shoot 'em up game. Written in C++, OpenGL and SDL.
Köttkvarnen2010
A 14 MHz computer built on four small Programmable Logic Devices programmed using VHDL and ModelSim. It had video output to a TV through a scart cable, and input came from an old computer keyboard. Special assembler instructions copied graphical tiles fast. It worked like a Super Nintendo.
A 14 MHz computer built on four small Programmable Logic Devices programmed using VHDL and ModelSim. It had video output to a TV through a scart cable, and input came from an old computer keyboard. Special assembler instructions copied graphical tiles fast. It worked like a Super Nintendo.
Yxmördarn2010
Robot built by in a team at the university more or less from scratch using low-level C code, JTAG and ATmega16 processors. It could drive around and shoot a laser.
Robot built by in a team at the university more or less from scratch using low-level C code, JTAG and ATmega16 processors. It could drive around and shoot a laser.
Android app2009
Wrote an Android app to manage projects with deadlines, milestones, members, documents, etc.
Wrote an Android app to manage projects with deadlines, milestones, members, documents, etc.
Bloodbath2008
A clone of the popular game Liero where two worms in real time are trying to kill each other with a grand arsenal of weapons.
A clone of the popular game Liero where two worms in real time are trying to kill each other with a grand arsenal of weapons.
C++ CGI library & Web communityMaj – Aug 2005
Set up a web server and wrote a community where you could become member, have a presentation page, friends list, guest books, upload files, write in forums and chat with other members online. The client side part was written in HTML, CSS, and Javascript, whilst the server side was written in C++ using a self-developed C++ CGI-library). Also developed an Internet forum for a boat club where the members had different permissions to threads (read, write, admin).
Set up a web server and wrote a community where you could become member, have a presentation page, friends list, guest books, upload files, write in forums and chat with other members online. The client side part was written in HTML, CSS, and Javascript, whilst the server side was written in C++ using a self-developed C++ CGI-library). Also developed an Internet forum for a boat club where the members had different permissions to threads (read, write, admin).
TetrisMarch 2007
Wrote a Tetris clone in Ada supporting network play for 2 players.
Wrote a Tetris clone in Ada supporting network play for 2 players.
RiSNov – Dec 2006
Designed a language called RiS and developed an interpreter for it in Lisp. The language looked a lot like JavaScript. It had support for arrays, user defined functions, selfmodifying code, dynamic binding of variables, and much more. The only thing it lacked was speed.
Designed a language called RiS and developed an interpreter for it in Lisp. The language looked a lot like JavaScript. It had support for arrays, user defined functions, selfmodifying code, dynamic binding of variables, and much more. The only thing it lacked was speed.
Räkna med pengarSept – Dec 2006
Using VBA, integrated the stock exchange program Reuters, into a sheet in Excel which showed all your portfolio’s shares, the covariance between them, current values, hedge parameters, and how to buy and sell to reach minimal risk. Everything updated in real time with data from the stock markets of the world.
Using VBA, integrated the stock exchange program Reuters, into a sheet in Excel which showed all your portfolio’s shares, the covariance between them, current values, hedge parameters, and how to buy and sell to reach minimal risk. Everything updated in real time with data from the stock markets of the world.
CB SkatingJan – Apr 2005
During a project during the last year of upper secondary school, a skateboard platform game for DOS was developed in C++ and x86 assembler.
During a project during the last year of upper secondary school, a skateboard platform game for DOS was developed in C++ and x86 assembler.
Ms Windows applicationsAug 2004 – May 2005
Developed small Windows applications in C++. A Solitaire clone, a Calculator, and Yatzy.
Developed small Windows applications in C++. A Solitaire clone, a Calculator, and Yatzy.
68k Assembler2003
Wrote some smaller programs in 68k-assembler for a TI89 calculator.
Wrote some smaller programs in 68k-assembler for a TI89 calculator.
TjockemonSummer 2000
Wrote a Pacman clone in QuickBASIC when 13 years old. The monsters had a well-working pathfinding algorithm.
Wrote a Pacman clone in QuickBASIC when 13 years old. The monsters had a well-working pathfinding algorithm.