views:

248

answers:

5

I want to be a web programmer [when I grow up?] because it's what I like doing, and I really do thoroughly enjoy it (web development in general, actually). I have about 2 years experience with PHP, CSS, and HTML and a few months experiance with JS and jQuery. I've been wondering this for a while -- what languages should I be most familiar with if I want to try and make a career out of web development? I'm only 17, so I've got plenty of time, and I think I've got a decent headstart on things, but it doesn't hurt to ask.

If I'm thinking in terms of being able to get hired as a web programmer, what is (or what are...?) the most useful thing I can do now to be able to have an upper hand when it comes to looking for a job. What languages, as a young programmer, should I really focus on? If you were looking to hire a developer, what would you be looking for?

+1  A: 

I expect this question has been asked many times before, but with HTML 5 getting more support from Apple, and the fact that only IE isn't supporting it yet, you may want to get very good at javascript, and look at what new language changes were made in Firefox, as they move toward support for the new version of javascript.

You can also look at Silverlight, as, it appears that it will give Flash a good run, and between HTML 5 and Silverlight, Flash may be in trouble.

Silverlight can now be run easily outside of the browser, so I can write an application that can easily be standalone or within a browser.

But, if you are looking at starting to work today then you will want to look at current job descriptions and see what people are looking for right now.

James Black
+5  A: 

Firstly, make your first focus of learning programming and design patterns. You want to have a solid understanding of at least MVC and OO programming. Interfaces, abstract classes, inheritance, etc. With a solid foundation here, you shouldn't have much issue dealing with the web side of it.

That being said, the best way to learn is doing things, so try and build web apps to skill up. Just try your best each time, learn from your mistakes and make it better the next.

You will definitely want to learn (N)Hibernate

Also, try and learn more than one language. Learn C# or Java, but also learn Python or Ruby or something. Also it is useful to have an understanding of C++ so you will know what is happening beneath the covers in more friendly languages.

On the front-end side, try and learn, Semantic markup (http://en.wikipedia.org/wiki/Semantic_HTML).

Obviously, JS is also very important and libraries such as jQuery. It would be great experience to write a plugin.

Alistair
+2  A: 

Accept that you will be discriminated against by many employers for not having a degree. Most places that I have worked in will generally not even look at CV if the person doesn't have a degree or equivalent training or experience.

anger
I'll have a bachelors degree by the time I'm looking for anything more than an internship. I start college this fall, actually.
Andrew
You are on the right track then. Pick an employer that focuses on a particular technology that you are interested in. I'd also recommend that you consider avoiding big places to begin with. You wont get to write as much code, the focus will be spitting out lots more documentation than anywhere else. Somewhere that specifically is in the business of software is a good start I'd say.
anger
+2  A: 

Learn about databases. There are many systems that have a DB in the back-end of one form or another. MySQL would be an example if you want something specific.

Another thought would be to cloud computing if you want another area that may be interesting to see develop over the next few years. How well it will develop is anybody's guess but it probably isn't a bad idea to be aware of how clouds get used for various things involving Web development like using Content Delivery Networks to give a simple example.

JB King
For many companies, the data is usually the most important asset they have. Certainly within any IT division. Knowing how to manage and retrieve it efficiently and accurately would be a very good thing. Many developers seem to skimp their knowledge in this area IMO.
Darel
+1  A: 

learn html, css, php, java script, AjaX. There are a lot of tutorials for beginners such as php tutorials.

Lime