Tools I Use For Software Development

I am a programmer and blogger for last few years. From time to time I have come across many software, apps or web applications that grabbed my attention. In this post, I am going to tell you about the tools and software I use for maintaining my work, and budgeting my time. After reading this post, you’ll:

  • Learn the tools I use to boost my productivity.
  • The reasons behind choosing them.
  • Learn how I deal with something.

So, let’s dive in.

I am a programmer before being a blogger. What I really mean by this is – there are a handful number of tools that I use to write code and develop software, and there are some other tools I use to run this website, make drafts, review them and publish. In this post, I am going to reveal all of these products. Before going deep, I want to let you know that you can hover over the product names to go to their websites and give them a try, but I am not using any affiliate links.

What affiliate links are?
Affiliate links are links that are used to attract customers to the respective product, and thus earning a percentage of their revenue as a commission.

I chose these products only because these products had made my programming tasks simpler and easier. So, I can frankly share with you those so that you can give some of them a trial to know about the products.

Software development related

As software developer, you must spend a vast amount of your time using a text editor. At first, choosing a text editor was the million-dollar question for me. I continuously switched between different text editors until I come across the Sublime Text 2. I can remember, I stepped into software development career by learning web design. The tutorial I followed used Notepad++ for writing code. I wrote proper code for the first time in Notepad++ text editor.

Notepad++ is well-known for a number of reasons. It is free, fast and light-weight text editor, the top three qualities expected from a developer’s point of view. You can write program and run it by simply clicking a button on the menu. However, it also falls short for some reasons, for instance, not working cross platform (only available for Windows), lack of plugins, ugly interface design are some of the demerits that can ruin a programmers passion for programming.

From time to time, I switched to different text editors in order to find the best one in terms of performance and user experience. Finally, I learned about the Sublime Text. This text editor has many more capabilities than actually you need, which is not a good thing at least, according to my ideology. My ideology is you never should use a tool that is more capable than what you actually need. The tweaks that is not really used by a programmer make the path convoluted. At this point of my journey, sublime text appeared to me as a salvation. It allowed me to do pretty much anything to everything in writing program. I got obsessed with this editor because of the beautiful user interface, access to minimap, and the ability to increase its capability using third party plugins.

Now, here comes the second part of the story, where my mind bogged down to something else. As I learned new stuffs and mastered newer languages and frameworks I established another ideology. That is – working like a programmer.
What does it really mean working like a programmer?
By this phrase, I mean using only keyboard, not using cursor to navigate among files, and working using a terminal is the way of programming.
I learned about other programmers’ experience and expectations form a text editor. I learned about the Vim text editor which is cross platform compatible, highly functional, and fully keyboard based. I learned some of the greatest strengths about Vim text editor from other blogs. I found another salvation in the form of ‘Vim’. From that point, I’ve never looked back to another text editor. So, in conclusion, I will use choose two text editors. They are:

  1. Vim
  2. Sublime Text 2

As a text editor is the first thing a programmer has to work with, I described my journey in more details. With that in mind, the other tools I use for debugging purpose, learning programming, or writing posts are mentioned below.

IDE:

  1. Microsoft Visual Studio: This IDE supports various programming languages such as C, C++, C#. It is also used in many colleges as primary software to develop computer applications.
  2. PyCharm: One of my strength is Python. I’ve found no better development environment for Python programming as good as PyCharm.

Online Tutorial:

I have learned programming by my own. In this journey, online tutorials play a great role in serving me the best resource out there to learn programming. Some of the tutorials I particularly follow are:
1. Pluralsight: This is an online programming tutorial that offers courses for multiple IT jobs from industry leader programmers. Their tutorials go deep into the topic and they upload new videos every week. In addition to this, they also offer 1 to 1 mentoring for any specific need.
2. Treehouse: I like their tutorial because of the top-notch video quality and easy learning curve. However, their teaching style is like elementary schools. The teachers try to act funny, and sometimes it is annoying. Yet, their tutorials are really good for newbie developers.

Online Storage:

  1. OneDrive: Mostly I work on MS Word, Excel, and OneNote. I find OneDrive useful to synchronize my office files along with my photos and files. It allows me to access my work from any device, and boost my productivity. I also upload important word and PowerPoint documents to docs.com in order to keep them accessible online.

Blogging related:

  1. Office Suite/Word Processor: I use Microsoft Office 365 for my personal and professional work. I use Microsoft Word for writing blog posts, outlook for sending and receiving emails, excel for business planning and OneNote for taking notes. Proper sync to my laptop, phone and tablet makes it proper a medium to unleash my creativity.
  2. Devices: I really like Apple products. From iPhone to MacBook Pro, every Apple device is part of my productivity. I use MacBook Pro as my primary working device. IPhone and iPad are my other two mobile devices. Generally, I write on my Mac, and proof read them on my iPhone and iPad.
  3. Web Provider: I use InmothionHosting as my web provider. They have fantastic customer support team and pretty fast server for running website.

I use the above mentioned tools to automate my works. From my experience, I can say, tools can help you to raise your productivity, but it’s your own creativity to give a shape to whatever you are doing. That creativity must come from your inner self. Through enhancement of technology, we have made some kind of a system to automate tasks.

Question for you…

What is your productivity suite? Why you think they help you in your work and experiment? I want to know how you use them to automate your work. Let me know in the comment section below.