I am a senior software developer working for an asset-manager/fund-investor management company in the UK. Out of the office, I am a game developer, a hobby I've pursued for over 20 years now.
This is not my real name, I use an alias online to protect my identity.
I have over 5 years experience of Java based fullstack enterprise development enriched with a variety of infrastructure (CI/CD) scripting, automation testing and front end library applications.
As well as this, I have extensive knowledge in game development including best practices, performance improvement, heuristic algorithms and volumetric raytracing (accumulated over time outside of the workplace).
C# & Unity
After realising Java game development wasn't for me as I had become accustomed to more modern shader standards and the accessibility of developing 3D games, I shifted my attention to Unity and quickly got to grips with C# for this reason. (I also like to create games with C# without using Unity just for the challenge.)
C & Arduino
There has always been a background interest in robotics and electronics so naturally I got into Arduino development. While I can't say I have too many applications these days for custom hardware like this, as my focus is mainly software, I have had successes and won a competition or 2 with various electronics projects in the past. (I know how to make PWM servos do what I want and made a 9x9 LED display mounted in a coffee table that plays a primitive RPG style game with a Sega Megadrive controller.)
This really afforded me the chance to get down to some serious programming in my youth. If it weren't for a chance purchase of DBP at PC World when I was 12, I would not be the coder I am today. I used to describe it as providing the power of something like C++ but with the syntax of a BASIC language, and while it served me well in the DirectX 9 era, it is fairly obsolete nowadays with the advent of Unity & Unreal.
HTML & CSS
Of course I can't be much of a React developer if I can't do web development, so naturally I've picked this up by osmosis over the years and while my eye for web design may not always be on point, the techniques required to implement designs do not elude me. (I've used anything from pagination and lazy loading to transitions and web2.0 effects professionally and for personal projects.)
Ruby & Selenium
Alongside my professional development there has always been a need to have automated browser tests and while I've seen plenty of libraries and shortcuts for doing this, there is nothing like coding it yourself and having your own framework to really get control of things. (I've got Selenium talking to Chrome, running a bunch of routine tests and firing off the results to TestRail each time a build comes from Jenkins.)
I wouldn't be much of a developer if I couldn't use databases too. I regularly produce various scales and complexities of database integration for Java systems (predominantly JDBC and Hibernate based) and have overcome performance issues with long running or large queries/views.
Although I don't get to do a lot of it these days, I've done my fair share of continuous delivery and integration. Anything from packaging up an entire enterprise solution into an RPM for each of the 4 different servers it ran on to simply ensuring my own personal software releases are as painless as possible.
It goes without saying that I stick all of these commands and method calls together in various IDEs but predominantly I've used Visual Studio, Eclipse & Netbeans over the years (with the odd Notepad++ window open beside them).
Tomcat & JBoss
While I personally prefer runtimes and executables, I have of course been exposed to application server development including various configuration of Tomcat 8+, JBoss EAP & JBoss AS.
The Games Factory
I can't really start the page off saying I've been making redistributable software for 20 years then say I started coding at age 12 (only 16 years ago); The Games Factory was a visual programming environment that taught me many of the core principles of content creation and game design even before learning an actual programming language 4 years later. (The Games Factory can be thought of as an amalgamation of Flash, PowerPoint and Excel.)
Virtually everything I program (including this website) is hand crafted/coded because I learnt early on not to take shortcuts or use templates. This approach has allowed me to excel in my profession and ensure reliability in my work as well as consistency in my APIs and user interfaces.
I am a big supporter of "comment driven development" (CDD) which derives from business driven development (BDD) whilst also naturally resulting in documented code after the solution is fleshed out. This also helps drive the need for a requirement to begin with clear business-oriented acceptance criteria as these serve as the basis for the CDD structure before implementation.
While the CDD example below is trivial, this approach has saved significant headaches in the past when it comes to more complicated procedures and algorithms: