The best way to express skills is to associate names with
ability and experience. Below is a list that I came up with
to express my skills based on these factors.
Inquisitive - little to no knowledge but interested in
learning.
Newbie - reading the books and learning the ropes.
Novice - Still in learning phase but able to build
projects with technology.
Journeyman - Comfortable working with technology as long
as I also have the docs.
Competent - Very familiar with the technology having
used it many times / working with it often.
Adept - Very skilled with technology with knowledge of
inner workings and plenty of experience.
Expert - Having great deal of knowlegdge and experience
with the technology.
Master - Better than Expert.
Legendary - better than AI.
Skill: Python
Rank: Competent
Python is the first language I really took the time to learn when I started around mid 2020. It started with the Python Institute Certified Entry-Level Python Programer certification and continued with a Python Programming course for my MSc. in Computer Science. I have been writing in Python almost every day since then, and continue to do so at my current job. I have built several projects with Python, typically also with the Django web framework.
Skill: JavaScript
Rank: Competent
JavaScript was the second langauge that I learned, and is when I became more familiar with web development. I believe I started learning JavaScript around the beginning of 2021 from an online course with Pirple.com (which I think has since been deprecated). However, it was a great course that tought me the basics of ES5 and ES6. I have built several personal web projects, all including JavaScript in one form or another. Even this website requires some JavaScript to operate correctly. Additionally, I write JavaScript almost every day at my current position.
Skill: React
Rank: Competent
React is a JavaScript library for making web development a little bit easier. I didn't learn React right away as I really tried to master the fundamentals of JavaScript before depending on a third-party library. However, when I began working with React by late 2021 I found just how much easier it was to build interactive websites. Since then, I have incorporated React into several of my personal projects. Additionally, I write React almost every day at my current position and work with several other React plugin libraries.
Skill: Django
Rank: Competent
Django is an open-source web framework for Python following a model-template-view architectural pattern. I have seen it described as a "Batteries Included" framework several times as it comes with many useful features. I first started learning Django in early 2022, and have used Django to build several personal projects as I developed a solid understanding of web development. Additionally, I write Django almost every day at my current position and work with several other Django plugin libraries.
Skill: Django REST Framework
Rank: Competent
Django REST Framework is a library for Django to help build web APIs with ease. I began working with DRF only a short while after learning Django because they work so well together. I have created several personal projects with DRF. Additionally, I use Django REST Framework almost every day at my current position.
Skill: Docker
Rank: Journeyman
Docker is a great containerization application allowing projects to run on any device if it runs Docker. I began learning Docker in mid 2022 and have found it to be incredibly useful. I use the tool, at least in its most basic sense of running conatiners, every day at my current position, and am capabile of building images and debugging issues.
Skill: Redux
Rank: Journeyman
With respect to Redux with React, I became familiar with the technology through a Udemy course. Additionally, I work with Redux on projects in a professional setting.
Skill: Express.js
Rank: Novice
Express.js is a a minimal MVC web framework for Node.js. I started learning Express.js in June 2023 when tasked to build an app for the Monday.com platform. Currenlty, I have watched several tutorials and am working my way through building apps using the framework. Previous experience with web frameworks and knowledge of writing JavaScript have made learning Express more of an enjoyable journey than a frustrating one. I would recommend giving it a try.
Skill: Asana
Rank: Novice
I've worked with Asana daily since October 2022 to about July 2023. Asana is a work management platform that allows software teams to quite easily implement Agile frameworks like Scrum with Kanban boards. I have used Asana to track many sprints and projects, and helped manage a product backlog.
Skill: Cypress
Rank: Novice
Not yet used Cypress on a personal project but have set it up in work environemnt. The team implemented Cypress Page Object Model to create smoke tests for all pages on internal platform.
Skill: Rust
Rank: Novice
I think Rust is one of my most favourite languages, but also quite difficult to learn. I really began learning Rust probably in late 2022. Unfortunately, all learning is slowly done in my spare time as it's not a language used at my current position. However, coming from a Python background, Rust has helped me understand much of the complex logic the Python interpreter abstracts away for the developer.
Skill: Monday.com
Rank: Novice
Monday.com is a "Work OS" that can be used to create and track workflows. It's main selling point, in my opinion, is that widgets and dashboards are customizable and visually pleasing to look at. I've been working with it daily since July 2023, setting up workspaces, boards, and assisting in creating workflows. I have even tried my hand at creating apps using the Express.js framework.
Skill: Java
Rank: Newbie
I see that Java and Java Spring Boot are actually still quite popular. I have a Udemy course and several books from HumbleBundle on Java, and would like to learn the language. As an update, I've started learning Java. Hopefully I don't stir any outrage saying that at first glance, it is strikingly similar to JavaScript, with obvious differences.
Skill: Ocaml
Rank: Inquisitive
I am interested in learning what all of the hype is about. According to Wikipedia, OCaml was created back in 1996. It's a functiona, imperative, and object-oriented langauge that never really took off.