how to become programmer?

Posted on 2010-09-12
Last Modified: 2016-05-26
i like software and i dont know how to becomw good programmer.
Question by:tungdt
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 65

Expert Comment

ID: 33659342
what is your background? best course of action is obviously doing a course.
some good tutorial websites available also like w3schools (

if u are totally new then you need to learn the basic concepts and defintions like

what is a variable, operand etc
how to define methods
how to use iterations

also depends on what language you wish to start from to use as an example

obviously using java is free and so is the ide like eclipse
ms have express editions of their dotnet
you can still find old skool language compilers like ada (think in

next is the question of what type of programmer, web? applications? allrounder?

have a read here on more tips
LVL 14

Expert Comment

ID: 33659438
Most important (education aside), getting your hands dirty!  While making every attempt to follow documented standards, write code, experiment, look at other's code and figure out what it is doing, what could be done differently, etc.

Nothing can replace experience!  You can read all the books, watch all the videos, and come out of it not able to write an application of any substance.

Good luck.


Expert Comment

ID: 33660762
use net and find some tutorials, step by step
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 13

Expert Comment

ID: 33827755
indeed google is your friend.
google translate will also help.
LVL 32

Expert Comment

ID: 33865426
I like video course from online (free, while it lasts) universities. Take these courses and do the assignments. If you like math, which is useful for many types of programming projects, then take those courses as well.

Here are Computer Science courses  (CS 1,2, and 3) from Stanford:


Author Comment

ID: 34049651
@phofriec :Have you got any suggest idea ???(more website ,more methodology,.v.v.v)

Give me more information
LVL 32

Accepted Solution

phoffric earned 500 total points
ID: 34050440
Firstly, I should mention that the 2nd link in my previous post uses C++ to illustrate programming techniques. Be forewarned that C++ is considered a difficult language to learn in its entirety.

Yes, I'm sure I and others will be happy to provide you with more information. As the field is immense, as you can see if you look through all the EE zones where you can ask a question, then it is important to narrow down your vision to something obtainable. We (and you) need to get an idea of the things you would like to do in software. To complicate things from a couple of decades ago, the division between software and hardware is sometimes blurred. Now, software designs are implemented by HW engineers in ASIC, and conversely some items that were exclusively in the HW realm (e.g., front-end signal processing filters) are now in the realm of SW engineers having a strong EE background.

From the above comments, I hope you see that the question is too open-ended and needs to be narrowed down by you. Heck, there are even books on the subject:

Your budget and time are also major factors in giving assistance. Many Software Engineers, for example, go to school 4 years after high school, and then land their first job. Some even take 6 years (Masters degree) before getting their first job.

So, tell us about your budget, amount of time you wish to spend, and your educational background and skill levels, especially in the math and sciences. (There is one peculiar characteristic that I heard a couple of times - if you are a good musician, then that is correlated to an aptitude in programming.)

BTW - the odd thing about programming is that much of what is taught is not appreciated (and deeply understood) until one digs a hole so deep that it is not easy to climb out of it. (However, big companies do this all the time, but they have gotten away with this, sadly enough.)

Author Comment

ID: 34058405
Hi phoffirc

First of all ,thank for response.

I'm a programmer since 2001 .

My Skill :C# ,PHP,ASP,Java(with CMS,Portable,WINDOW-FORM available).
I 've worked 3 year as a professional C# programming.

But now i want to become a professional  C++ programming .I don't know where do i begin (because i haven't got C++ experiences).

So i need to know : MFC,HW engineers in ASIC,NETWORKING(focus on  HW engineers in ASIC and NETWORKING) for a beginner.

Could you give me any books or websites?,also tell me how to begin ?

LVL 32

Assisted Solution

phoffric earned 500 total points
ID: 34061745
Hi tungdt,

Ok, I think you are pretty good shape to learn C++ since you know C# and Java. Maybe better than coming from, say a C background, since you already know OO principles. Both backgrounds should made the transition to C++ easier (but expect compiler errors if you keep transitioning between C++ and the other languages - it is easy to mix up the similar syntaxes).


Of the above course links,
this one is a good C++ course. But if I recall, it assumes you now a little C++:

If you prefer to be spoonfed, then here is the spoonfed anti-RTFM C++ tutorial video:

I have briefly looked at it, but it is for beginners and a little slow at times, and I don't think it covers advanced topics.

Here is Microsoft's Tier One: C++ Beginner's Guide:


You should be aware of POSIX programming in *nix systems. Here is a beginners article:

Here is a tutorial on Linux Software Development:
and here is the Linux C++ tutorial:

Currently, I have Cygwin on top of Windows XP. For Cygwin download:
and click the "Install or update Cygwin now!" button. Be sure to select developer tools, like gcc, g++, ddd.

For an Xserver, use Xming:

In order to learn, you have to practice extensively. And you have to learn from your mistakes. One excellent free tool (that you are already familiar with) is Visual Studio 2008 Express. Its download site is:

To help you find the mistakes, I recommend getting familiar with the debugger immediately. This article will help you start debugging C++ in under 30 minutes:


Algorithms (not specific to C++) but used in many applications:

You can read:
along with the online lectures:

This course has an emphasis on complexity analysis, and has nice examples, showing a procession of changes when passing through the algorithm. Difficulty Level = often hard. Only pseudo-code is provided.


Here are a number of online references and tutorials:


There are free C++ books available online or for download. This link will give you a nice set of bookmarks for you to review:


You are not the first person here at EE to ask about learning C++. Scan through these to get different approaches matching up your learning style profile with the others.
Since there are 1000's of hits, I suggest you do the following: At the top to the right of "Search", hit the "Advanced" Search" button. (Wait for the ADD NEW FILTER button, and hit it). Filter by "Zones -> Programming -> Prog Languages -> C++ => All C++ (or MFC, if interested). At bottom of screen is number of hits per page, which you may want to set to 200.

Now you should be able to get a wealth of advice, and you will be able to match your own profile and interests with those of the askers to find a best fit.


I've never worked with MFC. Microsoft still supports it. But there is debate as to whether it is worth learning for the future. You can ask a separate question if you wish to pursue this discussion on MFC.

I've never done GUI using C++ (did a small amount of Motif using C), so I don't know much about that area. I hear that QT, OpenGL, Glut, are popular GUI development packages to work with (and I'm just starting to look into the latter two for some algorithm visualization projects).

If you are inclined to do embedded software interfacing with HW (yes, even kernel I/O drivers are written in C++, rather than pure assembly or C), then you should study digital logic (starting off with simple AND, NOR gates, and building up). You do not need to become an Electrical Engineer HW designer; but it will help if you know enough to talk them efficiently on the HW/SW interface. If you plan on doing that, ask for advice in the Embedded Hardware zones.


I wish you good luck and good practice in your endeavors. If you try a problem (hopefully simple ones at first), and run into difficulties, then you can ask a question here at EE, and get pretty quick responses.

Expert Comment

ID: 34183108
I'd start with something simple like Visual basic programming in Excel. You can record macros to see how the commands work. You can define simple loops and program structures and instantly see the result since Excel uses an interpreter and no compiler.

You'll quickly get a good feeling for writing a program.

From this point on, you'll have the basics and can start with more advanced languages. You must know what you target platform is:

web programming: php, html, perl ...
windows: c++, c#, java ...
iPhone, MacOS: Objective C

Expert Comment

ID: 41616292
I've requested that this question be deleted for the following reason:

No comment has been added to this question in more than 21 days, so it is now classified as abandoned and is now flagged for deletion.

If there is a valid solution, please OBJECT and indicate the comments that are, or would otherwise lead to, a solution.

Use the specific format http:#axxxxxxxx for comment ID(s).

Also, please don't object simply because the author did not respond to your comment. While we understand this is frustrating, unfortunately we cannot force the author to return to the question. Unless you feel you have presented a valid, verifiable solution we'll simply delete the question.

Experts-Exchange Auto Deleter

Featured Post

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Programmer's Notepad is, one of the best free text editing tools available, simply because the developers appear to have second-guessed every weird problem or issue a programmer is likely to run into. One of these problems is selecting and deleti…
Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question