Mihou
Suyaa

Experiences

Being the solo developer of a decently-sized Discord bot and also the developer behind several projects, I've worked on different languages and learnt many fields in terms of Programming, here are some of my experiences on a few.

Java

Among the earliest language that I've learnt which had started as a little hobby from fourth grade for Minecraft plugins.

The language has been one of my main go-to languages if I want to create systems programs such as APIs and Backends with as little time as possible while still maintaining performance.

As of this moment, I've written around 48 actively maintained projects from the past year and have been actively contributing with the Java community in a few ways possible with the language taking up 85% of my entire GitHub portfolio.

Rust

A language that is among the newest to come out in the community but is one of the most loved languages for six years straight according to StackOverFlow.

The language has been one of my most favorite languages to write on for several reasons and have been integrated in many of my projects especially the Discord bot Mana where performance was a key point.

Rust is a very incredible language to write on for me as the compiler not only helps you find memory leaks before it hits production but it also helps maintain thread-safety and fix any possible critical bugs that would break your entire infrastructure while maintaing C language level performance.

As of this moment, I've written around 12 actively maintained projects on Rust within the first two months of 2021 and plan on expanding forward with the language.

PHP

A language so dreaded that it was misused many times and has earned the second spot in the most dreaded languages on the entire community but somehow... maintains a very huge market share of the entire internet?!

PHP is argubably the most used language in the entire website market share and it really is weird as the language is considered the most dreaded but I do understand why it is used a lot and that is its insane abstractions and ease of deployment.

Unlike other languages, PHP was created for the webpage and was meant to be integrated with HTML and others which is the dominant cause for its early success in the past.

Argubably, I've written most of my websites with the help of PHP or Laravel which really speeds up development time by a lot, but I am transitioning a lot of other Javascript frameworks such as Svelte which has been my favorite one so far.

An example of website that I've wrote entirely in PHP are: Mana which was written with Tailwind and Laravel in less than five days... actually, the first few pages and an entire backend was written in less than a day.

Web Development Tools

To define this section, this refers to tools that are used to create websites such as HTML, Javascript and CSS with Figma for prototyping.

Having written many websites, I've have a lot of experiences with web development in general and usually make an average of one to two a month as a hobby.

I've used plenty of tools such as Node.js and Composer to help speed up creation of websites, also Figma which has been the best help in regards of prototyping the looks of a website.

DevOps

Among my favorite in the field of Programming, almost all my programs have some sort of DevOp tool that helps automate the process of building and deploying them onto the production servers.

My most used DevOp tool has been Docker and many should know why as Docker allows you to deploy virtual machines and automate build process of applications, deploying them immediately onto the server with little interaction from the developer.

Other than Docker, I've used several CI/CD applications, for instance, GitHub Actions and Travis CI to build Docker images by simply tagging a GitHub Commit as DEPLOY.

Databases

A requirement for most backend developers to know, a database is where programs or applications stores and fetches data persistently with as less time as possible.

I've used several databases such as MySQL, Redis and MongoDB and among them, my favorite go-to database has always been MongoDB paired with Redis to speed up queries.

Among the databases out there, I plan on learning Apache Cassandra and Scylla for the wide-column paradigm and GraphQL for the graph paradigm.

From all my major projects, six of them uses MongoDB and four of which uses MySQL as their main databases.

Application Monitoring

I've only played with a few monitoring services but these few have been more than enough to handle everything that I needed.

The few mentioned are Sentry and Grafana which are argubably the most used in the community for several reasons.

I use Sentry to monitor most of my applications, particularly, collecting all the errors and bringing them into my attention to patch as soon as possible and it really has worked very well for me.

Grafana is used to monitor the health and status of the applications, like for instance, the amount of memory each application uses to the little bits like HTTP request counts and time took per requests which are used to figure out whether your application is underperforming on specific parts.

Extras

As a full-stack developer, there is a little bit too much stuff to mention here. As such, we'll be limiting ourselves to those for now but I'd like to list a few stuff that I do have plenty of experiences on.

For IDEs, I've used many different IDEs in the past but so far, there have only been two candidates that are my most favorite and those two are: IntelliJ and VS Code which are undoubtedly the best in the industry.

I've also worked on servers mainly Linux or Debian servers from DNS Configuration, Deployment, Securing Servers and many other that are needed to keep a server performant and secure.

I also have a bit of experience with simple website development softwares like Wordpress and didn't like the limited functionality that I could do... but it could be because I didn't like making my own plugins.

And that's practically everything for a little summary of my experiences in the field of Programming.