Overall a Programmers life is very satisfactory, all those involved know this but there are moments in which to be a programmer sometimes become difficult and it’s time to do things you do not want to do, things that do not cause great pleasure to do but it’s part of being a programmer.. This article speaks , of the nine hardest things that a programmer needs to do and even against their will so lets see the list ..
DESIGNING A SOLUTION
Task: design a solution that includes design data, code structure, flow algorithms and functional application that perfectly encapsulate business logic and satisfy use cases.
Challenge: Make sure your solution fits properly to customer needs, that makes sense to them and that fits the times of planned development.
It is difficult to anticipate and react before things start working with them.
If your design is very heavy this eventually fall under its own weight.
Thinking about how to get from point A to point B is the hardest part.
Task: Write test unit for our projects, they help in the development process and help prevent future errors.
Challenge : This can be a tedious and boring process which can mean more work to build the application.
Do tests (well, it’s not difficult, just do not want to do it)
Task: Write documentation that makes your code or your application works, this may include other documents or comments within your code.
Challenge : This can consume a lot of your time and make you be wasting time. Programmers often prefer to write code to document it.
Writing useless documents that no one will read or use just because its part of the ‘process’
IMPLEMENT FEATURES WITH WHICH YOU DISAGREE
Task: having to implement a feature or functionality that, for whatever reason, you feel you should not be implemented but that the client or the person responsible for reviewing your project wants so she insists.
Challenge: Put aside your personal opinions and feelings to spend time developing and supporting functionality in between that.
.. can choose from bananas or your early retirement
WORKING WITH OTHERS CODE
Task: Having to maintain or improve to debug an application or piece of code that was written by another developer.
Challenge: trying to understand how a piece of code works and try to guess the original intentions of the developer, this is even more difficult when the original developer was not close and the code is poorly written.
Trying to decipher thousands of lines of code without comment…Ugh
DEALING WITH OTHERS
Task: Gather customer requirements, reporting on project management, consulting other engineers agree on points, etc ..
Challenge: Having to explain things to people without technical expertise, have your job depending on the work of others, disagree with other developers, etc ..
It’s much easier to convince the processor to do what some people want.
ESTIMATE TIME TO COMPLETE TASKS
Task: Get estimates of time before starting a project.
Challenge: Guess how many times you will do something that possibly have not been done before, having to make vague estimates and adding time and unforeseen errors that may arise without knowing how many and how serious will.
I think it’s difficult to estimate how many surprises may erupt in a software problem before being tested in practice
EXPLAIN WHAT YOU DO
Task: To explain to the Non-Programmers implying your work (and it does not imply )
Challenge: Have your loved ones without knowing what you do for a living. They are constantly being asked to solve any problem of computing
Having to explain to almost everyone that its not like fixing your computer
Explain to people that do not have a shop to sell OS or any pirate pirates program your computer
Task: Inventing names of variables, procedures, functions, classes, objects, components, databases, etc.
Challenge: Even the development of a small program may require the appointment of a lot, choose names that describe the operation or what the object is.
There are only two hard things in Computer Science:. cache invalidation and naming variables
Do you agree with the list? is there something else you want to add?leave us a comment!