The reason that software development is so hard is that we are solving many problems at once:
- Solve the problem conceptually.
- Design the user and data interfaces to allow the problem to be solved.
- Use the API and language to implement the solution.
- Create this in a context that executes the language and the APIs you have used so that it scales to the size of your user base.
There are a lot of assumptions too:
- You understand how to solve complex problems.
- You understand the problem domain which may be many domains.
- You understand your programming language.
- You understand many different libraries and standards to use as part of the solution.
- You understand principals of good user interface design.
- You understand basic principals of data design and perhaps database design.
- You can think through your basic knowledge of the items above in a way that can create a viable solution
The productive programmer has all these skills covered or has learned how to quickly learn any one of these quickly to fill a gap. Can you begin to see why programmers are a specialty?
No comments:
Post a Comment