Why Ducks?

In software engineering, rubber duck debugging (or rubberducking) is a method of debugging code by articulating a problem in spoken or written natural language. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line by line, to the duck.

Frankly this is just an excuse to put something visually interesting a page about programming.

Professional:
Frontend Developer

Frontend development has seen a transformative shift with the advent of JavaScript libraries and frameworks, and among these, React stands out as one of the most influential and widely adopted. Developed and maintained by Facebook, React is a JavaScript library tailored for building dynamic, high-performing user interfaces for web applications. With its virtual DOM, React ensures efficient updates and rendering, making applications more responsive and swift. Its component-based architecture enables developers to create reusable UI components, leading to cleaner code, easier maintenance, and consistent design throughout the application.

In the realm of React application development, developers not only create interactive user interfaces but also manage application state, integrate with backend services, and even handle side effects using tools like Redux and Redux Saga or the React Context API. This ecosystem has expanded to include solutions for routing, form handling, and more, making React not just a library but a foundational element of a modern frontend development stack. As the community around React continues to grow, so do the tools, best practices, and methodologies, solidifying React's position as a key player in shaping the future of frontend development.

const MyComponent = () => {
  return (
	  <h1>Hello World</h1>
  );
};

Skill set

Category Filters:
All
3D Graphics
Animation
API
CMS
Communication
Data Visualization
Design
Development
DevOps
Game Engine
Graphics
OS
Process
Programming language
React
Software
Styling
Testing
UI
UX
WebSockets
Astro
Development
Astro is an all-in-one web framework best-known for reduce JavaScript overhead and complexity compared to other frameworks.
Experience:
I have used it in one project.
Relevance:
This is a modern tool.
Blender
Design
Software
3D Graphics
Blender is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality, and computer games. Blender's features include 3D modeling, UV unwrapping, texturing, raster graphics editing, rigging and skinning, fluid and smoke simulation, particle simulation, soft body simulation, sculpting, animating, match moving, rendering, motion graphics, video editing, and compositing.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
CSS
Development
Programming language
Styling
CSS (Cascading Style Sheets) is a style sheet language used for describing the look and formatting of a document written in HTML or XML. CSS describes how elements should be rendered on screen, on paper, in speech, or on other media.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Cypress
Development
Testing
Cypress is a next generation front end testing tool built for the modern web. It provides a complete end-to-end testing experience that includes unit, integration, and e2e testing.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
DaVinci Resolve
Design
Software
DaVinci Resolve is a professional video editing software application that combines editing, color correction, visual effects, motion graphics, and audio post-production in a single solution. It's known for its advanced color correction and grading tools, making it a preferred choice for filmmakers and professionals in the video industry.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Figma
Design
Software
Figma is a cloud-based design tool used for user interface, user experience design, and prototyping. It supports collaborative design projects and has tools for creating, editing, and testing UI and UX designs. It is popular for its vector design tools, prototyping capabilities, and real-time collaboration features.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Git
Development
DevOps
Git is a distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It allows and encourages you to have multiple local branches that can be entirely independent of each other.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Godot
Development
Software
Game Engine
3D Graphics
Godot is a 2D and 3D, cross-platform, free and open-source game engine released under the MIT license. It's designed to create games with ease and has a unique and innovative design that makes it easier to learn and use than other game engines.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Next.js
Development
React
Next.js is an open-source development framework built on top of Node.js enabling React based web applications functionalities such as server-side rendering and generating static websites.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
React
Development
Programming language
React
React (also known as React.js or ReactJS) is an open-source, front-end JavaScript library for building user interfaces or UI components. It's maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Remote working
Process
Remote work is a working style that allows professionals to work outside of a traditional office environment. It is based on the concept that work does not need to be done in a specific place to be executed successfully.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
SCRUM
Process
SCRUM is an Agile framework for managing projects. It emphasizes iterative progress, collaboration, and adaptability. Teams work in fixed-length sprints to complete prioritized tasks, guided by roles like the Scrum Master and Product Owner.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Typescript
Development
Programming language
TypeScript is a strongly typed, object oriented, compiled language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript and adds optional static typing to the language. TypeScript is designed for development of large applications and compiles to JavaScript.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Vercel
Development
DevOps
Vercel is a cloud platform for static sites and Serverless Functions that fits perfectly with modern frameworks like Next.js, Nuxt, Angular, Vue, Gatsby, and more.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
@react-three/fiber
Development
React
Data Visualization
A React renderer for three.js that brings components to three.js.
Experience:
I have used it in one project.
Relevance:
This is a modern tool.
Accessibility
Process
UX
Accessibility in the IT context is the design of products, devices, services, or environments so as to be usable by people with disabilities. It involves direct access (i.e. unassisted) and indirect access meaning compatibility with a person's assistive technology (for example, computer screen readers).
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Adobe After Effects
Design
Software
Adobe After Effects is a digital visual effects, motion graphics, and compositing application developed by Adobe Systems. It is primarily used for post-production in film making and television production. Its key uses include the creation of 2D and 2.5D animation, visual effects compositing, finishing (image adjustment, color correction etc.), and more.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Adobe Photoshop
Design
Software
Adobe Photoshop is a leading software program for image editing and graphic design. It is used by professionals worldwide for many tasks, including photo retouching, image manipulation, design layouts, and even digital painting. Understanding Photoshop is crucial for any designer or artist working in a digital medium.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
Adobe Premiere
Design
Software
Adobe Premiere Pro is a professional video editing software application. It is used in the film, TV, and web industries for editing video footage, adding effects, and creating final presentations. It supports a wide range of video formats, and has a rich set of tools for editing, color correction, audio editing, and more.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
Affinity Designer
Design
Software
Affinity Designer is a vector graphics design software developed by Serif. It is known for its precision and performance and is used by professionals and enthusiasts for creating illustrations, icons, branding, and other vector-based graphics. Affinity Designer supports various color modes, including RGB and CMYK, and offers a wide range of design tools, brushes, and effects. Its real-time performance, coupled with the ability to handle complex documents, makes it a robust alternative to other leading vector design applications. Affinity Designer is available on various platforms, offering consistency and flexibility for different design needs.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
Affinity Photo
Design
Software
Affinity Photo is a professional photo editing software developed by Serif. Designed to provide photo editing capabilities, it offers a comprehensive set of tools for retouching, editing, and enhancing photographs and aims to give photographers and designers an affordable alternative to other mainstream photo editing software such as Photoshop.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Affinity Publisher
Design
Software
Affinity Publisher is a desktop publishing application developed by Serif. It's tailored for layout design and is utilized by professionals for creating magazines, brochures, reports, and other publications. Affinity Publisher offers a wide array of typography and layout tools, including master pages, grids, tables, and text wrapping, allowing precise control over the design. Its intuitive interface and competitive pricing make it a solid alternative to Adobe InDesign.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Audio capture and editing
Design
Audio capture and editing is the process of recording audio and modifying it to fit a specific context or achieve desired effects. It can involve tasks such as removing noise, adjusting pitch or speed, adding effects, and balancing audio levels. This skill is essential in many fields, from music and film production to podcasting and broadcasting.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
Axure RP
Design
Software
Axure RP is a popular tool for creating software prototypes. It allows designers to create highly interactive and dynamic prototypes without needing to write code. Features include conditional logic, variables, and dynamic content that can simulate real-world software behavior.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
BDD
Development
Process
Behavior-driven development (BDD) is an Agile software development process that encourages collaboration among developers, QA and non-technical or business participants in a software project.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Brand development
Design
Brand development is a strategic process of defining, conveying, and maintaining a brand's identity and reputation. It involves creating a brand strategy, identifying its target audience, establishing a unique selling proposition, and creating a cohesive brand message. It requires a deep understanding of the brand's values, goals, market trends, and customer needs.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
bun
Development
Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
C#
Development
Programming language
C# is a modern, object-oriented programming language developed and maintained by Microsoft. It's designed for developing applications on the .NET platform and can be used to create Windows client applications, distributed components, database applications, and much more.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Chat GPT/AI prompt generations
Process
AI prompt generation refers to the use of artificial intelligence to create or generate new content or responses based on given prompts. This process is commonly used in chatbots, virtual assistants, and other AI-powered communication tools to create natural, human-like responses or to generate creative content.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Craft CMS
Development
CMS
Craft CMS is a content management system (CMS) that seeks to make life enjoyable for developers and content managers alike. It's a flexible and customizable CMS that can be tailored to individual needs of each project.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
D3
Development
Data Visualization
D3.js is a JavaScript library for creating data visualizations.
Experience:
I have used it in one project.
Relevance:
This is a modern tool.
Design review
Design
The design review process systematically evaluates a design by a team of experts. Such reviews could involve a critique of a design's aesthetics, usability, and adherence to design principles and standards. The goal is to ensure the design's quality and effectiveness and identify any potential issues or improvements.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Digital Ocean
Development
DevOps
DigitalOcean provides developers cloud services that help to deploy and scale applications that run simultaneously on multiple computers. It's a scalable compute platform with add-on storage, security, and monitoring capabilities.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Django
Development
CMS
Django is a high-level Python web framework that enables rapid development of secure and maintainable websites. Built by experienced developers, it takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel.
Experience:
I have used it in one project.
Relevance:
This is an old skill, not used much any more.
Docker
Development
DevOps
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from each other and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. Docker enables developers to package applications into containers—standardized executable components that combine application source code with the operating system (OS) libraries and dependencies required to run that code in any environment.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Electron
Development
Electron is an open-source framework that allows for the development of desktop applications using web technologies such as HTML, CSS, and JavaScript. Built on Chromium and Node.js, Electron enables developers to create cross-platform applications that are capable of running on Windows, macOS, and Linux. The framework provides APIs for native OS functionalities, bridging the gap between web and desktop environments.
Experience:
I have used it in one project.
Relevance:
This is still used but there are more modern alternatives.
Express
Development
Express.js, or simply Express, is a back-end web application framework for Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs. It is the standard server framework for Node.js.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Focus groups
Process
A focus group is a small, but demographically diverse group of people and whose reactions are studied especially in market research or political analysis in guided or open discussions about a new product or something else to determine the reactions that can be expected from a larger population.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
framer motion
Development
Animation
A library to animate React components.
Experience:
I have used it in multiple projects.
Relevance:
Gatsby
Development
React
Gatsby is a free and open-source framework based on React that helps developers build blazing-fast websites and apps. It allows developers to create static websites from dynamic data sources, including CMSs like Contentful or WordPress and APIs.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
GitHub
Development
DevOps
GitHub is a Git repository hosting service, but it adds many of its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, continuous integration and more.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Google Analytics
Process
Google Analytics is a web analytics service offered by Google that tracks and reports website traffic, currently as a platform inside the Google Marketing Platform brand. It provides valuable insights that can help you to shape the success strategy of your business.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
GraphQL
Development
Programming language
GraphQL is a query language for APIs and a runtime for executing those queries with your existing data. It provides an efficient and powerful alternative to REST and offers significant advantages in terms of helping clients to get the data they need without over-fetching or under-fetching.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Grunt
Development
Grunt is a JavaScript task runner, a tool used to automatically perform frequent tasks such as minification, compilation, unit testing, and linting. It uses a command-line interface to run custom tasks defined in a file.
Experience:
I have used it in many projects
Relevance:
This is an old skill, not used much any more.
Gulp
Development
Gulp is a toolkit that helps you automate painful or time-consuming tasks in your development workflow. It's a streaming build system in front-end web development used to automate routine tasks such as minification, compilation, unit testing, and linting.
Experience:
I have used it in many projects
Relevance:
This is an old skill, not used much any more.
HTML
Development
Programming language
HTML (HyperText Markup Language) is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Jade/Pug
Development
Programming language
Jade (now known as Pug) is a high-performance template engine heavily influenced by Haml and implemented with JavaScript for Node.js and browsers. It provides developers with a way to write markup in a terse and consistent way.
Experience:
I have used it in many projects
Relevance:
This is an old skill, not used much any more.
JavaScript/ECMA Script
Development
Programming language
JavaScript is a high-level, interpreted programming language primarily used for client-side web development. It conforms to the ECMAScript specification and enables interactive and dynamic content on web pages.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Jest
Development
Testing
Jest is a JavaScript testing framework maintained by Facebook, Inc. designed and built by Christoph Nakazawa with a focus on simplicity and support for large web applications. It works with projects using Babel, TypeScript, Node.js, React, Angular, Vue.js and Svelte.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Jira
Process
Communication
Agile project management tool used by teams to plan, track, release and support software development.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
jQuery
Development
Programming language
jQuery is a fast, lightweight JavaScript library that simplifies tasks like HTML document traversal, manipulation, event handling, and AJAX. It aims to ease the use of JavaScript on websites.
Experience:
I have used it in many projects
Relevance:
This is an old skill, not used much any more.
JSX
Development
Programming language
JSX is a syntax extension for JavaScript, primarily used with React to describe what the UI should look like. It might remind you of a template language, but with full power of JavaScript. JSX produces React 'elements' and essentially makes it easier to write and add HTML in React.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Language design
Design
Language design involves developing visual and textual languages for communication, which could range from creating a new programming language to developing a unique visual language for a brand. Language design requires creativity, understanding of semiotics, and a deep knowledge of and empathy for the target domain.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
LESS
Development
Programming language
Styling
LESS (Leaner Style Sheets) is a dynamic preprocessor style sheet language that can be compiled into Cascading Style Sheets (CSS) and run on the client side or server side. It's designed to make writing and maintaining CSS more efficient and easy.
Experience:
I have used it in many projects
Relevance:
This is an old skill, not used much any more.
Line management
Process
A line manager is a person who directly manages other employees and operations while reporting to a higher-ranking manager. Related job titles are supervisor, section leader, foreperson and team leader. They are charged with meeting corporate objectives in a specific functional area or line of business.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
MacOS and Linux
Development
OS
MacOS is a series of proprietary graphical operating systems developed and marketed by Apple Inc. Linux is a family of open-source Unix-like operating systems based on the Linux kernel. Both are popular platforms for development.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Markdown
Development
Programming language
Markdown is a lightweight markup language for creating formatted text using a plain-text editor. It allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
MDX
Development
Programming language
MDX is an authorable format that lets you seamlessly write JSX in your Markdown documents. It's a powerful way to combine the readability of Markdown with the interactivity of JSX.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Microsoft Teams
Process
Communication
Microsoft Teams is a collaboration platform that integrates with Microsoft 365 and provides chat, video conferencing, file storage, and application integration for team communication and productivity.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Miro
Communication
A digital whiteboard platform designed to facilitate collaboration, brainstorming, and visual project management across teams.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Mobile First
Design
Mobile first is a design strategy that suggests designing for mobile screens first, then scaling up and adding features for larger screens. It's based on the trend of increasing mobile usage. This approach helps to ensure that the website or application's user experience will be optimal on mobile devices.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Motion graphics
Design
Motion graphics design involves creating artwork and animations that create the illusion of motion or rotation. This can be used to create a wide variety of content, from promotional videos to user interface animations. This field requires a good understanding of graphic design, as well as knowledge of animation principles and software.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
MVT (Multivariate Testing)
Process
Multivariate testing (MVT) is a technique for testing a hypothesis in which multiple variables are modified. It is a type of A/B testing but may involve testing more than two versions at the same time.
Experience:
I have used it in one project.
Relevance:
This is a modern tool.
Netlify
Development
DevOps
Netlify is a web developer platform that multiplies productivity. It provides modern build workflows, serverless functions, and a global edge network right out of the box.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
ngrok
Development
DevOps
ngrok is a cross-platform application that enables developers to expose a local development server to the internet with minimal effort. The software makes your locally-hosted web server appear to be hosted on a subdomain of ngrok.com, meaning that no public IP or domain name on the local machine is needed.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
nivo charts
Development
React
Data Visualization
Nivo provides a rich set of data visualization components, built on top of D3 and React.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Node
Development
Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Offshore working
Process
Offshore work refers to the practice of hiring an external organization to perform some business functions in a country other than the one where the products or services are actually developed or manufactured. It can be contrasted with offshoring, in which the functions are performed by a foreign subsidiary.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Omnigraffle
Design
Software
OmniGraffle is a diagramming and digital illustration application by The Omni Group. It's used for creating precise, beautiful graphics such as website wireframes, electrical systems, family trees, and maps of software classes. OmniGraffle's features include stencils, vector drawing, and robust exporting capabilities.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
OpenAPI
Development
API
Testing
The OpenAPI Specification, originally known as the Swagger Specification, is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Photography
Design
Photography involves creating images by recording light or other forms of electromagnetic radiation. It is used in design as a powerful tool to capture and convey ideas, moments, or concepts. Skills in photography can enhance a designer's ability to create impactful and engaging visual content.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
PostCSS
Development
Styling
PostCSS is a tool for transforming CSS with JavaScript. It allows you to manipulate CSS by parsing CSS into an abstract syntax tree (AST), then traversing and manipulating the CSS nodes, and finally generating new CSS.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Postman
Development
API
Postman is a popular API client that makes it easy for developers to create, share, test and document APIs. This is done by allowing users to create and save simple and complex HTTP/s requests, as well as read their responses.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Project Management
Process
Description pending.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Rapid application design and prototyping
Process
Rapid Application Development (RAD) is a form of agile software development methodology that prioritizes rapid prototype releases and iterations. It involves iterative development and the construction of prototypes to meet user's requirements more quickly and enhance software quality.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
React Query
Development
React
React Query is a data-fetching and state management library for React applications. It provides essential features like caching, synchronisation, and background fetching to make it easier to manage remote data.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
React Testing Library
Development
Testing
React
React Testing Library is a lightweight solution for testing React components. It provides light utility functions on top of react-dom and react-dom/test-utils, in a way that encourages better testing practices.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Reaper
Design
Software
Reaper is a complete digital audio production application, offering a full multitrack audio and MIDI recording, editing, processing, mixing and mastering toolset. Its extensive customization options and advanced features make it suitable for producing music, sound design, broadcasting, podcasting, and more.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
recharts
Development
React
Data Visualization
Recharts is a charting library built with React and D3.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Redux
Development
React
Redux is an open-source JavaScript library for managing application state. It is most commonly used with libraries such as React or Angular for building user interfaces. Redux is a small library with a simple, limited API designed to be a predictable container for application state.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Remote team working
Process
Remote team working involves a group of people working together to achieve a common goal, but they are not located in the same physical location. They may be in different cities, countries, or even continents, and they use technology to communicate and collaborate.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Requirements and Business Analysis
Process
Business analysis is a research discipline of identifying business needs and determining solutions to business problems. Requirements analysis is critical to the success or failure of a systems or software project. It involves frequent communication with system users to determine specific feature expectations.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Responsive Design
Design
Responsive design is an approach to web design that makes web pages render well on a variety of devices and window or screen sizes. It is about using CSS and HTML to resize, hide, shrink, enlarge, or move the content to make it look good on any screen. This is crucial in the current digital age where a vast variety of screen sizes exist.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
SASS
Development
Programming language
Styling
Sass (Syntactically Awesome Style Sheets) is a preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS). SassScript is the scripting language itself. Sass consists of two syntaxes. The original syntax, called 'the indented syntax', uses a syntax similar to Haml.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
SCSS
Development
Programming language
Styling
SCSS is a preprocessor which lets you use features that aren't a part of the wider CSS standard yet, and provides better workflows for maintaining your stylesheets. It's a special type of syntax for SASS (a language itself), which is CSS compatible.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
Semantic Web
Design
The Semantic Web is an extension of the World Wide Web that enables people to share content beyond the boundaries of applications and websites. It has been coined by Tim Berners-Lee, the inventor of the World Wide Web. The Semantic Web provides a common framework that allows data to be shared and reused across applications, enterprises, and communities.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
SEO
Process
Search engine optimization (SEO) is the process of improving the quality and quantity of website traffic to a website or a web page from search engines. SEO targets unpaid traffic rather than direct traffic or paid traffic.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Socket.io
Development
WebSockets
A library for real-time web applications.
Experience:
I have used it in many projects
Relevance:
This is still used but there are more modern alternatives.
Stoplight
Development
API
Testing
Stoplight offers a suite of products providing functions like API design, API documentation, mock servers, and API performance testing. It's a powerful platform for API planning, modeling and documentation.
Experience:
I have used it in one project.
Relevance:
This is still used but there are more modern alternatives.
StoryBook
Development
Storybook is an open-source tool for developing UI components in isolation. It provides a sandbox to build UI components so you can develop hard-to-reach states and edge cases.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Style guide development
Design
Style guide development involves creating design and writing standards that ensure consistency across a brand or project. This guide typically includes rules about typography, colour, logo usage, imagery, and voice/tone. The goal is to ensure that all creators working on a project maintain a consistent style and branding.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Styled Components
Development
Styling
Styled Components are one of the new ways to use CSS in modern JavaScript. It is meant to be a successor of CSS Modules, a way to write CSS that's scoped to a single component, and not leak to any other element in the page.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Stylus
Development
Programming language
Styling
Stylus is a dynamic stylesheet language that's designed to compile down to CSS. It provides a cleaner and more expressive syntax for CSS, with features like variables, functions, and operations, and helpful functions like color manipulation and math calculations.
Experience:
I have used it in many projects
Relevance:
This is an old skill, not used much any more.
SVG
Development
Graphics
Scalable Vector Graphics for the web.
Experience:
Relevance:
This is a modern tool.
Swagger
Development
API
Testing
Swagger is an Interface Description Language for describing RESTful APIs expressed using JSON. Swagger is used together with a set of open-source software tools to design, build, document, and use RESTful web services.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
SWR
Development
React
SWR is a React library for data fetching, caching, and real-time updates. The name "SWR" stands for "stale-while-revalidate," which describes its caching strategy. It enables efficient fetching and synchronization of data in modern web applications.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Tailwind CSS
Development
Styling
Tailwind CSS is an open-source, highly customizable, low-level CSS framework that provides utility classes to help you quickly build modern websites. It adopts a utility-first approach, which promotes composability and speed in writing CSS. Instead of defining set styles for each component, Tailwind allows developers to build unique designs by applying a series of pre-existing classes directly in the HTML markup.
Experience:
I have used it in one project.
Relevance:
This is a modern tool.
TDD
Development
Process
Testing
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved to pass the new tests, only.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Team Lead and Technical Lead
Process
Team Leads provide guidance, instruction, direction and leadership to a group of individuals for the purpose of achieving a key result or group of aligned results. The Team Lead monitors the quantitative and qualitative result that is to be achieved. Technical Leads are responsible for making key decisions relating to technology choice and implementation within a team.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
three.js
Development
3D Graphics
Three.js is a cross-browser JavaScript library that enables the creation of 3D graphics.
Experience:
I have used it in one project.
Relevance:
This is a modern tool.
Twig
Development
Programming language
Twig is a modern template engine for PHP. It is flexible, fast, and secure. It allows you to write templates using a concise syntax, and has features like template inheritance and automatic output escaping.
Experience:
I have used it in multiple projects.
Relevance:
This is an old skill, not used much any more.
Unreal Engine
Development
Software
Game Engine
3D Graphics
Unreal Engine is a powerful, open-source, and professional development engine that provides a rich suite of tools for creating games and a variety of real-time visualization applications. It is known for its cutting-edge graphics and best-in-class visual effects.
Experience:
I have used it in one project.
Relevance:
This is a modern tool.
Usability
Process
UX
Usability refers to the quality of a user's experience when interacting with a product or system, such as a website or application. It measures how easy user interfaces are to use, the effectiveness of a design and the user's perception of this experience.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
User Journey Optimisation
Design
UX
User Journey Optimisation is the process of improving the user's experience from the first interaction with a company to the final goal. This involves understanding the different steps the user takes, identifying any barriers or issues they might face, and implementing changes to make the journey smoother and more enjoyable.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Vector illustration
Design
UI
Vector illustration refers to graphics created using vector image software and are made up of paths, rather than individual pixels. These paths can be scaled without loss of quality, making vector graphics ideal for logos and other designs that need to be resized frequently.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Video editing
Design
Video editing is the process of manipulating and arranging video shots to create a new work. This includes tasks such as cutting and trimming footage, adding transitions, effects, titles, music, and color correction to create a final product. Video editing can be used for creative storytelling, advertising, and informational purposes.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Visual language development
Design
Visual language development refers to creating and applying a unique graphic element system that works harmoniously to effectively communicate an organisation's brand, ideas, or messages. It encompasses a range of principles such as typography, colour palettes, iconography, layouts, and data visualisations. This skill is crucial in various design contexts, from graphic design and branding to UI/UX design, and requires a solid understanding of design principles, creativity, and attention to detail.
Experience:
I have used it in multiple projects.
Relevance:
This is still used but there are more modern alternatives.
Webpack
Development
Webpack is an open-source JavaScript module bundler. It is a module bundler primarily for JavaScript, but it can transform front-end assets like HTML, CSS, and images if the corresponding plugins are included. Webpack takes modules with dependencies and generates static assets representing those modules.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
WebSockets
Development
WebSockets provide a full-duplex communication channel over a single, long-lived connection, enabling real-time data exchange between a client and server. They are commonly used to facilitate features like live updates or real-time chat in web applications.
Experience:
I have used it in multiple projects.
Relevance:
This is a modern tool.
Windows
Development
OS
Windows is a group of several graphical operating system families, all of which are developed, marketed, and sold by Microsoft.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
Wordpress
Development
CMS
WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. It is an extremely popular web creation tool and is used to create websites and blogs.
Experience:
I have used it in multiple projects.
Relevance:
This is an old skill, not used much any more.
WSL2
Development
OS
The Windows Subsystem for Linux lets developers run a GNU/Linux environment -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a traditional virtual machine or dualboot setup.
Experience:
I have used it in many projects
Relevance:
This is a modern tool.
XML
Development
Programming language
XML (eXtensible Markup Language) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It's a self-descriptive language designed to store and transport data.
Experience:
I have used it in many projects
Relevance:
This is an old skill, not used much any more.
XSLT
Development
Programming language
XSLT (eXtensible Stylesheet Language Transformations) is a language for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or into XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG.
Experience:
I have used it in many projects
Relevance:
This is an old skill, not used much any more.