Over the past few years, I've taken to making a list of some of what I've done over the year to help me keep track of my progress. Here are lists from previous years:
Now it's time for reviewing what I've been up to in 2018.
I built Laconia
By far my biggest personal accomplishment was writing Laconia (Source / frontend) from scratch - a project I created to learn MVC architecture, object-oriented design patterns, routing, authentication, security against database injection and XSS, and everything else that goes into a simple but modern web application. I learned so much making this, and I plan on writing an overview of everything I did from zero lines of code to completed project.
I made a new layout
Actually, I made 2-3 major layout overhauls in 2018, and I finally settled on this current version (4), which I documented here. It's always a big debate and struggle for me to make the site both functional and aesthetically pleasing without being boring yet still fast, easy to navigate, and uncluttered. So I've opted to go more in the direction of extreme simplicity with the current iteration, and focus as much as possible on having great content. I'm going to leave the design alone for a while.
I think the biggest issues with the current design is that there's no easy way to filter articles by subject, it lacks a bit of personality, and there's no good indication to the level of quality you'll find within.
I wrote 25 articles
I wrote 25 articles this year (leaving off any small snippet-like articles that don't really count), 11 of which were for other publications - DigitalOcean, SitePoint, EnvatoTuts+, LogRocket, Codrops, and Progress.
Next year, I'll write more for my own site, and less for third party publications.
TaniaRascia.com
- How to Create a Memory Game (ala Super Mario 3) with Plain JavaScript
- Unit Testing in JavaScript with Mocha
- Object Oriented Pattern: JavaScript Constructor Functions, ES6 Classes, and PHP Classes
- Basic Refactoring: Don't Repeat Yourself
- How to Paginate an Array in PHP
- ES6 Syntax and Feature Overview
- Create a Simple CRUD Database App: Connecting to MySQL with PHP (Part 2: Update, Delete)
- How to Upload Files to a Server with Plain JavaScript and PHP
- Overview of SQL Commands and PDO Operations
- How to Create and Use Bash Scripts
- How to Promisify an Ajax Call
- Getting Started with React - An Overview and a Walkthrough
- Promise All with Async Await
- Build a CRUD App in React with Hooks
DigitalOcean
- Understanding Classes in JavaScript
- How To Modify Attributes, Classes, and Styles in the DOM
- Understanding Events in JavaScript
- How To Use Object Methods in JavaScript
SitePoint
Envato Tuts+
LogRocket
Tympanus Codrops
Progress
I made about $3,000 writing articles.
I recorded 1 podcast
I recorded my first ever (released) podcast with Joel Hooks of Egghead.io. I'd be interesting in doing more audio and visual based things in the future, whether it's recording more podcasts, making videos, etc.
I recorded 3 songs
It wasn't a particularly musical year for me, as I only got three songs done, and two were duets. Nonetheless, "I'd Like to Walk Around In Your Mind" is my favorite song I've recorded to date.
Email newsletter
As of writing this article, I have 2,609 subscribers to the newsletter I send out every now and then. It's mostly been an email I send out every time I write a few new tutorials, but moving forward I'm thinking of rounding up some of my favorite relevant dev-related articles by other authors and linking to those as well.
This website had 2 million sessions
According to Google Analytics, from December 15, 2017 to December 15, 2018, this website had 2 million sessions. About 1.9 million of those came from organic searches. Outside of the occasional Twitter or Reddit post, I don't market this site anywhere, so it's pretty cool to get so many hits.
For the first time, this year the three most popular articles were getting started with React, connecting to an API in JavaScript, and using JSON data - previously, articles on WordPress and Bootstrap were the most frequented.
What I wanted to learn in 2018
Here's the list of what I wanted to learn in 2018 according to my last post, and the ones I achieved.
- How to create a secure authentication/login system
- How to create a REST API
- How update and delete entries in a database with PHP (CRUD)
- Multiple methods of sending emails with PHP
- Understand React, components, modules, props, state (article)
- Understand JavaScript prototype-based inheritance/classes, constructors
- Understand MVC concepts
- Learn CSS grid (ish.)
- Understand Flux, Redux
- How to set up Docker - How to build a blog engine from scratch with PHP (or Node.js)
Other things I learned in 2018
Outside of what I planned to learn, here were a few things I happened to learn.
- ES6+ syntax
- How to rebase, merge, stash, and use branches in Git (working with a team)
- How to create and use Bash scripts
- How to create and modify SVGs with JavaScript
- More advanced SQL
- How to sett up a PostgreSQL database and create a REST API
- How to use
async
/await
syntax in JavaScript - How to work with content editable fields in HTML/React
- How to create and use CSS shapes
- How to use React hooks - How to poll from an API to make a chat-like application
What I want to learn this year
Here's kind of a vague list of things I want to look into and improve in the coming year.
- Computer Science 101 - algorithms, design patterns, data structures, calculating complexity, sorting
- Node.js, the event loop, the Node module system
- Sockets, web sockets, understanding the relationship between client and server
- React Native, Electron - making apps for mobile and desktop with technology I already know
- Redux, Mobx - state management and observables in React and on its own
- TypeScript - understanding the importance of strict typing
- CI/CD and automation - I want to learn how to have a pipeline that goes from pushing a commit to Git to updating a develop + test environment
- Testing - the difference between unit, integration, and e2e tests, and how to set it all up by myself - Drag and drop, scroll and window in JavaScript, despite how much I dread it
Projects
- Migrate my site to a static-site generator - I'm on the fence about this considering how much time and effort it will take
- Create a Laconia-esque MVC framework in Node.js - if I could do it in PHP, I should be able to do in in JavaScript-out-of-the-browser. I plan to frame this around making a Jira-esque program that's less horrible.
- Create a unit converter for Slack - I want to make a simple Slackbot that converts weight and distance measurements for communities that have members on both sides of the pond.
- Primitive UI React - Make simple reusable React components, ala Semantic UI React.
- Make a JavaScript one off series, of simple vanilla JS implementations of common elements and components, like accordions, tabs, modals, and tooltips
- Some lower level stuff
And more
If I have a goal this year, it's that I'd really like to bring more art and music back into my life, something I've fiercely neglected.
I didn't accomplish any of my goals of 2018 except:
- Get a full-time job as a web developer
Having a full-time job is a full-time job, so I didn't manage to write any courses or books or make any video tutorials, but I wrote a lot of articles on the side and tried to have a life. We'll see where next year takes me!
Thank you all for reading and sharing and emailing me. I plan to keep going and learning and improving into the next year.