What do you need to become a good programmer?

What do you need to become a good programmer?

Man Showing Code
Image courtesy: www.pexels.com

Technology is everywhere. It is in the hands of the children and the old, the poor and the rich.

In a short span of time, technology has become the most fundamental aspect of innovation in almost all industries across the globe. This sudden spike resulted in a huge demand for programmers and developers to build great products and services that can make money.

In today’s world, being a decent programmer is no rocket science. Anyone with little dedication and access to the right resources can pick up programming quickly.

Indian companies are hiring people from non-computer science disciplines from engineering colleges and training them on how to code. These pieces of training and workshops that do not last for more than 2-3 weeks ensure the engineers learn the basics of programming and start fresh with their jobs.

Although there are many things that a person aspiring coding jobs should know, but we can still go ahead without it.

Version Control

This is something which most people are unaware of. Also, some people deny its importance and use. Version control has become an essential part of the software industry without which successful startups do not become successful.

The whole idea of having a version control system is to maintain your code history in case of problems, collaborate easily with fellow mates, test and develop different features without messing around with your actual software.

Git

Git is a Version Control System(VCS) to maintain versions of your code. It is a simple, yet the most robust VCS.
It allows one to switch versions of code easily and thus becomes very handy in situations when there is some change or a part of the code gets messed up.

This is the official website to start learning git.

Github

A very important resource for almost all developers on the planet.

Programming companies generally expect one to hold some experience with any kind of Version Control System. GitHub is a web-based hosting service for version control using git which is mostly used for computer code.

It also allows one to collaborate with other programmers and perform like a shared hosting where one can contribute their work and others can make use of it.


Text Editors

One of the most important tools to write beautifully formatted code is to have a good Text Editor.

Sharing and working on a common codebase becomes easier as there are unified formatting and coding style. This reduces clutter and increases team efficiency.

Some of the good text editors in the market do a lot of great stuff.

  • They highlight potential errors
  • They suggest parts of the code
  • They make refactoring easier than before
  • They have lots of plugins for different kinds of work
  • They take care of highlighting and colour coding parts of the code to make it readable

There is no such thing as the best text editor in the market. Each has its own pros and cons and is used for a specific purpose.

Sublime Text

This text editor has been out there for a while and is used by a majority of the crowd.

Supported on Mac, Windows and Linux.

Visual Studio Code

Developed by Microsoft, this is relatively new but still made a mark and stood out to be one of the best text editors in the market.

Supported on Mac, Windows and Linux

Atom

Developed by GitHub, this is a strong and efficient text editor with amazing performance.

Supported on Mac, Windows and Linux

IntelliJ IDEA

Built by JetBrains, this is one of the best in the lot. They have a bunch of Integrated Development Environments (IDEs) that support almost every technology out there.

The simple and consistent interface makes it even easier to switch from one IDE to another.

The Ultimate version is paid, but free to try. The community version is, however, free and open-sourced.

Supported on Mac, Windows and Linux


Online Learning (MOOCs)

W3Schools

A quick reference to know and learn about technologies and programming languages. They have a variety of elements and references to teach the basics of HTML, CSS, Javascript, PHP, Python, SQL etc.

The beauty of this website is its simplicity and minimalistic approach to help learn basics in a much more efficient way.

Plus it is completely free.

Code Academy

This is mostly an interactive web interface that teaches you programming on the fly.

They have courses ranging from Web development to Machine Learning that are precise and well structured.

egghead.io

This provides bite-sized courses that pack more information in a short time rather than those long 8-10 hour courses.

They provide courses on tech stack like React, GraphQL, Angular, Node.js

Freecodecamp

This is a free interactive learning web platform and an online community forum by a Non-Profit organisation.

They mostly provide courses on Web Development and Version Control.

Coursera

Founded by Stanford professors, this is a website that offers courses from many domains including programming. Specialisation courses take you from 6 to 60 in a few weeks.

Udacity

If you are an enthusiast in learning future technologies, this is the right place for you. Udacity offers a wide variety of courses with Video lectures and exercise problems.

They offer courses in:

  • Artificial Intelligence
  • Data Mining
  • Deep Learning
  • Data Science
  • Computer Vision
  • Machine Learning
Udemy

Similar to Coursera and Udacity, this online learning platform and covers domains like Software Testing, Mobile App development.


Now to refine this knowledge, one needs to explore, practise and challenge other fellow mates online.

We have many online coding platforms / competitive programming websites.

HackerRank

This is widely used by many companies as a part of the coding round for their hiring process.

They have a wide variety of problems across all topics in computer programming which helps one to expand their horizon. Problems are ranked based on their difficulty and participants earns credits for the problems they solve correctly.

HackerEarth

Similar to HackerRank, this is massively used for hiring with their online competitive coding platform. They run an innumerable number of hackathons that people participate from across the globe.

CodeChef

This is similar to HackerRank and HackerEarth.

They have daily challenges, regular competitions and basic problems that you can solve in programming languages of your preferred choice.

Each problem has test cases that verify your code and rank you based on the efficiency of the proposed solution.

It is wonderful to solve challenges and also observe different solutions to the same problem from different minds around the earth.


Online Help:

We always need help from peers who have faced similar problems and have found solutions.

Stack Overflow

This is the best friend of any developer. We find an ocean of questions and answers to problems in computer programming. Usually, when a developer gets stuck at anything, he/she visits Stack overflow at least once to find a possible solution.


Conclusion

We live in a world where everything is dominated by technology. Having a small flavour of the changing world is not only interesting but also a necessity. Using the right resources and having a small passion can help you achieve whatever you inspire.


Please follow and like:

Leave a Reply