I am programing
What is a good programmer?
10. The secret to becoming a good programmer
Translated from blog entries by Ashish Arya: "A good programmer is someone who always look both ways before crossing a one way street."
Doug Linder is a software developer working in the IT industry, then things impetus for us to work every day is the joy and passion for programming work. But in order for that job becomes a pleasure and eternal passion is one thing you must learn is to stick to the basic things to help you become a skilled programmer.
Not that I'm burning to a mantra that you can interpret it to become a good programmer, my aim is to create a list of helpful tips, things that I've learned and apply used in this industry to be able to achieve many great results. Actually there is no precise definition what a good programmer, but here we want to talk to the programmer types that have developed excellent IT solutions and contribute to the industry This development now.
The secrets that can help me become a good programmer?
1. Working from the most basic things:
This is true for any industry, as well as any job, to understand everything in the concept is the key to success. Without a foundation of solid concept, he (or she) will never be able to become a good programmer is all. iOS programming Understanding these core concepts will help you in designing and implementing solutions in the best way possible. If you feel like you are lacking of knowledge background in computer science and the concept of the programming language you're using, it's never too late to go back and learn from the things The most fundamental.
2. Always put the question (Why? How?) With all the code that you write down:
There is one thing that I see is that since it would create a clear boundary between good programmers and the rest, that is, the desire to know the reason why and the code that will run like? A small number of programmers will never have to move to the next task if it is not understood that you write down the code will execute like. I understand that in the time limit of the end of the project is not always we also have the means to do this, so much as we have to write the code that just know that it will smooth trough meet the work requirements. As a programmer, you always try to study the deepest possible level. This gradually becomes a habit and then you will perform it on a regular basis without knowing.
3. You learn more by helping others
Most of us also tend to just jump on the forums and the FAQ page on the Internet when we need help. Add a clear distinction between good programmers and the rest that they visit these sites regularly to help others. This helps them learn more after solving someone's problem. Just as in a workgroup, you please help others solve their problems. Believe me, to understand other people's problems in their context, understand and provide solutions to problems that will help you learn a lot.
4. Write a simple code lines, understandable and logical
Like most aspects of life, formula KISS (Keep it simple and short - Keep everything short and simple) is also very effective in programming work. Please write the code has logic and avoid the complexity. Sometimes people write complex code sections just to demonstrate their ability to be able to write the same code. My experience indicates that it is the simple code and logic always works very well, the results often make very few errors and are more scalable. I remember a great quote as follows:
Well, the code itself was a perfect document already. So when you prepare to add a caption, then ask myself that, "How can I improve the code that eliminates the need to add more content to this caption, right?" ~ Steve McConnell
5. Spend more time to analyze the problem, you will need less time to fix
You spend more time to understand, analyze thoroughly the problem and design the solution for it. You'll find the rest just include things relatively easy. The design is not always used the language modeling tools or anything subliminal, sometimes you just need to look up the blue sky and thinking about solutions to the problem is in the mind. Those who have a habit of writing code fiery plunge into as soon as they receive the request, often as a result create something different from the actual requirements.
"If you can not visualize the entire structure of a program while taking a shower, you are still not ready to code it." ~ Richard PATTIS
6 Be the first to analyze and consider the lines of his own code
Although this is difficult, but try to "break" the code of you before other people do it and over time you will learn how to write the code that absolutely no errors. Be regularly review their code rigorously and impartially. Also never hesitated to invite others to view your code help. Working with skilled programmer and get their comments will help ensure you become a skilled programmer.
7. Do not panic at the sight of the rapidly changing world of technology
Through many ups and downs in the software industry, I met numerous people or be disappointed in their work or even leave the profession to find another job, and they often say that want to learn and Work in the latest technology. I do not see any problems in that their aspirations except the phrase 'the latest technology'.
What we hear every day are often the new tools, the API (application programming interface), the framework and other means to help generate continuous work programming becomes easier and Faster. This nonetheless will continue in the world of technology. But you need to understand is the technology platform and the core is changed at a slower rate than the frameworks, APIs and tools around it a lot.
This is like a vast ocean beyond the other, the surface is very intense wave, but in deep water, things are relatively quiet, smooth and almost all living organisms and develop here. s Android stereochemistry So ask yourself feel that you are in deep water and close to the core technology. For example, in Enterprise Java world, there are many web frameworks exist and almost every week there are more new frameworks.
But the core concepts are based on communication, then follow the client-server model, the MVC pattern, filters / servlets / JSP, resource bundling, XML parsing etc ... and they are rarely changed. So you spend a lot of time to learn the core concepts rather than sit there and worry about the framework and tools instead of switching the always around it. Along with a solid foundation of core knowledge, you will always easily learn the framework, tools and new APIs.
8. temporary solution will not have long-term value
Many times the programmer to execute a job with the temporary solution (probably because due to shortage of time, do not understand the problem or do not have experience with such technology). But as time passed, the work being done by these temporary solutions always bring consequences from the rotting code which makes it impossible to expand or maintenance and cost a lot of time to overcome. So please just execute a job once aware of the input and output of the solution. I know that in some circumstances, we can not avoid being forced to use a temporary solution, but like in this life alone, you should always tell the truth, but in some circumstances then the lie also acceptable.
9. Please read lots of documents
One of the essential habits of a good programmer is a lot of material they read. That may be the software specification, JSR, the API documentation, tutorials etc ... The reading practice documents to help you create a solid foundation and from there you will program in a better way possible.
10. You can learn from other people's code line
I often contact and work with so many talented programmers, these people always have projects in their IDE to be able to read / Reference in daily work. Not only aims to meet the yearning to know the basic things that they are looking for other ways to write the program well. The reading and reference projects reliable open source or source of the senior people in the industry can also help you become a better programmer.
And finally: Never compare yourself to others
If you compare yourself with others, it will only yield results that create negative emotions and unhealthy competition only. Who among us has strengths and weaknesses of their own. What is more important is that we understand ourselves and focus on those areas where we have the most talent. I've caught a lot of time programmers are considered "players" also made some dumb mistakes. So, let's analyze ourselves, outlined a list of the skills you need to develop and focus on them. Programming is work really bring a lot of fun, you enjoy it!
I conclude the article with a quote from the famous programmer Martin Fowler said: "Any idiot can do write code to a computer can understand. But a good programmer, then write code so that others can understand. "~ Martin Fowler
Wish you soon become a skilled programmer and remember to help others to progress together offline!