Mandatory Tools for Programmers

Technological developments can open up work stalls for someone. Especially in today’s digital era. Many startups need work to create and develop technology. One of them is the programmer profession.

Programmer is a profession that is in demand by young people today. In addition, this profession is considered to have future prospects. The words “cool” and “big salary” are often thrown at programmers. This is certainly very interesting, especially for those of you who want to taste the sweetness of being a reliable programmer.

The use of tools to increase productivity has become accepted and commonplace. coding can be a very busy task, especially if you are tackling a complex project. Sometimes even a small project can get you in trouble. Have you ever almost gave up in the middle of working on a project?

Do you already know the types of programmers? Even though programmers are synonymous with computer programs, in reality there are many types of professions, you know. If you want to become a programmer, focus on the programmer path that interests you. What order? So that you know the direction of the work, as well as the results obtained.

Common Types of Programmers

The following are the various programmer paths you can choose from:

1. Web Programmer

This type is common you hear. Web programmers are in great demand by companies or startups. Because, almost all companies have a web. Not just anyone can manage a web because it takes experts such as programmers to ensure the quality of the web.

The main task of a web programmer is to focus on developing internet sites and websites, such as creating online shop websites, social media, service services, etc. A web programmer can also operate a database on a website.

2. Application Programmer

Application programmers are programmers creating applications on computers or smartphones. For example applications installed on your desktop, such as antivirus, browser, tools, etc. It’s also on your smartphone, such as applications (Android / iOS), games, social media that you usually download on Playstore and Appstore.

The prospect for this type of programmer is quite promising. The reason is, almost everyone has a smartphone. This is the main reason why people are competing to become an Android programmer or so on.

3. Embedded System Programmer

The job of an embedded systems programmer is to write system source code to control home appliances / electronics. Embedded systems are used in a wide variety of objects that are near you such as cell phones, digital cameras, remote controls, washing machines, etc.

Things that Must Be Mastered by a Programmer

What are the things that must be mastered by a programmer? Well, here are some of the things or skills of a programmer, including the following:

·       Mastering Algorithms

In creating an application, the programmer must think of a suitable method for system processing. Why are algorithms so important? Because, with an algorithm you can solve a problem. You must know functions, loops, even data types such as arrays and so on. Therefore, algorithms are the main key of a programmer.

·       Have Code Reading Skills

You must be good at reading and understanding the open source projects that are on Sourceforge orGitHub. Sometimes programmers forget this one thing. Even though this is important, you know. Try to understand how it works and find patterns. That’s where there are ideas that you can apply to your project.

·       Mastering One or More Programming Languages.

Programmers must master a programming language. There are 2 options for programmers, namely mastering one or more languages. If you master oneprogramming languagebe the specialist. But nowadays it can be said that technology is increasingly developing, the better for you to master multi-languages. Of course you have to be a specialist among them. The analogy is like a general practitioner and a specialist, you know the difference, right?

Indeed, learning multiple languages ​​will allow you to work in multiple languages. And make you understand the differences between each programming language. But you have to have a specialist in 1 language first before trying another.

·       Mastering OOP (Object Oriented Programming)

Why do you have to learn OOP? By mastering OOP, will make program code more structured and easier to read. Imagine writing it with one large or procedural script. Wow, it will be troublesome.

If you want to master a web framework, then you can write your own library. And you need to master OOP and Design Pattern first.

Although OOP is important, in fact it doesn’t have to be implemented in all programming languages. Sometimes there are some functional programming languages ​​that do not require OOP concepts.

·       Mastering Computer Networks

You must master at least the basics of computer networking. Like what? Such as configuring the ip address, subnetting, and client server. Maybe for you a little bit lazy to learn TCP / IP and OSI. However, to make it even more handsome if you are able to master it. This is important before you enter the world of internet and cloud computing.

Indeed, not all applications that are built must be connected to the internet. But you have to play a double role as network engineering. Why? Because you must know the ins and outs of how to connect applications to the network, be it local or internet.

You should know about various internet protocols, namely HTTP, HTTPS, TELNET, FTP, SMTP, SOAP, Oauth, Websocket, etc.

·       Application Layout Design and Database

Do you need to be good at design too? Actually, this job can be done by a designer or front end. As a good programmer, you must master both. Namely between design and logic. It’s not just about coding. There are times when you get into the world of design because the application layout is able to determine whether the system may run.

You can use UML, DFD, flowchart, Lo-fi, and UI UX to present your ideas before they are processed into program code.

Besides that, you must masterdatabase. This is because the data in the application must be stored in the database. You have to learn the relationships of each database table. Like it or not, you have to understand ERD (Entity Relationship Diagram).

·       Master the English Language

Don’t forget, you also have to learn English. This is because almost all program languages ​​are designed to use English. Like loops using if, else, then, etc. These instructions must be mastered by the programmer. You don’t need to worry, nowadays there are a lot of coding lessons using English. Whether it’s free or paid. Loss if you don’t use it.

Why do you need to be able to speak English? Yes because uh because, English is an international language. Language is a soft skill that you will use at a later date. Language is like a bridge of communication with clients. Start learning to speak English, at least you understand the passive level of the language itself.

·       Mastering Operating Systems and Other Applications

The operating system really determines the user. Determine what? The operating system is like a programmer’s weapon because it is useful for determining the programming language you will use. For example Windows, the languages ​​with potential are C #, ASP.NET, SQL Server, and Azure.

As for iOS, you will need to start by installing Xcode and using the Swift language.

In essence, decide who you want to make the application for. Then use tools such as text editors that you think are comfortable to use.

·                Mastering Source Management

Git, Mercurial, and Svn are examples of tools that can make it easier for you to manage source code. Still like to save code changes using a flash? From now on, use source code management.

It will make it easier for you when working with a team. No need to bother, when compared to a flash. Flashdisks are prone to loss, viruses, formatted, and have to plug into a laptop here and there hehe. With source management, you can see code errors, changes that have been made, rollback, and if necessary, you can also add comments. While there is an internet connection the data remains safe and easily accessed by team members anytime and anywhere.

Mandatory Tools for Programmers

Visual Studio Code

Visual Studio Code is a lightweight and reliable text editor made by Microsoft for multiplatform operating systems, which means it is also available for Linux, Mac, and Windows versions.

– Github

Website based application with Version Control System which provides services to store repositories for free

– Slack

Slack is a platform used to communicate with each other between employees, and anyone who uses it for their daily needs

– Trello

Application to collaborate between teams to manage work projects. Trello is arguably an online to do list