Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Possible Duplicate:
What should a developer know before building a public web site?

I have been working in telecommunication companies for more than 3 years, and now I want to try to become a web developer. I use C++ for a long time, and it is my most familiar language, and the platform is Unix or Linux.

Because of my programming skills, I tried to apply several positions like C/C++ software engineers which I think require this kind of knowledge.

But I failed for all the positions. A majority of the positions I applied really need was C language skills other than C++. And all need strong knowledge about the data structure and algorithm which is a filed that I am not good at.

After several trials, I realized that there was a problem. What I am good at is at something like C++, Object Orientated design, and the analysis ability, which is a little high level thing. But the positions I applied require C, algorithm which were a little low level.

So is there some positions in web which are suitable for my programming skills? or How many things I need to learn to become a web developer based my programming skills?

Thanks.

share|improve this question

marked as duplicate by Steve Evers, Anna Lear Sep 26 '11 at 15:54

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3 Answers 3

up vote 2 down vote accepted

Algorithms and data structures are any programmer's bread and butter. If you don't enjoy these, maybe a different occupation is a better choice - if it's the web you're after, you might want to look at something more in the web design or editing / writing area. Otherwise, at least general knowledge of the common algorithms and data structures is pretty much required (you can get by without these, but you'll write lousy code, and I'd hate to have you on my team).

As for practical skills, in order of importance:

  • HTML and CSS, in depth. You can't do web development without these.
  • The HTTP protocol. You don't need to know every obscure detail, but learn how the protocol works and what you're supposed to do to comply to it.
  • At least one server-side web programming language. The most popular ones at the time of writing are, to my knowledge, C# (ASP.NET), PHP, Python, and Java (JSP), but there are more. While you can use C++, I wouldn't recommend it for this task. Seeing that you're coming from a Unix background, PHP or Python would be obvious choices.
  • Javascript. Today's web is nowhere without client-side scripting, and javascript is the only viable technology to do this (ECMAScript is the same thing, VBscript is as dead as it deserves to be).
  • SQL: most web applications use SQL as their data back-ends (typically MySQL on *nix, although PostgreSQL is gaining popularity, and IMO it's much nicer).
  • Web security basics (actually, this one is very very important, but I put it here because it makes sense to dive into this topic after you've learned the above).
  • At least one javascript library. jQuery seems to be the most popular one; it allows you to whip up fairly complex DOM manipulations and effects, with AJAX and what not, with just a few lines of code.
  • Some basic web design skills
  • Basic web server administration (probably Apache if you're on *nix).
  • On *nix, basic shell scripting
share|improve this answer
    
thanks very much for your reply and suggestions. About the data structure and algorithms I meant to design and implement the new algorithms other than to use them. I can use them very well, but not to design them. Thanks anyway. –  Kuyo Sep 26 '11 at 9:53
    
Read about THE HTTP PROTOCOL! I've worked with too many programmer sthat didn't have the most basic grasp of how the http worked... –  jonathan Jan 17 at 14:28

Well, I think you can add C# to your skill set. It's close to C++ and will be easier to understand. Other than being a language for web, it can also be used for software and application development.

The learning curve for you won't be steep as you come from C++. Along the lines try to grab the knowledge of .NET framework.

And that's it, you are a web developer now. BTW occasional knowledge of HTML/CSS won't harm.

share|improve this answer

A good web developer knows HTML/CSS for the basic structure. JavaScript and AJAX are the present day hot-cakes. On top of that, you may learn any programming language that makes the pages dynamic (e.g., PHP, etc). May of the top websites are based in php these days. On top of that, you may also want to learn a web-framework to make your development fast and more secure.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.