How to Become a Good Programmer
Advertisement
There are lots of strings attached to becoming a good programmer, in this blog post I will discuss some salient points that have worked for programmers over the years and will surely help a newbie or neophyte programmer to become a good programmer.
Let me do some bragging about Programming, its the coolest profession that doesnot require you having a degree, but that is not to say that having a Computer Science degree is not good, I will even recommend having one, because there are some basic concepts a programmer needs in his or her programming career that will be taught in school, but that is nothing to worry about because these concepts can be learnt outside school.
That leads to the first most important point - Passion. It is passion that drives programmers to do what we do, it is the love of one's job that keeps a programmer going even in the face of problems, show me a successful programmer and I will show you the passion in him. To become a good programmer you need to love programming and develop strong passion for it, because you cannot excel or thrive in what you dont love.
A programmer must be ready to study books, read blog posts and articles. Good programmers are hard core readers of book, knowledges are hidden in books, you can add to your reservoir of knowledge when you read books. Following and reading the geeks blog articles and posts do help a lot, because you gain from their wealth of experiences and add to you own. I personally have read some books that have helped me in my programming career, I will mention but a few of them that I found interesting and must read for every programmer, they are Code Complete, Clean Code, Domain-Driven Design: Tackling Complexity in the Heart of Software, Patterns of Enterprise Application Architecture, Foundations of Programming Building Better Software.
Problem solving and analytical skills are must have for every programmer, because programmers are problem solvers, programmers solve problems every time, and how much you can analyse and solve a problem and write a maintainable software for it, will determine how far you will go in your programming career. Think of a problem and try to profer solution to it, by doing this, you can improve your problem solving ability.
There have always been much arguments on whether a programmer should be a mathematics guru or not, though Computer Science had its origin from mathematics, I strongly believe you dont have to know calculus or differential equations before you can be a good programmer, but knowledge of mathematics is a plus for you and can save you a great deal of time especially when dealing with problems that are mathematical in nature.
This principle is applicable to all spheres of life and not programming alone - Attention to Details. Paying attention to minute details is a factor that distinguishes a good programmer from an ordinary programmer. This is a culture that needs to be developed by every programmer that wants a better career in life.
A programmer must learn to write good codes, I define good codes as codes that are well written, tested and documented. In my subsequent blog post I will discuss in details about well written and documented codes, but you can read my introductory article on TDD to know what a tested code is. You can also learn how to write good codes by reading other peoples codes, there are many repositories online where you can find source codes of project - Github, codeplex.com, sourceforge.net.
Code all the time, the only way to be good at something is to do it all the time, which means to be a good programmer you should code, code and code all the time. When you code all the time naturally your passion for programming grows, which makes you crave to know more and thus you become very good at it.
There are a lot of Forums on the internet, that a programmer can join, to mix with fellow programmers, ask questions, get code snippets and even receive newsletters, to mention but a few my favourites are Codeproject, DZone, Stackoverflow, MSDN and even ACM.
Let me add this too, because it is important. Your creativity is at its best when you are happy, nobody can be creative in a sad state of mind. Try and maintain quality relationships with your loved ones and your associates, because they determine the large chunk of emotions that you experience each day.
I wish you a successful programming career !!!
Advertisement
Comments (47)
Very nice article. My passion for programming grows after reading it. Good work keep it up writing these kind of useful articles :)
@Ayaz thanks, Its good to know that the article helped you
can u tell me from where should i start programming?????
@Akash I will suggest you first read this book about programming, "The Art Of Computer Programming 3rd edition by - Donald Knuth", it teaches the basics about programming, please be patient and persevere enough to grab the concepts in the book. Then you can go ahead and choose any Programming language of your choice, I will suggest you do some background check on C#,Java,C++ and Python and choose anyone to start with, Please Note that Programming Language is just a tool for programming.
Very interesting article. Thanks. I found it very useful.
@Carp thanks, its good to hear that
I think that Good programmer is man who taking interesting life.
Hi Ayobami Adewole and hello to all my techie friends... I would support Ayobami Adewole words of becoming the good programmer... and i like to add some words to his.. any person to become good programmer... Initially he has to have 1.Self confidence in himself, none can purchase and help u out in this. 2.Must show interest in what topic is he involved. that makes to work the person continuous.
@Jagadish thanks for the addition
Good Job!!!
@Waqas thanks
Nice work bro...would love to read more of your work..
@Elijah thanks bro
Really very nice article to improve once's confidence and well guidence to those who want to become a good programmer. This article will help very well in my career of software engineering.:) Thanks Manisha
@Manisha its good to hear that
Haii Friend,,, it is usefull words,, i know some programing languages,, But i am not getting chances to work on it,,, Simply doing projects myself,, so do u have any solution for this?... any project contest or something like that???
Very good post! I will definitely pick those books you mentioned!
@Suhail, the only way to be good at those languages you know is to be consistent at them and practice them often, and partaining to project contest, if you are still a student you can participate in Microsoft Imagine Cup or better still Google summer of code or Google Code Jam
@Niesha Thanks
thx so much bro,i love this article of yours... it has inspired me and i hope and pray someday i will grow in programming like you..big ups
@Bernard its good to hear that.
what are some of the languages you will recommend i start with as i am a beginner? Thanks
@Bernard sorry my reply is coming late I have been busy lately, you can start with C# or Java, they both have great community support, and you can always find help if you need assistance.
Nice article. thanks a lot
i so want to be a good programmer! i have set my long term goal of my life to be a programmer best infact. i am currently pursuing engineering in india MYsore under vtu university,under computer science. am so confused about it,am not able to come up with step one,i.e. how do i proceed to attain my goal.so i seriously need help please guide how would u help me putting my first step
@karthik, you start from the basics and like he said, make sure you are ready to read a lot of books, like a lot of books, you could start from vb.Net language cos its easier to start with and gradually you move on. And one thing you should have in mind is neva to hurry, take your time, u don't wanna be a half-baked programmer, whateva language you are studying first, learn it to a proficient point and take up another.
And oh, wen u encounter problems, don't be discouraged, your passion would help you see through, and dere are always people ready to help in forums and blogs like this one, and If in need of any resource, you can always post here or contact directly on [email protected]
@Karthik I hope that helps you. @Ahmed thanks
Appreciative Adewole for the post.It has really encouraging me to start this project immediately as i have asking myselft were would i start. I will always be in touch with you for the support.
@James its good to hear that, keep the ball rolling!
Hi , very good blog . Please Mr ayobami , do you think i can build a powerful sofware usin visual basic and excel
Thank you Mr.Ayobami, what about translating this article in swahili language?
real i need to be good in programming guys show me ways
@Shariff I will love if you can help do that, since I cant speak Swahili
I really want to be a good programmer.. from now on I start building up my passion.. tnx
Pnaujw Appreciate you sharing, great article post.Much thanks again. Will read on...
All the truth about my programming live ;-)
ya i too found interesting....worthful
I agree with this article. I've had the passion to program since 8th grade, but didn't really dig into it until my 11th grade year of High-School. I'm currently a Senior in High-School taking AP Computer Science, and I absolutely love it. I can't wait to get a Computer Science major and going into the career field.
@Tabias thats really cool
Wonderful article. I thought there were no good computer programmer in the Nigeria, but thank God that you are making progress. I pray that God will give more grace to become the best. As for me, I am a mathematician, and I found computer engineering and computer science as my 2 major hobbies. I have practiced several programming languages. In the process of learning, I discovered that for one to be a very good programmer, he must have knowledge of: 1. at least a programming language (just master few keywords, the language syntax, and solve small problems first) 2. study computer algorithm very well, because that's all to programming 3. Master object oriented analysis and design 4. If possible add software engineering to it; it will do you a lots good. There are other tips I have in my head, but these few can add to what you have to give a good start. Success as you go on learning how to write code. Thanks!
@Peter thanks and amen to the prayer
This article is a mind opener for my it has given me a road-map on how to go about in the field of programming, thanks to you Ayobami. Am currently studying BCA, yet i have very little scientific backgound...though i now strongly believe i will make, especially when i came across your article today. Thank you very much once again!
@Rutaarwa you are welcome, wish you success in your career.
A very good article.......... i got strenght when i read it hope i will also be good programmer :) well now i have to remember all of your points .. and try my best..
what's language learn to make good programmer
Singh, I would not want to suggest any language, because you can choose any object oriented programming language to start with, but you can try and consider java, C# and Python, do some background check and choose any of them