Who are programmers? In one word, they are the guys who use their expertise about computer to make the business ideas come true. They use their brain to make this world better and better, so they get headache every day. For what? Let’s figure out what their daily work first.
Generally speaking, there should be a task management tool to record and dispatch the specific work to the programmers. It could be JIRA, a spreadsheet, or some smart guy’s brain. Whatever it is, there must be some stuff like this. The tools wil save some kind of tasks as follows:
- Work for a function.
- Create a new function.
- Improve an existed function.
- Fix a bug.
To complete the missions above, skills about programming language are not enough.
- Understand the business and build a model for it.
- What concepts are included?
- How the requests flow from one step to another?
- What’s the feature and the limitation for each section?
- Design your solution according to the business model and the resources you can use.
- What is the data structure?
- Any third party service is better to choose?
- Any framework or package or library can be used?
- Where should the code be put in? Front end or back end? API or SDK? Business model or micro service?
- DO NOT forget security, performance, robustness, extendability, readability and testability.
Programmers are driven insane by the question marks.
For programmers, they do the same thing again and again.
- Read code. Others’ code or the code he / she wrote several days ago.
- Check documents. No one can remember all the details in the manual.
- Write the code. Actually, not many characters.
- Test the code. Make sure it work as expected.
- Mark the task as “To be tested” and then next one.
We repeat the cycle again and again. We look like coding machines, but actually we are not. We are magicians who can make business ideas come true. And the best thing is the sense of achievement. It is so awesome, like the happiness created by drugs, I guess.