The Modern Developer’s Toolbox

Let’s admit it. What you learn today doesn’t ensure that it’s your swiss knife. Technology is changing freakishly. Gone are those day when if you have decent amount of Java was developer’s insurance. Who knew that a less mature language like Javascript would take over today’s entire internet. That it would serve both the ends of internet — the beautiful front end and the mysterious back end. But amidst all this there are tools that have risen from ground up and taking a soft corner in every developer’s life. Today, I’m going to discuss these tools. These are listed in no specific order.

Javascript

Javascript is sexy. Javascript is the new Java. I must say that. Though both language were launched nearly at the same time, it took a long time for the developers to unleash the true power of Javascript. Today, Javascript is everywhere just like Java in the 90’s. And that’s why you should learn it. It’s a high time. It’s started out as a browser’s programming language but toady it’s has crossed boundaries and managed to take place in the back end also. AngularJS, the most popular front end MVC framework is built upon it. Node.js, the most hyped back end framework which everybody wants to learn these days is built upon it. Even some of the desktop apps like Github’s Atom editor uses it. I think there’s nothing more to add to it. There are plethora of online courses to learn from. Everybody wants to learn it as well as teach it.

Android

Don’t hate me iOS fanboys. It’s just I’m an Android lover. Everyone wants everything to be mobile toady. Every company, every business, every man, every woman. Every company is paying huge amount of money to their developers to develop high performance apps. They know their customers. That’s why you should know why. It’s a phase of mobile application revolution just like the dot com revolution back in 90’s. Talking about Android, ,it provides a plethora of tools to play with. There is a learning curve because it demand s fairly decent knowledge of Java. People who say that you should know just the basic concepts, they lie. Right from the start, it uses the heavy concepts like Interfaces, Collections, Exception handling. I don’t want to scare you more. Honestly, if you are good at Java and knows a little bit of XML, you are good to go. Just like Javascript, the internet is full of great tutorials. Mentioning some of them will not be fair.

Data Structures and Algorithms

We can’t get away with data structures and algorithms. If you ain’t know them, you ain’t no programmer. It’s take no time to see a million search results in google but takes google to crawl the entire web to fetch the best optimized result for you so that you don’t annoy yourself. It’s all data structures and algorithms working behind it. The algorithm is pagerank and the data structures, honestly, I don’t have any idea. Just take the example of your mobile phone contacts. Talking about android, it the ListView class that is responsible for it and some or other sorting techniques with which you are able to sort your contact list. There is no need to tell the significance of data structures. I will be posting resources to learn these fundamentals in the upcoming posts.

Git and Github

Maybe you are not well known with these terms but don’t worry these two are much the same. Git is a version control system created by Linus Torvalds, creator of Linux. What it means in a simpler term is that when a software is built, it takes many iteration of code writing. Every iteration is a better version of the previous version. Git comes handy here. It keeps track of different versions of software to make debugging, refactoring etc easy for the developers. That’s the gist of it. Github is the online version of git where the source code of a software is hosted to provide developers from all over the world to have a look on it and make it better if he/she feel like doing it. It’s an open source online repository. Anyone can host their source code on Github and invite other people to work on it. But of these technologies helps developers to a great deal and that’s why everyone should know the basics of it.

Databases

I know it’s the nightmare of every developers life but you can’t live without it. That’s the power of databases. It’s the least fancy thing among the developers but it’s one of the most critical part of any software. And that’s the reason why Database Administrators (DBA) are paid exceptionally well compared to software developers. They are hard to find because no one want’s to learn it. Every developer should have a basic knowledge of any one database. It is expected from him/her at least. You don’t need to be a master of it but a little bit of knowledge does no harm.

At least A Framework

Frameworks are new programming languages. Today, the fight is not on the syntax, but on the type of argument passed to some method of some class of an API. Yes, it has become so. There was a time when software was made by the sole knowledge of the programmer but today programmers should know how to string together different APIs. Most of the difficult parts are already implemented and put into the APIs. You just have to use the available classes, call their methods and bammm, problem is solved. Is it? Unfortunately no. It’s not that simple. Memorizing so many classes and their methods is not so simple as it seems. It’s hard to master a framework. It isn’t expected from a developer. The sole purpose of a framework is making the life of the programmers simple. So, if you want to on the wanted list of developers, go learn a framework. But…don’t learn just for the sake of learning, build a small project using that. That’s how you do it. Some of the popular frameworks at present are AngularJS, ReactJs, Node.js, Spring, Django etc.

Blogging

I’m the follower of learn by teaching strategy. I thing it’s a good methodology. Blogging provides one of the best medium for that. When you share what you’ve learn, you are making the knowledge gained from it to stick permanently in your mind. Tell me one popular software developer without a blog. It’s a great experience. Everyone developer should do it. I’ve taken the free blogging course from John Sonmez, a great software developer and adviser and I’m feeling great about my decision. You can also do it. You should do it. You must do it.

So, that’s my list of top modern developer’s toolbox. Do share your list in the comments.


Originally published at theleancoder.net on October 16, 2015.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.