# What is it that takes to become a good programmer?

I want to become a good programmer. What are the things that I need to keep in mind to become a good programmer. For example I wish to know something like-

• What I should study?

• How should I study?

• In what time frame I should complete a concept?

• Things I need to keep in mind in order to study some concept.

• What amount to practice and to what level I need to study the theory?

I am not looking for a specific answer but anything from a tip to a long advice that might help me become a good programmer would help.

Thanks :)

Note by Lokesh Sharma
3 years, 11 months ago

MarkdownAppears as
*italics* or _italics_ italics
**bold** or __bold__ bold
- bulleted- list
• bulleted
• list
1. numbered2. list
1. numbered
2. list
Note: you must add a full line of space before and after lists for them to show up correctly
paragraph 1paragraph 2

paragraph 1

paragraph 2

[example link](https://brilliant.org)example link
> This is a quote
This is a quote
    # I indented these lines
# 4 spaces, and now they show
# up as a code block.

print "hello world"
# I indented these lines
# 4 spaces, and now they show
# up as a code block.

print "hello world"
MathAppears as
Remember to wrap math in $$...$$ or $...$ to ensure proper formatting.
2 \times 3 $$2 \times 3$$
2^{34} $$2^{34}$$
a_{i-1} $$a_{i-1}$$
\frac{2}{3} $$\frac{2}{3}$$
\sqrt{2} $$\sqrt{2}$$
\sum_{i=1}^3 $$\sum_{i=1}^3$$
\sin \theta $$\sin \theta$$
\boxed{123} $$\boxed{123}$$

Sort by:

Learn some programming language, I recommend C++, Java, and Python (read this) (If you're good enough in C++ and Java, Python will be kid's stuff). If you got no one to teach you, let the internet be your Professor. Google the e-books for those programming language above.

Solve problems tons of competitive programming problems at URI , Codeforces, and so on.

There is a note in brilliant about Harvard's Introduction to Computer Science it's here. I guess that will do for you.

Last but not least, try to make everything KISS

[K]eep

[I]t

[S]hort and

[S]imple

- 3 years, 11 months ago

When you start, don't start with those advanced languages like C, C++ or Java. Make sure that you understand the basic concepts first, with some simple languages like Small Basic, Javascript or Python.

Then, you can proceed to Java or C++. When you think you are good enough, you can start doing practices in Codeforces, Codechef or SRMs in Topcoder Arena

If you want to improve and do competitive programming, you can go here to learn about algorithms.

Hope this helps

- 3 years, 10 months ago

Start with developing basic concepts of programming, printing,looping,summation,pattern generation,Database Management etc. These help to build a strong foundation for the difficult concepts of programming. Then brush up your basic concepts of mathematics coz. they always help you in solving a question or a programming competition. After all this start solving questions from CODECHEF >Practice>School section.(First start with getting the answer for the sample input and other inputs from your side then try to improve the programming logic before trying to post in CodeChef). TIP :- The more you practice the more confident you are during a programming competition.

- 3 years, 10 months ago

Start from learning fundamentals of the programming language like C, C++, python and implement the concepts practically. Hope you become good programmer. you can go through this training http://mindmajix.com/python-online-training

- 3 years, 4 months ago