10 things you could learn over the Christmas break
It's Christmas time
You know what that means...
Christmas is a time of joy, a time for family and a time for relaxing... or if you're a developer it's one of the only times of the year where you can throw some serious hours at personal development, whilst the rest of your family is talking about cricket and crypto.
Here are 10 things that you could learn during the break that you can bring into practice, on your day to day immediately when you head back to work.
1. Cypress
Cypress is a purely JavaScript-based front-end testing tool built for the modern web and is a developer-friendly tool that uses a unique DOM manipulation technique and operates directly in the browser. You can literally write crpyress tests for any website by specifying a URL, it doesn't need to be baked into your frontend project.
Top features for me are being able to do responsive and browser specific tests, running it in a "headless mode" in your CI/CD pipeline and it's ability to run End-to-End tests alongside Component level testing.
2. GraphQL
It amazes me how many developers I interview that are yet to use GraphQL in their careers. If you haven't yet, take this as a sign. GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. Like many good things, it was developed by Meta (or Facebook at the time) and is widely used by many other companies to provide a more flexible and efficient way of accessing data through their APIs.
3. Serverless framework
Serverless is a framework that allows developers to build and deploy applications and services without having to worry about managing infrastructure and it integrates directly with your AWS account. This means that you can focus on writing code and building features, while the framework handles all of the underlying infrastructure, scaling, and deployment - rather than fumbling your way around the AWS Admin creating Lambdas and connecting them to API Gatways through a GUI. You will be able to create highly scalable and cost-effective applications that can be deployed quickly and easily within a couple of hours of trying.
4. TailwindCSS
This one is a bit biassed, but I wholeheartedly believe that if you don't know tailwind or aren't actively using it, you're potentially wasting time styling your frontend when you could be focussing on larger problems.
Tailwind CSS is a utility-first CSS framework for rapidly building custom user interfaces. It is designed to be fast, efficient, and easy to use, and it provides a wide range of low-level utility classes that can be combined to create complex designs without the need for custom CSS. This approach allows developers to focus on building the user experience, rather than writing and maintaining complex stylesheets. Tailwind CSS is popular among front-end developers for its simplicity and flexibility, and it is often used in conjunction with other frameworks such as Next.js and Vue.js.
5. Prisma ORM
This one is on my personal list to learn. Prisma is an open-source data layer that provides an ORM (Object-Relational Mapping) for working with databases in JavaScript and TypeScript. It is designed to be used in combination with a GraphQL API, and it provides a simple and intuitive way to query and manipulate data in a database. One of the key features of Prisma is its ability to automatically generate a GraphQL schema based on the data in your database, which makes it easy to get started and allows you to focus on building your application. It also provides a powerful query language called the Prisma Query Language (PQL) that allows you to write complex queries and mutations without having to write SQL. Overall, Prisma is a useful tool for building scalable and performant web applications that need to work with data stored in a database.
6. Prismic CMS & Slice Machine
Prismic is a headless content management system (CMS) that allows you to easily manage and deliver content for your website or application. It provides a powerful set of tools for creating and managing content, including a user-friendly interface for editing and organizing your content, and a flexible query language for retrieving and displaying your content in your application. With Prismic, you can create custom content types and define their structure, which makes it easy to manage and organize your content.
You can also use Prismic's powerful webhooks and APIs to integrate your content with other systems, such as e-commerce platforms or email marketing tools. Slice Machine is a feature of the Prismic content management system that allows developers to create custom content types and define their structure locally through a GUI tool that saves schemas in the frontend project to be added to version control. These schemas can then be pushed up to the Prismic CMS project via Slice machine where updates are immediately available for content authoring.
Overall, Prismic is a popular choice for developers who want to build flexible and scalable content-driven applications.
7. Rust - It's time to try it out
Rust is a systems programming language that is focused on safety, performance, and concurrency. It was developed by Mozilla and is designed to be a safe and concurrent alternative to languages like C and C++. Rust is known for its strong type system, which helps to prevent common programming errors, and its memory safety guarantees, which make it difficult to create memory-related bugs and security vulnerabilities. Rust also provides a powerful macro system and support for concurrent programming, making it a versatile language for building a wide range of applications, from low-level system utilities to high-performance web services.
It makes my list purely for the reason that is quickly being adopted across many companies & developers want to work with it.. not to mention Shopify Functions for the Shopify developers reading this article.
8. Google Analytics 4
GA4 is the newest version of Google Analytics, a popular web analytics platform. GA4 is designed to be more intuitive and user-friendly than previous versions, and it includes a number of new features and improvements. Some of the key changes in GA4 include a focus on user-centered analytics, with a new "user-centric" approach to data collection and analysis; support for new data sources and integrations, such as web and app data, offline data, and e-commerce data; and a new event-based model for tracking user interactions, which allows for more detailed and flexible analysis of user behavior.
There's a lot of confusion and attention on GA4 currently, and it will serve you well being well versed at least in its technical implementation or at a high level at the bare minimum its core differences so you can talk about it's concepts. The new age of Google Analytics is here, don't be left behind!
9. Twillio SMS
This is a bit left of field, but nothing is cooler than sending a text message to your phone from your computer. Twilio enables developers to easily add text messaging capabilities to their applications. Having familiarity with Twillio is a massive value add to your skillset as there is countless use cases for when you or your work might want to have text message functionality that is part of their product or service. Whilst it might not be the most economical solution out there that provides this functionality, it's definitely one of the easiest to implement. If you're looking for a more cost effective approach, check out the AWS service, SNS.
10. Create your portfolio website
This is not something to learn or a technology, but something I believe developers should have. It's important to have your skills out there, but also keep track of the things that you are working on. Even if it's for no more than just keeping a journal of what you work on and the types of things that you work on as the years go by. The Christmas break is a fantastic time for you to start, or update your portfolio website. So get cracking.
Summary
There's a lot to learn out there and you can't know everything. If you were looking for something to start or weren't sure what was next in your personal development journey, I hope this list has helped you find your next thing. Otherwise, I find Medium to be a great source of inspiration everyday for up and coming technologies as well as find quick articles like this I can skim as I wake up in the morning. Happy holidays.