2023 in code - My year retrospective in programming

Kevin Da Silva
4 min readDec 17, 2023

Hey guys I have been missing in the last few months, I was having a break until I felt comfortable enough to write again, and I wasn’t very excited to talk about tech so often(everything was AI, AI, gpt, AI, layoffs, AI, crisis, crying, AI which is super overwhelming), but here’s a thing that motivated me to write about, my retrospective in terms of coding, to tell a bit more of what I coded this year.

At the beginning of the year, I was in a consulting firm coding microservices in typescript with nest.js, and Postgres, which wasn’t an experience I liked much, not related to the tech but to my management which was horrible and super incompetent.

In January I learned GRPC and built a todo app service in Haskell + MU + Mongodb, which was cool, I loved coding GRPC APIs with Haskell

Also at the beginning of the year, I set myself the goal to learn a systems language and started learning a bit more of Rust.
At least in the consulting firm opportunity I was working, I had the chance to face a problem related to compression and had to test other programming languages and benchmark then, I tried node.js, Elixir, Vlang, and Rust, Vlang was the best in terms of getting things done and getting a good compression result, due to having a compression module in the standard library.

After a few chapters of the Rust book I started finding the language very complex and bureaucratic to get things done, and I started missing my garbage collector and quit learning Rust, and let it for the future me to learn it.

In March I was laid off from the consulting firm I was working on and stopped coding in typescript for a while, while unemployed I started interviewing at other companies while I got more involved with the Vlang community

Involved more with V I wanted to write more about it and teach it to other developers, so I read the book Introducing Go, due to Golang being very similar to Vlang, and learned Go and the way it was being taught and converted the first five chapters of the book into five chapters on my series teaching Vlang.

While interviewing I coded in Node.js again in a take-home test for Mercado Libre, which was a proxy application, to proxy rest APIs, was a cool project I enjoyed coding it.

I came back to Go and built a tictactoe game and a URL shortener app using Gin and Redis

I also coded in Elixir to another take-home test for SWAP, which was a web service that receives requests and processes then async after a time interval I liked this test because I experimented with other things beyond the test like rate limits and concurrent running process, but unfortunately SWAP never gave me a proper feedback, just said they really liked my solution and disappeared

In May I got an offer and started working for a company on an AI project which involved me to code in node.js, adonis, and Postgres, but also in Python and pytorch to integrate hugging face models with the user input.

Also, I took an incredible course on digital image processing, the course was taught in octave, but I didn’t wanted to learn a new language just for that, so decided to use Julia instead, and it was an incredible decision, Julia is a wonderful language for dealing with matrix stuff what fitted really well into processing images.

In September I came back to V to finish a URL shortener app I started building, I had to stop it in the past due to V not having a Redis driver that was working, fortunately for me coachonko built a driver for it and I was able to finish the project!

After it I came back to my journey of trying to learn a systems language and decided to try to learn C, it was more simple so it would probably be more comprehensible for me, but it didn’t go so well, it was so raw that it didn’t have a length function to get the length of an array, the lack of minimal functions, made me get frustrated with C.

Then I instead decided to learn C++, but in the same week I gave it a try at Zig and found it really cool, seemed like a nice language, with a good standard library, and I even built a tictactoe game in Zig.
I learned Zig like the basics of the language, allocators, enums, etc. However due to Zig ecosystem being so small and emergent I stopped my learning there because the support to async modules would be implemented only in the next stable release and I didn’t have a package manager to work with Zig, but it’s a really promising language and I want to come back to it in 2024.

After that, the Unity community exploded its bubble and the bad news came to me, I graduated in digital games and got curious about what the game development people were doing, and in November and December I decided to learn the basics of Godot 4 so I coded a few scripts in GDScript as well, but I built no games in it(yet).

What I’m into for next year

I will probably give a try in older languages like Prolog, FORTRAN, and why not Cobol, would be a different experience I guess

Also maybe I will come back to Rust and Zig, or finally learn C++

I dont know maybe learning some physics stuff or trying out some random Apache foundation open-source software

Or most probably I will throw all the brainstorming in the thrash and take my usual curiosity-driven approach to new programming topics

--

--

Kevin Da Silva

I'm a back-end developer, functional programming lover, fascinated by computer science and languages. From the south part of Brazil to the world