How To Become A Programmer
How To Become A Programmer
wikihow.com/Become-a-Programmer
Download Article
PRO
Becoming a programmer is a cumulative process that builds up your skills day after day
and year after year, and programming can be fun and rewarding (mentally, spiritually and
financially). This guide does not promise to give a magically easy way to becoming a
programmer, and the ordering of the steps is not sacred, but you'll get a general outline of
how to become a programmer in one of the modern programming fields.
Steps
1/61
1.
Gene Linetsky, MS
Gene Linetsky, MS
Startup Founder & Engineering Director
Don't feel like you have to earn a coding degree. While taking courses in a
programming language can be helpful, Gene Linetsky, a software engineer and
startup founder, says: "It's actually debatable whether a degree hurts or helps.
2/61
Instead, think of programming as an apprenticeship—it's mostly about learning from
your mistakes."
2.
3/61
3.
Decide what type of programmer you want to be. Programmers generally fall
under one of the following categories:
Web programmer
Desktop application programmer
Operating system (OS) oriented programmer(tied to a single operating
system or set of operating systems)
Platform-independent programmer
Distributed applications programmer
Library/platform/framework/core programmer
System programmer
Kernel programmer
Driver programmer
Compiler programmer
Programming scientist
4/61
4.
Advertisement
Method 1 of 6:
Web Programming
5/61
1.
6/61
2.
Browse many diverse websites to learn about how they usually look. (Right
click, then click View Source or press F12.) Look for diversity in the type/content of
the website, not the quantity of websites visited. Generally, you will need to visit at
least one of each of the following types of websites:
Corporate presence sites (commercial corporations, not-for-profit
corporate/organizations, governmental organizations)
Web indexing engines (search engines, meta search sites, specialized search
engines, directories)
Data mining sites
Personal sites
Informational/encyclopedic pages (wikis, data sheets, technical specifications,
and manuals listing directories, blogs and journals, news and news agencies
sites, yellow pages, etc.)
Social sites (social portals, bookmarking sites, note-taking sites)
Collaborative sites (this includes other categories mentioned above, such as
wikis and blogs)
7/61
3.
4.
Get familiar with website structuring. This is creating conceptual web diagrams,
site-maps, and navigation structures.
8/61
5.
Take a crash course on graphics design. Try to learn at least one graphics
editing/manipulation software package (optional, but strongly recommended)
9/61
6.
Learn the basics of the internet infrastructure. This includes getting a basic idea
about:
Base Web services protocols (HTTP, FTP, SMTP, and POP3 or IMAP4)
Web server software (preferably, one for the platform you will be working on
mostly)
Web browsing software.
Email server and client software
10/61
7.
Learn the HTML and CSS languages. You might also want to get the "What You
See Is What You Get (WYSIWYG)" software package for editing HTML.
8.
Learn XML and XML related technologies, such as XSL and XPath (optional
but recommended).
11/61
9.
Create simple static websites until you are familiar with and comfortable
around HTML.
10.
10
Learn a client-side scripting language. Most users learn JavaScript. Some learn
VBScript, but this isn't compatible with most browsers.
12/61
11.
11
Familiarize yourself with the client-side scripting language you learned. Try to
reach your potential using only that language. Only go to the next step after you've
at least become familiar with your client-side scripting language.
12.
12
13/61
13.
13
Create a pilot project for yourself after you finish learning the server-side
programming language.
14.
14
Obtain your own website and start experimenting online within your own
page.
Advertisement
Method 2 of 6:
14/61
1.
Know what you're getting into with desktop application programming. Most
desktop programmers write code for business solutions, so getting an idea about
businesses, their organizational and financial structure will be a big time-saver.
2.
15/61
3.
4.
16/61
5.
6.
17/61
7.
Start writing some small console or console-like applications. You can make
use of common small exercises in programming languages books. For this, choose
a tool for writing programs in the programming language you are writing in.
18/61
8.
19/61
9.
20/61
10.
10
21/61
11.
11
Try to compare the two programming languages you learned so far. Evaluate
the strengths and weaknesses of each one. Usually this is done by:
Taking simple samples of your early work in the first programming language
and re-write it using the second programming language.
Creating a new project and try implementing it using both languages.
Sometimes, depending on your choice of project and languages, you might
not be able to implement the project in one of the languages!
Writing a cheat-sheet or summary-table comparisons between similar
constructs in the two languages and features unique to each of the languages.
Try finding ways to mimic features that is unique to one of the two languages
using the other language.
22/61
12.
12
Learn visual programming concepts using one of the languages you learned.
Almost all programming languages have versions/libraries that support visual
programming and others supporting console or console-like programming. This can
be accomplished by:
Get an introduction to event-driven programming. Most visual programming
relies in some level on events and events handling (using the programming
language you choose).
Try as much desktop software as you can and understand what the software
does. Most software development companies offer beta-testing versions of
their products which you can use to test the software. Keep up-to-date on user
interface advancements.
Read some articles or tutorials on graphical user interfaces.
23/61
13.
13
Start applying your knowledge on small software projects you design. Try
applying your programming expertise on problems you face in your day-to-day life.
For example, write programs that rename files in mass, compares text files visually,
copies the names of files in a directory to memory/text file, and things like that.
Keep it simple at first.
14.
14
Create a virtual graduation project. Complete this to the end, applying the
techniques of visual programming you learned so far.
24/61
15.
15
16.
16
25/61
17.
17
Take a course in graphics (not graphics design). It will be very helpful for
programmers wanting to write appealing user-interface elements.
26/61
18.
18
Method 3 of 6:
27/61
1.
2.
Take a speed introduction to telephony systems and their hardware. This step
is optional. However, it is very useful in understanding network topologies.
28/61
3.
4.
29/61
5.
30/61
6.
31/61
7.
8.
Use the scripting language you learned to write scripts that perform
communications between machines. Learn what is necessary for doing that.
Simple communications will suffice.
32/61
9.
33/61
10.
10
11.
11
34/61
12.
12
35/61
13.
13
Learn one or more of the following technologies. It is recommended that you get
at least an introduction to all of them. Most distributed application programmers do
not stop at one or two programming languages, but learn at least one programming
language on each operating system. That is because if you want your application to
be "distributed", you should provide a version of it at least for each major operating
system.
Common Object Request Broker Architecture (CORBA)
Simple Object Access Protocol (SOAP)
Asynchronous JavaScript and XML (AJAX)
Distributed Component Object Model (DCOM)
.NET Remoting
XML Web Services
Advertisement
Method 4 of 6:
Library/Platform/Framework/Core Programming
36/61
1.
Know what core programming is. Core programmers are merely advanced
programmers who made the transfer from programming applications to
programming code units to be used by other programmers.
2.
37/61
3.
Take an advanced course in UML and ORM. Most library developers use one or
both of them.
4.
38/61
5.
6.
39/61
7.
8.
40/61
9.
41/61
10.
10
Search for and try open-source packages in your field of programming. First
download binaries/executables of the package. Try to use it and find its strong and
weak points. After you've done that, download the source and try to figure out how it
was done. Try to recreate those libraries or parts of them. At first, do that after
you've seen the code and later before you see the code. At later phases, try
improving those libraries.
42/61
11.
11
Method 5 of 6:
System Programming
43/61
1.
2.
44/61
3.
4.
45/61
5.
6.
Introduce yourself to different bare operating systems. This can be done by:
Getting an idea on how operating systems are installed.
Learning how to install different operating systems on one PC (optional, but
recommended).
Installing more than one operating system. Do not install any helping
packages on the systems; instead, use the bare functionalities provided by the
operating systems.
46/61
7.
8.
47/61
9.
10.
10
Learn the ANSI C and C++ languages, along with the concepts of procedural
programming.
48/61
11.
11
12.
12
49/61
13.
13
14.
14
50/61
15.
15
16.
16
Find and read documentations of your specific platform of choice. This will be
easier if you choose a Unix-based operating system. Understand the system you
will be working with later very well.
51/61
17.
17
Practice your acquired knowledge. First create small system utilities. It is usually
useful to:
Trying to recreate small tools that are already there on your system.
Trying to port utilities available in other operating systems to yours.
52/61
18.
18
Learn languages in the most helpful order. This is the only place where the first
programming language matters. Learn ANSI C first, not C++, not C#, not Java and
not D. Then learn C++.
Restricting the first language to C and C alone is because systems
programming requires that the programmer be familiar with the following
concepts:
Real and full compilation of source code.
Low-level object output files.
Linking binaries.
Low-level machine-language/assembly programming. The C language is
said to be a disguised/easier to learn assembly by some. It also supports
inserting assembly language code in code whenever you please and it is
only procedural (like assembly).
Advertisement
Method 6 of 6:
Programming Science
53/61
1.
54/61
2.
55/61
3.
Decide a field of specialty. The more specific, the better. This depends on your
preferences. However, here is a list of some of the major topics in computer
programming science:
Algorithm design (searching, sorting, encryption, decryption and error
detection in communications are some examples)
Programming languages/compiler design/optimization
Artificial intelligence fields (pattern recognition, speech recognition, natural
language processing, neural networks)
Robotics
Scientific programming
Super computing
Computer aided design/modeling (CAD/CAM)
Virtual reality
Computer graphics (Computer graphics is usually wrongly confused with
graphical design or graphical user interface design. Computer graphics is the
field of studying how to represent and manipulate graphics in computer
systems.)
56/61
4.
Consider getting a higher academic degree. You might wish to pursue a master's
degree or a doctorate.
5.
Advertisement
Community Q&A
57/61
Search
Are there any videos and/or books for beginners on how to became a computer
programmer?
Kristian818
Community Answer
There are a lot of books and videos on the subject. You just need to find out what
language you want to learn. Most books cost money, but there are a few free online.
Your library might have some books on the subject as well.
Question
Community Answer
Absolutely. It'll require additional classes, but diversifying your talents can be worth
it in the long-run.
Question
Community Answer
Well, most businesses want that piece of paper that says you can do it, but you can
learn coding languages from free online courses and if you get stuck there are
plenty of forums out there which can help. if you have no preexisting coding skills, I
would recommend you learn HTML first.
58/61
Question
Are there theories/notes that I can access before learning hands on programming?
Community Answer
Question
Community Answer
You can ask for help at your nearby library, or you buy them online or at a local
bookstore. Go to Amazon and search for the programming language you would like
to learn and browse some titles.
Question
Community Answer
It does not matter how old you are. You just need to be a good problem solver and
critical thinker.
Question
KommaH
Top Answerer
Take a look at this article: Install the Java Software Development Kit.
59/61
Question
Community Answer
This really depends on your preferences and what you are trying to achieve using
these languages. Python, from my understanding, is the basic language for program
and software development (from scratch) and is fairly easy to learn. However, Java
gives you more functionality and can take you further in programming, but it might
be more difficult to learn.
Question
The_Noble_Jedi
Community Answer
Some good basic languages are Javascript, Java, and Ruby. If you want to take on
web development, try learning HTML and CSS.
Question
Community Answer
It depends on your seriousness and dedication, as well as how often you are
exposed to programming. I suggest you concentrate on each language yearly or
monthly.
Include your email address to get a message when this question is answered.
Submit
60/61
Advertisement
Tips
No matter what type of programming you want to try or what level you want to be at,
consider taking classes at school or your local community college. Don't be
intimidated by terms such as "Computer Science." Any class you can get into
without any prerequisites should focus on teaching the fundamentals of
programming, but check with the instructor or a counselor beforehand to make sure
it is what you are looking for, as classes like "Computer Literacy" may focus more
on becoming familiar with office applications and the like.
Thanks!
Helpful 0 Not Helpful 0
Advertisement
61/61