My Tools Box as a Software Engineer

I am aqim
5 min readJun 18, 2020

--

Having the right tools to work like any other craftsman is also important when working as a software engineer, its imperative to the successful completion of the task at hand. Besides, the right tools allow me to complete my task efficiently, which allows me to expand my capability as well.
Traditionally tools are always moved around to where they are needed to physically solve a problem but as for me, the tools I use are available both online and offline and also mobile-friendly which makes it possible for me to do my job effectively.
Its either you are a front-end or back-end software developer or full-Stack, front end developers are concern about how a website looks while back-end developers are concern about how a website works.
Front end deals with images, contents and structure and this involves 3 major languages namely HTML, CSS and JavaScript. Back end is essentially how things work, it may also be seen as the logic or the data surrounding a site, potentially any site with a data must have a database and when there seems to be logic, users and data manipulation the coding languages for that is going to be Ruby, PHP, Python, C sharp, Java etc…

software front-end and back-end
Front-end & Back-end

If you have chosen to be either be a front end or a back end engineer using any of the languages mentioned above you require some tools, I will mention few required to be a back-end python developer.

Laptop

To be a programmer, you must have a powerful laptop. While computer programming or coding doesn’t necessarily need the most powerful laptop, you’re probably undertaking tasks that need to be tested on third-party applications. or you’ll want to run the apps, websites or games you’ve created. That often means using emulation, and this consumes a lot of memory. For me to get by my daily activity I use an HP Laptop with the following Spec

  • HP ENVY x360 Laptop-15inch touch Screen
  • Windows 10 Home 64
  • 10th Gen Intel® Core™ i5 processor
  • Intel® UHD Graphics
  • 12 GB memory; 256 GB Intel® SSD storage
Laptop
Laptop

Code and Text Editor

I wouldn’t have been able to do my job efficiently without the use of code and text editors. Once I choose an editor that am comfy with (Visual Studio Code), writing code has been less complicated. I have once used Microsoft’s Notepad, but oftentimes it’s helpful to have a text editor that has syntax highlighting/coloring, support for multiple languages, a robust find and replace feature and other features and options that make writing code just a tad bit easier. A few Editors are Atom, Sublime Text, Vim, Visual Studio Code, and Notepad ++ etc…..

Visual Studio Code:

Visual Studio Code is a source code editor developed by Microsoft for Windows, Linux and mac-OS. It is a super fast and lightweight Source Code Editor which can be used to view, edit, run and debug source code for applications. It is mainly used by front-end developers. Visual Studio Code is completely different from Visual Studio. It is cross-platform — works on windows, Linux and Mac while Visual Studio only works on Windows operating system and Mac operating system.

code editor
Visual Studio Code Text Editor

Why I prefer Visual Studio Code

  • Integrated with Git.
  • The Intellisense
  • Lots of Plugin support.
  • Etc…….

Version Control Software

Version control is a way to keep a track of the changes in the code so that if something goes wrong, we can make comparisons in different code versions and revert to any previous version that we want. It is very much required where multiple developers are continuously working on /changing the source code. To mention a few we have ArX, Mercurial, Git, Bit Keeper, Monotone, bit-bucket etc….

Git:

Git is an open-source code management system used by programmers. It is nothing but a Version control repository to track the changes done in the project. Git starts from the Linux kernel development. It was founded in 2005. The core git was written in C programming language but it has been re-implanted in other languages i. e: Ruby, Python, and Java. Its especially used by the programmers for maintaining versions of the current working code.

git
Git Terminologies

Collaboration Tools

In this section, I am going to cover the tools that developers use to collaborate with their peers. Teamwork and interpersonal skills are becoming more and more important, as the success of whole projects sometimes depends not on the technical know-how, but on the clear and efficient communication. We have Asana, JIRA, Basecamp 3, Zoom, Slack Trello etc..

Basecamp 3:

Basecamp 3 is the most popular product under project management software it was formerly known as 37signals. The creation of this agile software comes from the problem they faced when doing long-term projects.

Basecamp 3

Basecamp 3 has :

  • Good documents and files storage
  • Good pricing system.
  • On/off notification setting.
  • Great communication system.
  • Mobile Version etc.

API TOOLS:

Web APIs are a crucial part of web development in recent times. It’s important to have reliable tools to build, test and communicate with the APIs efficiently and securely. Examples of API tool include Postman, REST-Assured, Curl SoapUI, Insomnia etc…

Postman:

When developing an API it is often necessary to test the API outside of the GUI application(s) which are going to consume it. This can allow the developer to test the API and ensure that the response returned is correct as well as testing the reliability, performance and security of the API. The API testing tools allow us to test the response based on passing a specific set of data to the API allowing us to verify the response is as expected.

postman image
Postman-API Client

Postman can ease the following :

  • Easily create test suites
  • Store information for running tests in different environments
  • Store data for use in other tests
  • Integrates with build systems, such as Jenkins
  • Easily move tests and environments to code repositories
  • On-the-fly testing

--

--

I am aqim
0 Followers

I am passionate about programming. It’s the one thing I think I could do for free.