As a freelance software engineer, maximizing productivity is incredibly important to me. To make sure I can successfully handle projects, I've put together a set of tools that make my daily work easier. In this section, I'm excited to share these helpful tools that I rely on every day during my freelance journey. From user-friendly development software to effective project management solutions, discover the tools that truly make a difference in helping me succeed as a freelancer.
For ultimate flexibility while traveling to clients or from anywhere, I chose the MacBook Pro 15'' with Touch Bar, 2016 model. Even after all these years, it continues to deliver outstanding performance for development tasks. Thanks to Mac OS X, which provides a Unix environment, I use zsh natively, my favorite command-line interface, along with the oh my zsh framework.
Recently acquired for my home office setup, the Mac Mini M1 provides me with enhanced comfort in my work, especially when paired with an ultra-wide monitor and ergonomic home office furniture designed for remote work. While Apple's M1 processor architecture initially posed challenges with Docker and other administrative tools, those issues have since been resolved, and the 2020 Mac Mini M1 has become my main work tool.
PhpStorm is an Integrated Development Environment (IDE) provided by JetBrains. Despite its name referencing PHP, it supports various web languages like JavaScript, TypeScript, and even scripting languages like Shell. With PhpStorm, I can consolidate all my code, multiple terminals, and a running application instance, all in one place. Its user-friendly interface seamlessly integrates with version control systems like Git or SVN, simplifying my deliveries. Moreover, its extremely intuitive interface allows me to easily connect to databases and perform different interactions with just a few clicks.
Whether you're developing an API or integrating it into a web client, Postman is an essential tool for ensuring its proper functionality and verifying the accuracy of data transmitted in requests. With its user-friendly interface, Postman is a must-have for web developers. Its ease of use and intuitive features make it a valuable asset for testing and debugging APIs, streamlining the development process, and enhancing overall efficiency.
GitHub is undoubtedly the most popular source code hosting platform using Git. It is where I share the code of my personal projects, available on my homepage. Its popularity among tech recruiters, its central role in open-source projects, and its integration with applications for automated deployment make it an essential tool in the development community.
Yarn is my primary package manager, essential in my development workflow. What sets it apart is its speed, reliability, and efficient dependency resolution. Its intelligent caching significantly reduces download times, thereby enhancing my productivity as a freelance developer. By using Yarn, I benefit from smooth, stable, and performant package management, allowing me to focus entirely on creating high-quality software for my projects.
Slack is the ideal communication tool for interacting with my clients. It allows creating multiple communication channels, making it easy to address urgent requests on specific topics. Moreover, with the recent addition of huddles in the application, it's now possible to have group calls for impromptu meetings. The availability of Slack on mobile also enables me to be responsive when approached for a project, no matter where I am. Slack plays a vital role in facilitating efficient collaboration with my clients and work team.
Google Meet is Google's video conferencing tool, providing the ability to host online meetings. With the capacity to accommodate multiple participants simultaneously and apply background filters, it's my favorite tool for reaching out to new prospects during outreach. Its user-friendly interface and advanced features make it an essential asset for smooth and productive professional interactions.
Google Calendar is a simple yet powerful calendar application that allows me to share my schedule with others and effectively plan meetings while considering everyone's availability. With its sharing and syncing features, I can easily schedule appointments and events with my clients, partners, and colleagues, making it effortless to coordinate our professional activities. Google Calendar is an essential tool for maintaining efficient work organization and optimizing my freelance schedule.
Calendly is the tool I use for prospecting, allowing me to quickly schedule a meeting with a potential client. Connected to my Google calendar, it offers available time slots based on my availability. With just one click, a prospect can easily schedule a phone call or a meeting via Google Meet. Calendly streamlines and optimizes the management of my professional appointments, enabling me to dedicate more time to essential freelance activities.