Скоро материал придет на указанную электронную почту. Также подписывайте на нас в Facebook
Top 5 Challenges in Programming And How to Solve Them
Problem #1:A programmer miscalculated the amount of work and requests to extend the deadline
Mistakes like these normally arise as a result of an incorrect initial assessment of the scale of the project when a person focuses on the best-case scenario without adequately considering potential risks and challenges, the scope of the tasks and the interrelation of the functions performed.
This may be a mistake of a project manager or a developer or a consequence of nonlinear programming. As a result, the programmer keeps receiving new and new tasks from the manager or the client as they work on the project.
It is important to consider the possibility of difficulties arising in the process and keep the worst-case scenario in mind. Rather than setting hard deadlines, it is best to rate the processes using points or other arbitrary units. And in the future, plan your results based on the number of points achieved during previous sprints.
Problem #2:A programmer chose the wrong technology, which had a negative impact on the project
Technologies change so rapidly that oftentimes developers don’t have time to get to know them. And this is where two extremes arise: either programmers start working on the project without having a sufficient knowledge of the technology (which is the fault of the product manager who chose to rely on such a specialist), or, conversely, they immerse themselves in its study too deeply, attending numerous online courses and reading books.
Choosing the right set of technology tools and frameworks for software development can ensure a consistent baseline performance of your product and software. It will allow you to avoid burnout and crunch. And it is worth keeping in mind that the optimal amount of knowledge is the one that meets a specific scope of work.
Problem #3:The code written by one programmer is incomprehensible to another and requires a lot of time to make sense of
I large part of programming is improving or completely rewriting the existing codebase. Some of the world’s most successful codebases have been developed by hundreds of people who have never met each other in person. Many of these projects were made with little to no documentation, missing comments in the codebase and no advice or help.
So the biggest problem here is the fear of someone else’s code, which reflects a lack of professionalism and experience.
Professionals need to accept such situations and challenges to be deserving of the title of a real programmer!
Problem #4:A new programmer working on a project criticises the old one and recommends rewriting everything from scratch
Project work is team work, and it is important that newcomers understand this. If criticism is nonconstructive and costly, then it will not contribute to your progress in any way.
In this situation, both parties are required to take steps. Newcomers need to become part of the team and help others be more productive. If a recruiter or a project manager notices such traits in an employee, it is best to decline the services of the ’critic’ from the start and replace them with another specialist.
Problem #5:A programmer requests time to rework their code and eliminate flaws that are not visible to the system’s users
The main goal of reworking and refactoring your code is to make it more efficient and easier to maintain. This helps reduce future maintenance costs and prevent new mistakes.
Rework the code slowly but steadily. With systematic work, you will see the code gradually become more readable and compact. People will notice the changes, but it will take time.
Advice based on our experience and recommendations:
• remember to refactor the code you come in contact with;
• remove obsolete code;
• request refactoring every time you are asked to see an edit to the code.
Mistakes come in a variety of forms, but they are all similar in that they can be prevented. This is a task for both programmers and project managers. Regulation of your team’s internal communications or introduction of a unified work strategy for technical specialists can help prevent unexpected losses.
Written by: Andrey Krekhov, Director for Special Programmes at ICL Services.
- 23 April
Software Patch Management is the process used by almost every modern company that cares about the security of its own IT infrastructure.
- 31 March
ICL Services participated in SAMday-2016 on software asset management
- 4 April
ICL Services expert spoke about whether it is worth studying old books on programming in the age of information openness and accessibility.