Thumb lukasz Top 5 Tools For Beginner Coders

By:, On:

Great, so you decided that you want to become a coder. Every craftsperson needs the tools to do his or her job well and writing software is a craft. It's time to have a look at what tools and widgets can help us get going.

1. Editor

Let's be honest. Software is written with text and no fancy tool is necessary to do that work. However, there are tools that can make your job a lot easier. One of those tools would be a decent text editor or an IDE (integrated development environment). Generally, you can divide programmers into 3 camps:

Those who:

  • Prefer the simplicity of the text editor
  • Want bells and whistles of an IDE
  • Spend years learning "vim" and look down at the first two groups

Given you have just started learning to code, you're not in the last group, so we're left with the IDE vs text editor question.

In my biased opinion you should:

Select a text editor if:

  • You want a free tool
  • You're an absolute beginner
  • You don't really know which language you'll end up using
  • Your computer is pretty old

Select IDE if:

  • You've been doing some code before
  • You know which language (except for HTML and CSS) you'll be using
  • You have a decent hardware
  • You want to code professionally at some point

Sure, I know that you can be a pro using a text editor, but quite honestly, good IDEs offer so many really useful features, that going with an editor is simply counterproductive.

A good IDE is simple to start with, will help you with syntax, look for errors as you type code, help you explore your framework and on top of that, gives you everything that a text editor gives you.

If you decided to go with a text editor I recommend Sublime Text

If you prefer a smooth ride with an IDE (will cost you money) I recommend one of the JetBrains products. Select the one that matches your language. I personally use RubyMine

2. Operating system

Yup, this one is serious.

Not all operating systems are created equal when it comes to building with open source tools. We have 3 major competing systems:

  • Linux
  • Mac OSX
  • Windows

Let's be honest here. If you're intending to use anything else than ".net" you'd be better of installing Linux on your machine. Yes, you can write Ruby on Rails apps in Windows but most tutorials and tools won't work on Windows. After hours of fruitless struggle you'll find yourself in tears.

You're left with the choice between two: Mac vs Linux. Either one will work just fine. Most tutorials will work on both. Most software will run on both. If you want to spend money on great hardware - buy Mac, otherwise install Linux.

3. Git GUI (Graphic User Interface)

As a proper developer, you'll be using Git. Git is a program that controls and keeps record of different versions of your code. You can interact with Git through a terminal application, which is very convenient, but you can also use a program to preview your "git tree"


Here you can find a selection of GUIs developed for Git. I use SourceTree if you're asking.

4. Production Planning Tool

Let's assume you're starting to work on actual project. Now you need to plan your execution. Without a robust execution plan, there's a good chance you'll be working on things that are not important and you'll get easily distracted. Also, how do you track the progress and the pace?

I strongly encourage you to use a tool such as I have to confess that without Pivotal Tracker I would find it very hard to actually get things done. And I love the points - it's very motivating, even if you work on your own.

Get familiar with SCRUM and agile movement.

5. Dash

Dash is a program that allows you to collect and browse documentation offline. When you code, the sooner you learn how to use documentation the better. It contains the information on how to use the language, framework, gem etc. Imagine that you're writing some ruby code and you want to check what can you do with arrays. You open the documentation and search for ruby array class methods. With dash this is super simple. Just search for "ruby array". It works everywhere so you don't need internet.

Go, start building software :-)

If you login you will be able to rate this post


  • On: bryan annas wrote:

    Nice write up!@ Good points on all fronts. I'd like to point out several advantages to VI (or VIM). One is how universally available it is in linux and unix based operating systems (including OSX). All you have in windows out of the box (OOTB) is notepad.exe. Fire up a terminal on any linux/unix based OS, type vi and you have a very robust tool. VIM (VI "improved") gives you syntax highlighting based on the extension of the file. i.e. if you're working on a .PHP file it will auto recognize the syntax. VI can handle thousands of lines of code or text efficiently, most text editors can't. If you're ever dealing with a very large file, chances are notepad.exe or a basic text editor will not be able to read the file, search for strings or apply regular expressions or substitutions with any efficiency. VI is widely accepted and touted by top end developers because of its ability to easily manipulate and re-arrange data, quickly. When VI can't get the job done with regular unix expressions..... you can always pipe output to programs like SED or AWK (both fantastic in their own right for ability to manipulate data) and do virtually anything with the source file. Often times developers need ways to manipulate VERY large data sets, google sheets, microsoft excel, open office and the like can't and will never be able to get the job done. Disadvantages are a steepish learning curve, but when you start to understand what it can do, you will forever be rewarded.


You can login to comment