1 Year In: Essentials for a New Software Developer


In my last article I talked about 3 key things I have learned as a junior developer: those keys were being open minded, learning every day, and becoming a part of the company. However, I always wondered at an early stage what essentials should I know?

Well here are some tips I can give you…

The first is learning an Integrated development environment (IDE). An IDE is your main software platform for writing code. It acts as a text editor, debugger and compiler. It is the most essential tool in a developer’s life. Another great feature that is the ability download packages/plugins, which can help further into development.

For instance, I am currently using PhpStorm by JetBrains. PhpStorm offers a Symfony Plugin to help autocomplete/understand some of the functionality Symfony offers, making it an awesome pair when developing. PhpStorm is for individuals using php as their primary language and has a cost, $89 for individuals, or free for students. However, there are plenty of IDE’s out there; some free ones I recommend are Atom or Sublime Text. This is a big part in a developer’s life and you should spend a couple hours familiarizing yourself with your IDE.

Another essential tool to learn is Github; Github is a version control system that acts as a central repository that stores all modifications and revisions. An example can be as follows:

This image tracks some branches/commits on related tasks/assignments given in a certain project. In this specific example, most of these commits are CSS related issues. But you can see the power of Github. It allows an individual to see a graph of the modifications. This creates a central location where others/yourself can keep track of progress and work on the same project without affecting each others progress.

My last piece of advice is learning frameworks. Frameworks are a structure in which individuals can use to build something useful/powerful. When I first started I was very confused, I had learned PHP however did not know where or how I can leverage it. This is where I was lucky enough to be pushed by individuals who taught me the power of frameworks. By mastering a framework you have leverage and build powerful systems. Some of the useful frameworks are WordPress, Symfony, Drupal, and Magento. WordPress is fairly simple and I recommend everyone to start here; it makes over 20% of the internet and it is very simple to use.