Software I prefer, how I write and other things I recommend.
I get queries on what programming languages I use and productivity tools for work management.
Development tools
Jetbrains Tools
8 yearsJebrains is a cutting edge software that has specialized in building intelligent development tools. My favorite tool to use is Webstorm for Javascript based development. Other tools I've worked with include PyCharm for Python, IntelliJ for Java and Datagrip for data management. I've also been testing out Jetbrains Space as a complete software development platform with support for Version Control and Project management.
iTerm 2
7 yearsIterm works as a terminal emulator with added support for open source software. These include themes like oh-my-zsh and git plugins that contain shortcut commands. It provides a range of customization and it's pretty easy to work and build with.
Google Workspace
8 yearsGoogle workspace provides a range of products users can work with, even collaboratively. Some of these tools include a Mail Service, G-suite, which contains Sheets, Docs, Presentation and development tools like firebase and Coogle Cloud Platform.
Postman
8 yearsThis is a tool for API development that enables users to easily use and test endpoints. It provides configurations like workspaces for better organizations and easily configurations with the desired effects of the endpoints. These includes authorization and header management to different data formatting for apis like JSON and form data.
Git
9 yearsGit is a free open source tool for distributed version control systems designed to handle projects with speed and efficiency. It integrates with different platforms like Github, Gitlab, Bitbucket for online project management.
Programming Languages
Python
9 yearsPython is a simple-to-use programming offering much structure and support for large programs. It offers support to things like type setting and extensions to C for porting modules. It's heavily used in different development arenas which include web development, desktop applications and also simple mobile applications. For web development, some of the languages I've worked with extensively include Flask, Django and Fast API. Currently, it's heavily used in Machine Learning and Data Science projects as it has scientific modules for the same support. It's a fun language to use and can be a go to for large and complex systems with heavy data programming.
Javascript
8 yearsJavascript (JS) is a light weight interpreted language with first class functions. Similar to Python, it can be used in browser environments and server side programming. It's a prototype based, multiparadigm, single-threaded, dynamic language supporting object-oriented, imperative and declarative programming. It also has a big community with libraries for supporting different functionalities. For frontend development there are libraries and frameworks that make interactions and development a bit quicker. These include React JS, Vue JS, Svelte, Angular. They make DOM interactions and data manipulation a bit easier with state management. Other libraries include D3 JS for visualization, Lodash and Ramda for functional programming. For server side scripting Node JS is used as the main run time.
HTML 5
9 yearsHyper Text Markup Language is a standard markup language for Web Pages. It enables developers to create and visualize pages on the web. It's often works alongside JS and CSS for styling. It can also be used in embeds in JS. HTML documents often get delivered via HTTP or from a web server or via email. Often readable HTML needs to be organized by ensuring that every tag is used accordingly for semantic writing.
CSS
9 yearsCascading Style Sheets is a style sheet language used to describing the presenting of documents written in markup languages like XML. It's used to create better layout, colors and fonts. This specification provides better content delivery by creating different styles and rendering methods. There are libraries that helps in creating better layout presentations. These include Tailwind CSS, Bootstrap, Material UI, Tachyons CSS e.t.c. There are also pre-processors that work alongside CSS which provide more functionalities e.g. Sass, SCSS, Less and Stylus. Therefore, it's highly needed for making the web be more presentable.
Node JS
8 yearsA Javascript runtime server that works across multiple platforms. It helps execute JS code outside a web browser. Node JS has an event-driven architecture capable of async I/O. It has a collection of modules that handle various core functionalities. Modules provide for file system I/O, networking, binary data(buffers), cryptography functions, data streams and other data functions. Some of the libraries that work efficiently with include Hapi JS, Express JS & Fastify.
Typescript
7 yearsTypescript is a super-set of Javascript that add static typing with optional type annotations. It works efficiently in large scale programs that gets transpiled to Javascript. Developed by Microsoft, it's a free and open source programming language. It may be used to develop both frontend and client side software execution as Node JS and Deno. It contains information of existing JS libs much like C++ header files can describe the structure of existing object files. It has undergone multiple release developments with Typescript 5.0 being the latest release as per the time of this writing. It currently supports modern JS libraries and platforms.
Other Programming Languages
Ruby
6 yearsAn Open Source programming language focused on simplicity and productivity. It is an interpreted high level language which supports multiple paradigms. Ruby on Rails is the most famous web application framework being used, and it has been used in building large scale applications including GitHub.
Rust
4 yearsA multi-paradigm, general-purpose programming language with emphasis on security, concurrency and performance. It ensures memory safety by ensuring it points to the right memory references. It employs methods like the use of a borrow checker that tracks an object's lifetime. It borrows ideas from functional programming including immutability and HOF. On web it can be used as a web assembly language whose performance is incredibly fast. It was built as a research project at Mozilla.
Go
4 yearsA statically typed, compiled high level language developed at Google. It is similar to C, but with memory safety, garbage collection and structural typing. It has a quick compilation time and execution speed. It has a bunch of use including the making of web services, network and cloud services, CLI tools, microservices and data science. Since it's supported by Google that runs large systems, be sure it's an efficient language to work with.
Testing Tools
Selenium
5 yearsSelenium is an open source project that provides a range of browser automations. It provides a playback of tools for authoring functional tests across the modern web. It also provides domain specific testing with support for languages like JS, PHP, Python, Ruby and Scala.
Jest
7 yearsJest is a JS framework primarily for testing and ensuring the correctness of any JS codebase. It provides a comprehensive testing solutions by adding support to library specific bindings like React JS and Vue JS for efficient testing. It focuses on simplicity while doing unit testing and it's easy to work with.
Cypress
6 yearsAn E2E framework used for component testing and can easily create tests for modern web applications and visualize them. It ensures it's easy to debug this way and can be automatically ran on continuous integration builds. This in turn increases productivity buy ensuring what you see is what you get.
DBMS
PostgresQL
7 yearsAn open-source relational database management system known for its reliability and advanced features, including support for complex queries, indexing, and extensibility.
MySQL
8 yearsAnother popular open-source relational database system that's known for its speed, scalability, and ease of use, often used in web applications.
MongoDB
6 yearsA NoSQL database that stores data in a flexible, JSON-like format. It's suitable for handling large volumes of unstructured or semi-structured data.
Oracle
5 yearsA highly scalable and robust relational database management system often used in enterprise-level applications.
Cloud Systems
Amazon Web Services
6 yearsA comprehensive cloud computing platform by Amazon, offering a wide range of services, including computing, storage, machine learning, and more.
Microsoft Azure
6 yearsMicrosoft's cloud computing platform, providing various services for building, deploying, and managing applications through Microsoft's data centers.
Google Cloud Platform
7 yearsGoogle's cloud services platform, offering cloud computing, data storage, and machine learning services, among others.
Digital Ocean
8 yearsA cloud infrastructure provider that specializes in simplicity and developer-friendly features, often used for hosting web applications and websites.
Heroku
7 yearsA cloud platform as a service (PaaS) that simplifies application deployment and management, particularly popular among developers for its ease of use.
Design
Figma
7 yearsA cloud-based design tool for creating user interfaces and collaborative design projects, known for real-time collaboration features.
Sketch
6 yearsA macOS-based vector graphics editor primarily used for designing user interfaces and user experiences.
Adobe
4 yearsAdobe offers a suite of creative software tools, including Photoshop, Illustrator, and InDesign, widely used for graphic design, photo editing, and more.
Productivity
Asana
6 yearsA project management tool for teams to plan, organize, and track work.
Monday.com
5 yearsA work operating system that helps teams manage work, projects, and tasks in a visual and customizable way.
Jira
7 yearsA popular issue and project tracking tool by Atlassian, often used for software development and project management.
GitHub
9 yearsA web-based platform for version control and collaboration using Git, widely used for hosting and managing source code repositories.
GitLab
6 yearsAnother web-based platform for Git repository management, offering features like continuous integration and continuous deployment (CI/CD).
Bitbucket
7 yearsAtlassian's Git repository management solution that integrates with other Atlassian tools, often used for version control in software development.
GPT & AI constructs
3 yearsGPT, short for Generative Pre-trained Transformer, is a type of artificial intelligence model that belongs to the transformer architecture family. GPT models are known for their ability to understand and generate human-like text based on the input they receive. GPT models have gained significant attention and popularity in natural language processing (NLP) and have been used for a wide range of applications, including chat bots, language translation, content generation, code writing & debugging and more. This in turn increases the developer's productivity.
Data Orchestration
Docker
6 yearsA platform for developing, shipping, and running applications in containers, allowing for easy application deployment and scaling.
Kubernetes
5 yearsAn open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications.
CI/CD tools
Circle CI
7 yearsA continuous integration and continuous deployment (CI/CD) platform that automates the software development process.
Jenkins
5 yearsAn open-source automation server that facilitates building, testing, and deploying code to production.
Terraform
5 yearsAn infrastructure as code (IAC) tool by HashiCorp that allows for defining and provisioning infrastructure in a declarative manner.
Cloud Run
5 yearsA serverless container platform by Google Cloud for running containerized applications in a fully managed environment.
Travis CI
6 yearsA cloud-based continuous integration and continuous deployment service that automates the software delivery process.
API spec
REST
8 yearsRepresentational State Transfer is an API design architecture. It uses URLs to access information. It supports formats like JSON. It's also stateless which means it completes every client request independently.
SOAP
4 yearsSimple Object Access Control is a message protocol used for exchange of information that is structured across web services. It came into existence before REST and it uses XML for data exchange.
GraphQL
5 yearsGraphQL is an API design architecture too. Everything is considered a graph which means you can query the exact resources that are required ~ declarative data fetching. It is also not tied to any database or storage engine.