As another year ends and we think back to what we have accomplished this past year. Many of us can say, "I've done this, this, and that", but not all are as fortunate. For me, I can't say I've accomplished anything great, but what little I can say, I'll share here. Here goes, my contribution to the Dev Retro 2022 campaign!
I can say now, that I'm a professional developer, with nearly 7 years of professional experience, but practical experience is far beyond decades, as I'm sure many of you may relate. Though, it took a few years for me to get here. The year 2022 started with a new job, one I can now call a career. I have been given my projects to work on and challenges to figure out myself, with the possibility of asking for help if I get stuck along the way. And I get stuck quite often, but asking for help, is a bit of a thing I haven't done as often as I should. I say "my projects" because in my previous jobs while I was working as a developer I wasn't given the opportunity to do a project or a larger task that was at least challenging for me or motivated me or something that made me think or for me to figure things out on my own and ask questions if I'm not understanding anything. This certainly left me feeling not so motivated and I wondered if this would be the same if I applied to any other company.
I work in the C#/ASP.NET domain where I develop APIs for the company's clients. But I don't just develop APIs. I start from the beginning of the Systems Development life cycle process, that being Documentation. Something I would imagine most of us developers don't ever do so often or possibly dread. But you'd be surprised how good you can be at it if you really put your mind to it. As it turns out, I'm quite good with documentation, or to be more precise, with detailing out test cases.
Then comes the actual development part of the development life cycle. The usual MVC methodology, data layers, business layers, then marrying the two together. I have to say doing this repeatedly always feel like a whole new concept to me, but I'm hoping with time this will be a norm. Once that is done, there is the real testing that needs to be done, I'm talking Unit tests, and/or Integration tests. So, since this is still a fairly new thing for me, I've just randomly done a few unit tests on my own projects, and some shared amongst the team, I'll reserve my opinion and comments for this at a later time. However, from the little I've done, it appears not so difficult, but once you do a few you generally would get the hang of doing your own test cases as an everyday activity.
Overall, this year has been good for me in terms of work, not great as I'm certain I could definitely have done better in terms of my performance, but this is me going into the new year with improved knowledge and skills to amp my future projects performance outputs. As I was working, I thought to myself that I need to ensure that my mind is continuously active and thinking like a programmer/coder, and the only way I thought of this was to challenge myself with online coding challenges. They're scary at first because I look at them and wonder "Okay, what to do next? Where to start? Why isn't this working? I know my code is correct, so WHY is the thing not compiling?" Knowing that Google search should not be my ONLY friend, I found some help from StackOverflow "All Hail StackOverflow!!", and also the various Discord servers for developers. A lot of peer support I get from Discord. With these, I've been active this year on HackerRank, HackerEarth, CodeChef, and lately InterviewBit, and recently TechGig. These are just a few, but I won't say I've participated in any major Oline Coding challenges as yet, well that I'm slightly still not comfortable with them since I know there will definitely be questions that are Data Structures related, and not your usual Strings and Arrays, they never make it that simple, at least you should hope they don't make it that simple.
With that in mind, I decided to learn Data Structures on my own time, this has been a slow progress, however. This year I also started with the freeCodeCamp's JavaScript Algorithms and Data Structures course, complete with a Certificate. I'm glad to say I'm one project away and some 14 (no..., 6) lessons more to go, which I assure you this will be done before the end of this year. It has already been decided, and so it shall be!
Aside from work, I do have my own extra-curricular ventures, one may call them hobbies, but for me, it's so much more. I have been organizing Game Jam+ (GJ+) in Africa since 2019, and the GJ+ regional organizer for South Africa. This year I can finally say we have two teams from South Africa competing with the other teams of Africa, and our local winners go through to the finals competing with the other teams globally from other participating countries. (Okay I get it, "two teams" that's nothing to brag about, but if you think about the fact that I started this with one team I formed on my own, and no teams for the following two years, having two teams working on their own and being all excited about it, that is accomplishment enough for me!).
Organizing and Hosting this particular game jam has been looking more like a budding business (for myself and one business partner, Tutaleni Ilonga of Namibia), and slowly we'll be making that official, we already started with online/in-house game jam workshops, though a slow process this might be (in terms of numbers), we hope to get there, though knowing that in our country not everyone can afford to pay for Internet or School let alone for our game courses, we have some challenges we hope to find solutions to.
Another side project, also looking more like an addition to a business, starting with my own educational apps, targeting both high school students and developers. This is my sole project I'm starting to make into an education game-type app. While I have more games and apps in the pipeline, I also found myself being a mentor, so I reserve time for that to give advice to those who needs it and who needs more of a help, as most of us are looking for working as a developer but find it very hard to get that, and that is mostly due to lack of experience, or so it seems!
IN SUMMARY, My accomplishments for this year, and some achieved:
Learning to write my own test cases in documentation
Doing actual Unit tests and Integration test cases
Participating in online coding challenges
Learning and mastering Data Structures
freeCodeCamp (fCC) JavaScript Algorithms and Data Structures
Growing and Building on Game Jam+ in Africa
Mentor to student/Graduate Developers in training
That's it for now!