Have you ever feel the pain of being a beginner? Remember the time when you started your first job as a developer and people treated you like a noobie. You know you are good but they don’t know. You have done some good project in your undergraduate studies or in your personal time. You know […]
The goal of this post is to discuss a simple software development process model. Hmmm let’s see. A simple software development process. There are many software development process models. And I will be discussing the difference between agile processes and waterfall Process…. Naaaah! Not that old crap. Yeah I know agile/iterative is good and waterfall […]
One day I started running with my friend. No prior planning. No management. We just arrived from office and my friend ask “do you want to go for exercise?” I said yes. Then my friend says come on let’s run. Without any second thought, I changed dress and started running with him. We were desperate […]
I was a fresh graduate. Looking for a job. Then one day when I was on a street and waiting to cross a road. My phone started ringing. I received the call. It was from a software company where I have applied 3 months ago. They were calling for a recruitment test. I replied positively and […]
I tried to develop a system. I was tired of doing small tasks. I was new. Like a toddler in the professional programming world.
As soon as I know the difference between a task and a project. A project is a collection of tasks resulting in a complete product. Something that you own.
I know that if I own a product in my company I will be able to gain benefits throughout my career. That will be my product. This will be a product attributed to me. And I will patent it
Do you have such dreams?
I started imagining that people are using my product and praising me. Such a dream that was.
I had experience of 1.5 years and I was thinking about, for example, building a new commercial airplane.
I was assigned the first task of my life. Writing a small library to process data stored in a file. Some of the code was already written by a senior programmer in another programming language. My task was to write the similar code using C#. I was new. I learned object oriented programming and object […]
If you have ever been to a zoo you will definitely want to see one animal and that is Lion. Why? It’s because a lion is the king of the jungle. It’s at the top of the food chain. I asked questions from my parents like: “can a lion kill an elephant or crocodile or […]
You can get “100 out of 100 marks in the subject of Mathematics”. This phrase was marketed to us so many times. That I internalize this term and because of that I always got 90 percent or more marks in maths. Maths is logical. Similar to programming. You follow certain steps and the right answer […]
A while ago, I was searching about comments. Specifically, strategies to comment better. I found the following example:
// Dear maintainer:
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
// total_hours_wasted_here = 42
LOL. Who writes comments like that? Here is another one:
// somedev1 - 6/7/02 Adding temporary tracking of Login screen
// somedev2 - 5/22/07 Temporary my a**
And so on. You will find funny comments when you try to search for how to write effective code comments. The reason I was […]
I will start with a cliché
A software code should depict following qualities:
You may find yourself in a difficult situation when you ask a question about whether any particular code depicts above quality features or not.
A technique that helps is by looking at the development timeline of any software. If the software code remains easier to maintain, extend and modular over its lifetime then it means that the code has above quality features.
I have written difficult to read, hard to extend and rotten software code. I only knew this after six months into the development when a change happens. Hence development timeline is important in understanding quality factors.