Internosis - knowledge management,ecommerce and project consulting
*Home>>>Software Development

How hard is it to get into programming?


How hard is it to get into programming after receiving degree in software development, what sort of pay would i start on and how long are you seen as a trainee

If you have a degree then you can pretty much get any entry-level position (usually around $35-50k). Almost anyone can write software at an entry-level position. However, where you go from there depends entirely on how talented you are. It is very, very hard to advance your career - I would say almost impossible - if you don't have a natural ability for it.

It's not accurate to say that it's *hard* to get in or to advance - i.e., not be "seen as a trainee". Advancing is very easy for people who are good at programming, and impossible for people who aren't. "Hard" never comes into play.

Studies have shown that in the software development industry, there is *zero* correlation between experience and ability. That means that, quite literally, your experience or number of years doing software development will have absolutely nothing to do with whether your career advances. If you're not good at software development, you will still be an entry-level developer at age 55 (or a manager of entry-level developers, if you have better people skills and build experience in the company); if you are really good at software development, you will be a senior-level developer within a few years, or less. I have had to turn away 50-year-olds in interviews because their experience was all they had - no ability.

Short version: it is very easy to break in at the entry level. Where you go from there, and how long it takes, depends entirely on your ability. Programming does not reward experience, only talent.

Disclaimer: that is not to say that experience means nothing; I have been doing web and software development for 12 years, and I have learned a great deal (and continue to every day). The point is that the experience is not what makes me as good as I am - other people have been doing it as long as me and they still languish in entry-level hell, because experience cannot enhance nonexistent talent.

Almost anyone can learn to program. There are only a few requirements (like having access to a computer), and you don鈥檛 have to be a genius. (Well鈥?it helps if you are a genius, I suppose, but you don鈥檛 HAVE to be one).

What is it you want to do?
There are a lot of reasons for wanting to learn computer programming, and what you want to do with it can help guide you in choosing your path in learning. Perhaps you are interested in programming as a career. In that case you will want to make sure you are learning things that will make you attractive to those who hire programmers. On the other hand, you might just be looking for a fascinating hobby, and in that case you can let be a bit more casual about what you learn and focus only on things that interest you.

Maybe you need to automate various applications you use at work. For example, perhaps you want to automate a word processor to do mailing labels or a spreadsheet to do customized financial forecasting, or maybe you want to write computer games, or have a cool Web site, or鈥?the reasons are endless, just as the things you can do with a computer are.

The languages you learn will be influenced by these things, as well as the approach you will want to take as you begin to learn to do computer programming.

What resources do you have available?
Time, money, people who can help guide you, computers, books, programming clubs, classes, programming forums鈥?these are all resources that will be handy as you are learning to program.

If you have a lot of time and money, a computer, and access to learning opportunities like college classes and developer group meetings, you will probably be able to learn at a rapid pace. If you can only spend an hour or so each day, and you don鈥檛 have your own computer, and you can only buy one or two books, you will have to adjust your expectations a bit. However, either way, or somewhere in-between, you will be able to learn to program.

What is the level of your motivation?
This is a very important consideration. This isn鈥檛 going to be easy. You are going to need to keep going even when things seem impossible and you can鈥檛 find the answers you need. It takes a fair amount of brain power, will power, and the ability to work things out. You will be well served if you can muster a 鈥渟tick-it-out鈥?kind of attitude.

One of the attractions of computer programming is that there is a lot of problem solving, and you will have to solve a lot of them both while you are learning as well as when you are using your skills to do useful things. It takes a lot of interest and dedication to stick with it long enough to get somewhere - if this still sounds good to you, you will probably do okay.

So, how to get started?
There are a lot of ways to go about getting started. You can get started today, regardless of how you are going to approach this over the long run. Here are a few tips on getting started quickly:

Learn in baby steps - Start with something very easy, and add to it. There is no advantage to jumping in with both feet unless you have unlimited time and resources.
The quickest way to start might be to use a language that comes with software you already have. For example, you can do a great deal of programming in Microsoft Word using Visual Basic for Applications. There are numerous commercial software applications that include a way to enhance them using programming or scripting languages.
Here is another idea for getting started quickly: There are simple languages available with almost every operating system (Windows, Linux, Mac) for automating your repetitive tasks. For example, in Windows you can use VBScript. Again - a simple Internet search will get you lots of information.
Pick a more full featured language that is available free - To get started with the least expense and as quickly as possible, one approach is to download a programming environment for free on the Internet. For example, you can download the Ruby language and everything you need to work with it for free. Another example is the Microsoft .NET Express languages (VB.NET or C# are good choices) - again, you can download everything you need for free from Microsoft. A little Internet search on either 鈥淩uby Language鈥?or 鈥淢icrosoft .NET Express鈥?will get you all the info you need.
Use the Internet - You already know this or you wouldn鈥檛 be reading this article, but the Internet is full of resources to help you learn to program. That makes sense, since the Internet has been created and programmed by programmers. A lot of programmers are willing to share their knowledge through free tutorials, forums, tips sites, and articles. You will find links to a lot of good resources just by doing a simple search. One thing is certain, there is no shortage of information.
Work with what you have, or what you can easily get - To get started quickly, my advice is to do something right away and keep doing something every day. Soon you will be better able to judge what areas are most interesting to you and best fit your needs, as well as where to get the information you need to keep progressing.
Buy used books - Many of the book sellers on the Internet now offer used books through a network of thousands of book re-sellers and private individuals. You can save a lot of money this way.
Once you get started, write simple programs that help you automate something that is wasting your time. For example, if at the end of every day you make a backup of the files you worked on during the day by copying the files 鈥渂y hand鈥?to a CD, you could write a program that automatically searches your working folders and copies the files for you - without you having to do anything. The extra time you get from each little helper program you write is time you can use to learn more about programming.
Find a computer programmers 鈥渦ser group鈥?somewhere near you. Almost all larger cities have such groups that meet on a regular basis - usually monthly. Many of these meetings are free, and usually they provide presentations on 鈥渉ow-to鈥?do various programming tasks. They often also have study groups and beginners sessions. Not all languages are represented in all cites - but anything is better than nothing, so it can be worthwhile to attend any meeting of this sort that you can find that is within a reasonable distance.
Take a beginners course at a local community college or extended studies program. These classes are usually offered at a very reasonable cost, and will help you get started. I have found a number of these classes available on line - and if you are eligible for entry, it can be very convenient to take a course this way.
It鈥檚 time to get started
Programming can be fun, challenging, useful, and profitable. Not everyone has the nature or interest to become a full-time programmer, but almost anyone who can use a computer can learn to do something useful or fun with computer programming. If you think it is something you might enjoy, then I encourage you to give it a try and see what it鈥檚 all about. It is going to take time and dedication to become proficient, but it all starts with a single step. So now is the time.

This is a tough one in today's industry. Unfortunately one of the side effects of outsourcing is that the entry level positions have all been sent over seas. The higher level positions are mostly kept here. I got an internship at a company and worked for 3.5 years before I lost my job to our companies India project. If you go on monster there are often entry level prorgammer/analyst positions where you can break in, if you did well enogh in school they will take you without the internship.

Usually 3 years is the cutoff point before you start to actually be accepted to go our and find non entry level jobs, 5 is better. Ceritfication helps too.

I made $34,000 when I started, but that was 6 years ago.

BTW I write code and DON'T have a cert, I simply suggested it as a way to get your foot in the door. I decided to stay with my company and chose a new path because I didn't want to be a software cleaner, fixing other peoples broken code.

Most anyone can learn to program. But only a few will ever be ready good at it.

I have always said, its like cooking. Anyone can learn to cook at least something. But very few will ever go on to become a top chef making a 6 figure salary.

I landed my first job as a programmer just out of school back in 1994, with a salary of $34,000. Within 9 months I had earned enough respect to be placed in charge of my first fearture set. From there I was placed in charge of larger and larger areas.

I was lucky to have gotten into the right plae at the right time, hoever, it was my determination to keep learning more and more that insured my success. Programming is not a field where you go to school and then your done learning. the technnology used out in the real world tends to be a generation or two ahead of what is taught in school.

I see all over Answers about outsourcing. This is yet another fad, it too will pass. Good code requires good coders. The only way to get good coders is experience. And this where the outsource companies in India and elsewhere are failing. They are failling to be able to keep the few good developers they produce. The good ones are coming here and to other developed nations to work here for the higher pay.

Also no matter what specifications provided, if I dop not really understand your business model, any software I produce for you will be less effective. And there is no way an outsource providor can get that.

This is why the companies that first tried to outsource development have already brought it back to the US. The others will follow.

Certifications can sometimes help get your foot in the door.

Most experienced developers will tell you that good developers write code. Weak developers get certified.

Learning to program is not very difficult, but can more challenging with languages such as C++. There is a very important piece missing from all of the previous answers, and this comes from over 25 years of experience in the field. Unless you only intend to program technical things, be sure to get a good accounting and business background while you are in college as well. Having the technical ability to program means nothing if you don't have an understanding of business processes so that you can look at something and determine how to either automate it or make it more efficient for the company. Remember, companies (except non-profits) are in business to foremost make money - get a good extended education so you can help a business do that and you'll have a heads up over other graduates with just the technical abilities.

Tags
  Supply Chain   Data Mining   ERP   CRM   Application Development   Software Consulting   Software Development   Information Technology   Technology Consulting   Project Training   Project Team   Project Control
Related information
  • Dell Latitude D620 or Apple MacBook Pro (or something else)?

    I have a 15" Macbook Pro: {|} - standard keyboard (shift and the buttons) Don't know about you, but DVI is important to me The slot load DVD works great (my dad has a hp and i accident...

  • How do i quit?

    well usually it is nice to give at least a 2 - 3 week notice of your leaving... since they DID hire you for the experience tell them that you genuinely appreciate the chance they gave you and if it...

  • URGENT!!!!!What does the Phrase 'Enterprise Edition' mean????

    enterprise usually means that you get all the features of the product.

    ...
  • Can U help me how to answer this Question?

    Programming is like swimming. You can't learn MUCH by watching. You have to get into the water and SWIM SWIM SWIM... To have the analogy hold - CODE CODE CODE. Good programming al...

  • Incremental approach?

    Testing is completed during each increment, so the next step is built on something that WORKS. When non-incremental approaches are used, testing is often overlooked at the detail level. Some...

  • A code change can contain a virus. Can a change to a specification contain a virus ? Can a change to a ..?

    (a) Yes (b) No (c) May be My option is (c)

    ...
  • Microsoft Certification?

    Hi there I'm certified for hardware (Microsoft Certified Desktop Technician - MCDST), software development - or solutions developer (MCSD), as well as Systems Administration (MCSA) and Syst...

  • Which is better engineering branch ?

    first thing is that are you really interested in what are you pursuing or not. the mere scope and future is not that important factor in deciding what you want to do. suppose you take up something ...

  •  

    Categories--Copyright/IP Policy--Contact Webmaster