This is my primary skill. I can not always recite the standard but I have the knowledge of what is efficient what is not. I am not afraid to work with software that uses template meta programming but instead I enjoy using such techniques. I enjoy and master the new C++11 (c++14, c++16) standards.
I enjoy working close to the hardware and reading datasheets. I am experienced in setting up interrupt routines, handling realtime requirements, analyzing latency and priorities, configuring clocks and PLLs, configuiring memories and DMA, setting up peripherals, making bootloaders and so forth. I also have experience with embedded Linux and Yocto.
I have working with a number of GUI frameworks including Qt(both QML/quick and widgets), VTK, PCL and created a couple of my own, I worked 4 years on the Populus product that is now owned by Luxoft. I have rendered with both OpenGL, DirectX, OpenVG, Renesas D/AVE, Fujitsi Pixel Engine, and QNX advanced graphics as well as making software renderers and using FPGA solution. I have experience with writing drivers for the Linux DRM/KMS stack as well as V4L2
I have lots of experience with optimization for both speed and memory size. I do both algorithmic optimizations as well as employing cpu/memory/gpu optimization.
With almost 20 years experience in the business I have acquired the knowledge of what works and what doesn't
I am not a purist in this, thus I do not generally develop test before the code but I try to do it alongside. For my own projects I usually use google test. I also try to add test that test the collaboration of components because faults often manifest here and it works good for regression testing.
Although I beleive my own Ad Hoc programming is the most agile of all, I do recognise the gain of doing some planning and formalization.
I prefer using CMake, but I can also work with make files as well as directly with IDEs. Some of the IDEs I have been using are: Visual Studio, Eclipse, Greenhills, CodeWarrior, Android Studio, XCode.
I have worked with a lot of different OS, for example Linux, Windows, Windows CE, QNX, OSEK, Android, iOS, MacOS, Integrity.
Most of the work I have done has been for the automotive industry
I have a decent knowledge of HTML and css. In the past I have made some implementations using JSP, but my current choice is ASP MVC with C#
Although I am not designer I do at least have some experience with using software like Photoshop, Illustrator, Gimp, 3d studio Max, Blender, After effects, and I do have an active subscription to Adobe Creative Cloud.
I have tried a lot of programming languages in my days besides C/C++. Here are some examples: Java, C#, Basic, Ada, Objective C, Pascal, Simula, SR, Haskell, TCL, Lisp, Php, Perl, Java script, Lua.
I have developed for both Android and iOS, and in the good old days I also did some development for Pocket PC and Symbian.
I have developed some applications that uses SQL databases.
This has always facinated me and in school I tried to take as many courses as possible about this.