Am I a programmer?
To this day I still don't consider myself a "real" programmer. Mainly because I don't have a software engineering degree and that my job title is Cloud engineer and not software engineer. Most people that see my little side projects would tell me I am, and because I use a trackball and vim as my editor, they would see me working and assume that's exactly what I am. Regardless, looking back on this triple triad project is exactly the reason why I don't think I am.
You can view the code here and play the game here and it seems like a kind of functional game. When I initially did this I had no knowledge of git.. no knowledge of build systems, compilers, or anything really. I knew 'Unity'.. and the c# that it used. You don't use any constructors, but fall into the gameobject way of doing things. Honestly, after making this I was feeling really comfortable in my 'programming' skills. But then when I walked into a real life c# project, using constructors, git, managing dependencies; fully removed from all the simplicity of what Unity gave me, I started to feel like a real imposter.
See unity keeps you in a really comfy box. You write such high level logic and you can really make magic happen. I tell people if you really want to finish a game, use something like Unity, godot, or unreal. It's amazing how much it gives you to start and can accomplish most things with it. The problem for me, is I really didn't have a great foundation with code, or project planning in general. If you look at some of the code, you can see there is two revisions in there from not using git, and changing to a completely different approach. Tons of files, etc. Using Unity doesn't teach you those things.. and honestly, you don't need to know about them. That's the beauty of it. Most people can keep moving without it.
Sadly, I quickly grew bored of working with Unity. I tried to get my friends involved and it really is a lot to learn and work with just to make some simple edits. They would have to learn unity, and c#, and the project to be able to edit some things. I wanted them to help out, but didn't want them to have to spend weeks learning a new skill. I moved away from Unity when I realized my goal was not to fully make a game, but to continue learning new things.
From here, I would start my upcoming projects in C++ and Visual studio. Slowly moving into testing out javascript, golang, back to c# with monogame, back to C++ with VScode, and then C++ with vim, to where we are now with C, vim, and Lua. Sadly, I swear I've re-wrote the same engine a dozen times in different languages, different ways; but always learning something new.