My journey as developer begun from web development. I have started to learn how to code with "The Complete Web
Developer Course 2.0" online course on Udemy. After that I have learned that JavaScript is a compiled
language by reading @getify's "You Dont'
Know JS". During that time I have landed my first job as web developer. After some time I was assigned
to work on hybrid mobile apps. I have discovered Apache Cordova, than I have touched NativeScript and finally
I have started to develop native mobile applications for both Android and iOS platforms. Here I yet again
hardened my knowledge of Model View Controller design pattern. I have enjoyed working with statically typed
languages and I have started to study C++. I have read 2/3 of "Programming: Principles and Practice using C++
(2nd edition)" by Bjarne Stroustrup. I think that this is a good book to begin your journey as a self taught
developer. I have worked through some exercises as well. At that time
I was trying to use CMake as a build system. I have spent dozen of time trying to link dependencies with
CMake. And I am happy that I did not drop trying to do so. Right now I use CMake mostly all the time except
when I work on Windows. After I have spent about a year of learning C++ after my day job I have landed a job
in gamedev. I was very happy because I was tired of web development and I wanted to work on something serious.
During my work as gamedeveloper I was mostly working with Unreal Engine 4 and I have had
a chance to work with Unreal Engine 3.5 codebase. Aside from my work I have started to learn OpenGL by
following learnopengl.com. I have completed excercises up to model loading and I was
kind of happy when I have loaded Sponza model. I have also maid a silly snake game. It is silly yeas, but I
have enjoyed the process of making a game without a game engine. After that I have started to explore DirectX 11. I have
covered a bunch of rendering techniques such as Phong shading, PCF shadows, dynamic environment reflections
via cubemap, fog post process effect, bloom post process effect, particle systems. At that time I have
switched my position to rendering software engineer. I have had a chance to fix some rendering issues in
Unreal 4 based project after we have upgraded engine from 4.19 to 4.27. Also I was working on porting DirectX
9 renderer to DirectX 11. It was a lot of fun.
Aside from my work I was working on my own game engine - NEngine. I have started with
facilities that I have invented during the time I was learning DirectX 11. Some of those facilities were
rewritten from scratch. I have rewrote my math library for few times for sure. I did not use any third party
libraries for window management and user input and because of that I know a little bit of WIN32 API. The
render was pretty basic. All I had is phong shading and non-working PBR. But I was mostly focused on other
engine components such as: sound, entity management system, user input, Wavefront *.obj model parser.
Currently I have switched my priorities but I will definitely switch back to NEngine in the near future. Right
now I work on DirectX 12 renderer. I would like to implement PBR with IBL, skinning, SSAO, SSLR, MSAA. Try
deffered lighting approach and see what are the cons and pros of this approach.