ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

I am programing

Updated on February 15, 2016

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!




Comments

    0 of 8192 characters used
    Post Comment

    • profile image

      mikeydcarroll67 

      3 years ago

      The biggest thing with programming is that you have to stay on top of learning new things and leave enough comments in your code to be able to maintain it later on.

    working

    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

    Show Details
    Necessary
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
    Features
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Marketing
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Statistics
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)