views:

133

answers:

5

I am a student and preparing myself for job.

Being an ASP.NET(C#) developer, do I actually need to learn JSP(Java) or PHP?

Being a web programmer, do I actually need to learn CSS and JavaScript libraries(i.e. jQuery/ExtJS/MooTools, etc.)?

And can I only concentrate on programming. I.e. keeping away from business processes.

Please, I need a clarification no matter how much cubicle my working environment is.

And please tell me from your experiences.

+2  A: 

If you are an ASP.NET developer then PHP and JSP may be useless, unless you want to expand yor horizons and learn some new options.

As a web programmer then CSS and jQuery are essential though, as you will use the jQuery library (so learn javascript) as MS now includes it with Visual Studio, and CSS is important to know.

If you are working for a for-profit company, if you want to get promotions then the business processes will be important to understand, most likely. You should be aware of what impacts the bottom line of the company, as you may have to write applications to help the company implement new processes.

James Black
+5  A: 

I would advise you do one thing really well but have some exposure to others. In your case that seems to be ASP.NET/C# so that would mean being proficient in:

  • C#
  • ASP.NET
  • Javascript
  • HTML
  • CSS
  • Visual Studio
  • At least one source control system (eg Subversion, Git or VSS)
  • SQL
  • Basic knowledge of at least one database, probably SQL Server
  • Basic IIS

If you know these well then picking up other things later becomes much easier.

There isn't much point in knowing PHP or Java as those two are technology stacks aimed at doing much the same thing. It's far more useful to know your way around up and down the tech stack than broadly across several knowing none of them very well.

As a junior developer the technical skills are king. As you gain more experience and responsibility the business side becomes more important. Some developers see the technology as an end in itself. It isn't. It's a tool designed to solve a problem.

Knowing how businesses work is useful but initially it's not as important as getting a solid technical foundation.

Sufficient background knowledge I think would be on the level of first year university/college business units.

cletus
+2  A: 

I started out in an asp.net/C# shop. After a few years I got a job as a PHP developer. My feeling is that you will more quickly learn about web programming if you can see the way it is approached from multiple angles.

As to CSS, javascript, HTML, etc., you cannot excel at web development without those skills. Javascript libraries are great for cross-browser compatibility, but don't use them as a crutch for not understanding how the different browsers interpret utilize javascript.

As to the business process, your UI's will be more intuitive to a user if you know how the business process works, IMHO.

Myles
+1  A: 

You probably don't have to learn JSP(Java) or PHP but you may find yourself in a situation where you have to support a heterogenous environment where some of the code may be in JSP or PHP. I know where I work there are some Wikis that use PHP and so we have to go in and manually edit some files for permissions so there is some parts of PHP that we know only because we may need to use it.

If you plan on doing front-end web development then CSS and JavaScript libraries will probably be in your future. I suppose there is the possibility of getting into Flash or Silverlight and that could get you away from CSS and JavaScript. There is a good chance something else will come to change this again. Sharepoint would be another idea here for something you may learn that affects how you use CSS and JavaScript, I'd think.

What do you mean by business processes? Do you mean the overhead of administrative work that has to be done as part of a job? Or do you mean the bureaucratic processes created by introducing new systems like changes that come from putting in a new ERP or CRM system? I don't quite know which way you are looking at that question.

JB King
By Business process, I mean system analysis. In cubicle software development, often same person is responsible for various things like DBA and system analysis. I don't mind doing DBA, coz it is a part of programming. But just hate to do system analysis, coz this is a completely different dimension.
JMSA
If you work on big projects where there are architects or technical leads that could lead to doing little systems analysis as they'd just tell you what parts to build rather than having to figure out what to do.
JB King
A: 

If you're interested about web development, you should definitely learn HTML, CSS and Javascript. Concentrate on the DOM manipulation angle. You do not need to be an expert in design though (meaning colour theory, layouts, typography).

Definitely try to learn about how businesses work, even if your job is just programming, these are essential survival skills for your work life, and you might want to shoot for management positions someday.

Ludovico Fischer