30 Important Points From 30 Months of My Career as a Programmer

Some say that experience is the best teacher.

But what is experience?

Is the time and events that we have passed can be called experience?


Experience is a lesson taken from events in life that we use to become a better person.

So even though I’ve experienced a lot of events, but not getting better, it means we have no experience. For example, if you are a poker player and you have attended many poker tournaments, it doesn’t always mean that you are a skillful player. You have to get more practice, especially if you want to be a more professional one. You can start from a scratch, use your strategy and beat the opponent. Other than wasting your time on such useless activity (where it actually takes more time), poker will give you a much more experience, like various strategy,  decision making, and so on.

Talking about experience, we’ve come close to a conclusion where you can’t simply say you are a skillful programming if you haven’t try to work in a office. See, i have worked for more than 2 years in 2 different work office.

And these are 30 important points from my 30-month career as a programmer:

  1. When you want to start your career as a programmer but confused about the way, then the answer is only one: just start.
  2. Programming is not a matter of programming languages, but about solving life solutions with a programming language. So don’t be bothered about which language you should choose. Pick one, learn it.
  3. The basic foundation of every programming language is the same — variables, data types, arrays, objects, operators, conditionals, looping, and functions.
  4. When we stop learning, it means quitting the world of programming.
  5. In the programmer’s world, that change always happens on every line. One thing that hasn’t changed is the change itself.
  6. Want to be a programmer? The main motivation, not money. You will be disappointed by the start. The money will come alone, according to your ability. We do programming because we love it.
  7. The text editor is the main weapon of the programmer. So, choose the right because the text editor is a friend until the end of the programmer’s life.
  8. Use vim for the best investment.
  9. Are You a Programmer? You must control terminal. Like learning tmux, learning vim. Now 80% of my time is coding. I am in the terminal. The rest, read the documentation, test the app or the web, usually using a browser.
  10. Use Unix os, like Linux or osx. If you use windows, like there are unclear errors, whether it’s a myth or reality, but I feel it myself. Instead of the error that only happens in Windows, switch immediately to Linux or OSX.
  11. So the programmer must be good at giving names; the programmer’s life is full of names. Name variables, classes, properties, functions, and so on.
  12. As much as you read the tutorial on various programming websites, it looks like we are learning, but not really if you have never practiced it.
  13. Fundamental Programming is First and Foremost.
  14. In the world of programmers, there are many tools that will help programmers work. The programmer is surrounded by the same tools. Tools can indeed help but can backfire for beginners. He thought the make tools were easy; why should it be difficult to learn from the start. Case in point is git. It’s good to use git GUI like GitHub Desktop, Git Kraken, but it’s the turn to use the command line, you can’t.
  15. If you are learning to program, don’t use the build-in function programming language yet. It’s better to make the function yourself. Later, when it is produced / when working, then it can be used to speed up work.
  16. It is important to understand and be able to practice sorting and searching algorithms. Not only used when coding, but during job interviews, you will be asked about this. Has years of programming experience, can’t answer this, it won’t be considered.
  17. Many completed the challenge on sites such as codewars or hackerrank, worth it.
  18. Want to be known as a pro programmer? Start making online content. Such as copywriting, make videos, podcasts, and so on.
  19. Join the community, don’t just make it a place to ask questions, contribute, give solutions, provide knowledge.
  20. To contribute. The best way to manage stress.
  21. There are fellow programmers on the team who are better at us? Don’t feel inferior. Approach, take knowledge.
  22. Feel unworthy of contributing? Try it first. It’s just a delusion trying to frighten us.
  23. When coding, always remember that we are coding not just for the computer to understand, our colleagues must understand the code we write, the user must understand what we make.
  24. Are you a night programmer? Who can only work at night? Not again. Not good for health.
  25. When coding stuck, I can’t find a solution. Rest first, stay away from the laptop first if you can, sleep first. Sometimes, instead, we find a solution hehe.
  26. Before typing the code, first, make the solution. Then find out how to write the code, Confused on how to write it? Search Google, read the documentation. The documentation is the programmer’s book — the programmer’s reference place.
  27. When coding, stay away from cellphones, turn off the sound, never open social media. The programmer needs hyper-focus.
  28. O, product manager! You have to understand when adding a new feature, which means it will add a new bug. There is no perfect program. So think carefully.
  29. Programming is not the same as building a house.
  30. Don’t ever plan everything from the start. Try to plan a bigger structure. Don’t ever plan for details because it will never be the same, aka a waste of time.

What is Desktop Programming?

For those of you, IT students majoring in Software Engineering will definitely learn about this one material, namely desktop-based visual programming. Desktop-based Visual Programming is a programming that is done by manipulating visual elements performed on a computer whose operation does not depend on other PCs on the network or the web. Examples of visual programming software are:

  • Visual Basic: Visual Basic is a desktop-based visual programming
  • Visual Net: Visual Net is a web-based visual programming.

Explain the Idea of ​​Programming Language Applications
IDE or Integrated Development Environment can be said to be part of the application that provides new facilities for programmers in conducting Software Engineering.

 IDE consists of:

  • Debugger
  • Interpreter Tool
  • Source Code Editor
  • Compiler

1. Regarding Visual Basic
Visual Basic or VB is a high-level programming language and is a developer of the Basic version. Basic stands for Beginners Allpurpose Symbolic Instruction Code. Basic is a programming language supporting the concept of object-oriented or OOP (Object Oriented Programming).


2. IDE In Visual Basic
The IDE contained in VB is a very practical and complete IDE. One of the features in IDE VB is a practical display with GUI (Graphical User Interface) design

IDE parts have their respective functions, namely:

  • The Project Explorer window contains a list of all modules that are in the application that was built. The modules have been arranged by type or can be alphabetically by clicking the rightmost icon in the project window.
  • The Toolbox window contains objects that can be placed on the form.
  • The Code window is used for writing program code that will regulate the behavior of objects in the application.
  • Form Designer Window / Form Window is a place to design the interface of the application made.
  • The Properties window contains a description of the active object.
  • The Color Pallete window is used to determine the color of the object.
  • The Form Layout window shows how to place a form that will be displayed when running.
  • Windows Watch is used to monitor the value of a variable both local and global.
  • An immediate window which is usually used in conjunction with the Watch window that can function to see the program display during the debugging process.
  • The Object Browser window is used to browse external libraries. Through this window, we can learn objects and their attributes, events, and methods.
  • The Local window will be active only when the program is run. This window contains the values ​​of a number of local variables in a procedure or module.

Desktop programming is divided into three, namely. Net, Java, and Delphi. Programming language. Net is Visual Basic (VB), C ++, and C sharp. While web programming is also divided into three, namely PHP, ASP, and HTML. And for the mobile programming used is J2ME.

Each programming certainly has advantages and disadvantages of each. The advantage of desktop programming is that when you run it, you don’t need to be online, while the drawback is that you have to install the program or take up hard disk space. For web programming, the advantage is that we do not need to install a program (just browse on the internet) to make it, but the drawback is that we are required to be online. As for mobile programming, the advantages are practical (can be run anywhere) while the disadvantages are having a small appearance and incomplete features.

1. NET

NET is a programming language that has a large and complex scope. The net was developed by Microsoft as a system that functions as a software application developer. NET Framework is designed by Microsoft with related development languages-especially C # and Visual Basic-to overcome various problems experienced by Windows software developers and users. The advantage of the Net itself is that it can provide the possibility for us to create windows based applications that are launched through Internet Explorer so that we can utilize the rich window component for web applications.

A net programming language that is divided into:

  • C ++
  • Visual Basic (VB)
  • C sharp (C #):

Microsoft Visual Basic NET is a tool for developing and building applications that move on top of the system. Net Framework, using basic language. Microsoft Visual Basic (VB) is a programming language that is equipped with an IDE (Integrated Development Environment) for Microsoft SO-based programs.

C ++ was developed at Bell Labs (Bjarne Stroustrup) in the early 1970s. C ++ is a programming language that has OOP properties.
While C sharp, a modern object-oriented programming language, can be useful in making programs over Microsoft’s architecture, the Net Framework.

 2. JAVA

JAVA logo

Java ’is a programming language that can be run on various computers, including smartphones. Java was developed by Sun Microsystems, published in 1995. The features contained in Java are the Java virtual machine (JVM), Garbage Collection, Code Security. The advantages of this Java are multiplatform, complete class library, C ++ style, automatic garbage collection. But the disadvantage of Java is that it’s written down, fix it anywhere, it’s easy to decompile, so much memory usage.


DELPHI is a software that is useful for creating programs/applications based on Windows computers. The object-based programming language, meaning that all the components that exist are objects.

The characteristics of an object are consist of a name, property, and method/procedure. The components are not only in the form of text, but also appear as pictures. The advantage of DELPHI is that the large user community on the USENET and the web, can be compiled into a single executable, simplifying distribution and minimizing issues related to versioning, and the amount of support from third parties for VCL (usually available with the source code) or other supporting tools (documentation, debugging tools), compiler optimization which is quite fast, supports multiple platforms from the same source code.

However, the drawback of DELPHI is that it is a partial single vendor lock-in (Borland can set language standards, compatibility must follow it), has limited ability to portability between OS platforms (before kylix), access to platforms and third-party libraries requires files header files that are translated into Pascal language, documentation on the platform and accompanying techniques that are very difficult to find in Pascal languages ​​(for example COM and Win32 access).