How I got here - life.history.back(); | #DevRetro2022

How I got here - life.history.back(); | #DevRetro2022

Dev Retro 2022 is here and now that I've been coding for almost two years, it's time to take a look back at everything I've done to get where I am!

Dev Retro 2022 has arrived on Hashnode and developers across the internet are taking a moment to reflect on the journey that has got them to where they are today, and I'm no exception to this.

With the hype surrounding Spotify Wrapped, and other similar concepts at the end of each year, why treat the thousands of minutes spent coding this year any different to the thousands of minutes we spent listening to our favourite songs?

I've been coding for almost two years now and it's safe to say I have come a long way! Let me take you through the bumpy, but incredibly rewarding, ride I took to get here...

The beginnings...

Most people spent lockdown trying out crafts and baking or trying to get in better shape; I spent it in front of the computer learning new skills. It reached February 2021 and I was bored one afternoon. What do most people do when they're bored? Read a book? Play a video game? Maybe go for a walk? Not me!

On the 20th of February 2021, I found myself bored with nothing to do - the lockdown had been going on for a long time at this stage and the list of things to do when life was feeling dull was shrinking rapidly! Well, that was the day - around 2 pm - I sat down and watched FreeCodeCamp's complete HTML course, two hours of my time that would change my life forever.

From there, it spiralled on. Just like every new developer, I set myself overly-ambitious unachievable goals and immersed myself into a world of letters, numbers and symbols that I now know as web development!

I faced failures and overcame them; this truly was only the start of something so much bigger!

A little more learning...

I learned HTML from the above-mentioned course, but in 2021, HTML alone was not enough. I soon started to learn CSS, using a 12-hour course from FreeCodeCamp teaching HTML and CSS:

I learned the basics of CSS in March of 2021 and kept practising and levelling up my skills!

Technology is always moving...

In came May 4th 2021, and as recommended by a friend in the industry, I learned Bootstrap 3 & 4. As a beginner Bootstrap was such an empowering tool, it took around an hour to learn the basics and set me in a great position to quickly develop professional-looking websites.

Then in came May 5th 2021, Bootstrap 5 launched. I had just spent all that time learning a technology that was outdated within 24 hours. It would be true to say that that felt a bit rough, but I didn't let it stop me. I took this as an opportunity to use my fresh knowledge of Bootstrap and build with the new version under the understanding that actually, not all that much had changed, to begin with.

Practice makes perfect?

Throughout the upcoming months, I practised non-stop, building and retiring projects left, right, and centre.

It all started with the initial - and far too ambitious - goal to build a social media platform with full profile customisation to truly express who you are and present an authentic version of yourself. What did I learn from this? You don't learn to build entire web apps in a month! With that, the idea was retired and set aside for later in my career, in case I still like the idea when I possibly come back to it in a few years.

At this stage, I took a break to return to learning and revising what I already knew and relearning the small chunks I may have missed along the way. I then completed the HTML & CSS modules on W3Schools to secure my knowledge before diving in any deeper.

After that, things were very up and down for some time. I would try out many different ideas I had, and I hadn’t decided what I wanted to work on, until the summer when I decided to make a technology blog... With just HTML & CSS. *cue epic facepalm*

TechnologistsDigest was a nice project to work on with my minimal knowledge, but I soon realised, most blogs are a lot more sophisticated than a website where to make a new post I had to create a whole new file and code it from the ground up.

Following TechnologistsDigest I had a collection of information I needed to present, so why not present it in the form of a website? Well, that's exactly what I did! ReviseiMedia.org.uk was a project made simply to complete a task I had been set, and while nowadays I could've done something much better, it's still something I'm proud of and it remains online to this day!

Launching my first major project!

In September 2021, I started the development of Spectre, my first-ever Discord-related project and my first time using NodeJS. Spectre was a big jump for me; I was stepping into a world of technologies I had never used before and pushed myself out of my comfort zone to try them, but what better way is there to learn new things?

I used a library of snippets initially to support me to understand concepts and fundamentals of both the Discord API and NodeJS, before branching out and building things for myself once I had gotten the hang of how it all worked - this also gave me a chance to brush up on my JavaScript skills.

I was finally creating a project that would be useful in the real world, and that I had made all by myself! It was at this point that I felt I had achieved something; the pride and power of knowing how to code truly began to sink in.

Around a month later I launched Spectre globally for public use on Discord; Still to this day, this is one of the biggest achievements and highlights of my coding career. I think most developers will likely feel this way about their first proper project/product launch!

Into 2022!

2022 has been a big year for me as a developer, I started with minimal skill and as the year comes to a close I would say I am a knowledgeable front-end developer and while I still have a way to go, I have made a lot of progress.

The early days.

At the beginning of 2022, I started to redevelop the Spectre website, an activity in which I learned A LOT! This was the time when I turned things around and started to understand many concepts properly and better my practices when it came to building websites.

While redeveloping the Spectre website, I familiarised myself with the basics of PHP to power the site and simplify some of the functionality behind it. This of course allowed me to expand my stack and my knowledge of programming in general.

I took the time to learn to use Git and GitHub. I also started to work on upgrading the functionality of Spectre. I could tell even from January that 2022 was going to be my year!

Something new...

From late January, through to late March, I started the creation of my own web-development business, offering web development skills to clients around the world. That saw the launch of mjdws.com by the beginning of the second quarter!

This took some time to pick up but offered me the opportunity to get some experience working in the industry and building websites and other applications that integrate with different APIs.

Speeding it up!

Around April I decided it was time to ditch the resources that were killing my website speeds and instead start writing all my own CSS, dropping Bootstrap and its throttling slow CDN load speeds and minifying my code. With these changes, I was able to get load speeds from up to 2 seconds down to as little as 0.4 seconds! Other than that, this also helped me to make my websites my own, scrapping the typical Bootstrap colours and styles for unique, individual designs.

Along with ceasing my use of Bootstrap, I started to make sure all images across my websites were served in the .webp format to avoid long image load times.

With the continuation of my efforts to speed things up, I saw my websites score much higher on Lighthouse tests and Ahrefs which felt particularly good seeing the scores go from red and orange to green across the board!

Stepping up to the podium.

In mid-April, I competed in my first hackathon with Major League Hacking. The project I built was a large tool which took some time to get perfect - raising the stress in the 36-hour-long event - intended to help streamers, developers and other people online to lift their donation rates. CashHook is a webhook system to receive a notification from Ko-Fi, BuyMeACoffee or Patreon that then sends the data to Discord allowing contributors to feel recognised for the support they provide.

Building CashHook in The Hackconomist I achieved second place, as well as my choice of domain name (cashhook.tech) winning the category for the best domain name registered with domain.com.

This was a moment of much pride and joy for me as after hacking away on my own, despite other people working in teams of 4-5 people, I was able to produce a product that had the judges and even the other competitors impressed - as well as catching the attention of Nigel Pickles, the founder of Ko-Fi!

My first blog post...

As the end of April came closer I was starting to make an effort to get my name known online. This was all part of my ongoing endeavour to have a successful career as a developer. On April 28th I originally launched my blog post 'How I won two categories in my first hackathon...' after coming second in The Hackconomist, hosted by MLH. This blog post reached over 200 views on Revue, impressive for the first time.

Welcome to matt.lgbt!

My personal website, matt.lgbt, really started to come together after the release of my blog, and despite being due some freshening up, has served its purpose well ever since its release, expressing who I am and what I do.

Using the Revue API I was able to pull my latest blog posts onto the site in real-time until the time came for Revue to shut down and for my blog to move to Hashnode where drastic improvements to blog.matt.lgbt came into place.

Breaking through.

It was in the summer that business started to go somewhere as I picked up clients like The Aftermatch and got them online with a website to post their football articles.

I also picked up clients across Discord to build their bots and other integrations giving me a boost in confidence with my skills and also a larger base of trusted clients helping me to build my portfolio and trust in new and potential partners.

Second for a second time...

September arrived and so did another Hackathon for me! Following 'Global Hack Week September', I opted to participate in 'Hack and Wellness 2' where I built 'HealthyConnections', again achieving 2nd place on the podium as well as being granted the prize for best use of Twilio.

Healthy Connections – screenshot 4

The idea of the application was to allow doctors and their patients an online space to share and join medical trials, job openings and prescriptions. Within the allocated 36 hours I was able to produce a web app where doctors could post medical trials and job openings. I also integrated Twilio by making the submitted details to apply to take part in a medical trial or to apply for a job would be sent via a webhook to Autocode where they would be sent by text using the Twilio API.

Bring on Hacktoberfest!

Hacktoberfest and October in general was a very productive period for me. I made over 20 open-source contributions, published 4 new blog posts and made a lot of connections with developers across the internet and on GitHub.

From late September into October and throughout Hacktoberfest I worked on my project 'NoMoreDomains', earning 60+ stars with upwards of 20 individual contributors.

The NoMoreDomains project was designed as a Chrome extension to block all ICANN-registered domain registrar's websites; finally putting a stop to those unused domains we're all guilty of registering. This was successful with the help of all of the amazing contributors that joined in for Hacktoberfest and I was able to launch it on the chrome web store in early November!

My GitHub profile gained a lot of achievements around this time as well, as I made almost 300 total contributions throughout the month. I gained an abundance of profile badges and also filled up my Holopin board!

Edit src/App.js and save to useState(React).

In the closing week of October, I turned my focus to learning React.js. I studied using Scrimba after endless recommendations on Twitter and wrote a few blog posts about my experience, such as 'My journey learning React!'

While learning React I made many different projects including a fun travel journal!

A screenshot of the travel journal I built with React.

Learning React was a great choice as it not only expanded my ever-growing tech stack but opened the door to learning Next.js which is what I now aim to use as my go-to for web development due to its amazing versatility and ease of use.

The present-day...

Lately, to improve my ability as a developer and the quality of the work I produce I have been re-studying JavaScript to nail down the bits of my knowledge that may not be so strong. This means I can go into learning more about building websites with Node.js with confidence in my JS skills to understand the principles fully.

I have also been working on building more open-source projects as well as practising my use of React.js and Next.js. I'm currently also trying to focus on growing my blog and creating high-quality valuable content.

My Goals for the future?

In the new year, I have a few goals I'm hoping to achieve!

I aim to learn Python for the course that I will hopefully be starting in the summer. This will give me a head-start to completing the content as I will have experience in using the language and technologies that I will be required to use in the coursework.

I also aim to look into advanced React to become well-seasoned in the popular JavaScript library, enabling me for any front-end job that may come up.

One of my other goals is to complete a project I recently started to return a year's recap/review for your GitHub contributions, but more on that another time.

return completeYear(2022)

With that, 2022 is coming to a close. It's been a highly productive year and I have made a lot of progress in upgrading my skills as a developer as well as learning new things. Here's to another year of success! 🎉