views:

1562

answers:

9

Hey There,

I've been involved in web application development for the last 2.5 years. I don't have a technical degree nor prior technical experience -- I've broken into the industry simply through freelance / personal projects.

I spent a year as a PHP / MySQL application developer, and for the last year and half I've been employed as a Web UI developer (focused on Javascript / HTML / CSS development with the occasional dabbling in PHP to prevent blatant markup repetition / poor design patterns). The company I work for puts out really nice looking, complicated interfaces -- so its been a worthy portfolio builder.

Recently I've been presented an opportunity to return to the application development arena -- but I've been struggling immensely with the decision as the interfaces I'd be working on are simple / bland (the real meat of the project is in the back-end / data management aspect). I enjoy coding cutting-edge interfaces, but I also enjoy server-side development - and also see is as a more viable career path, as its more challenging / more valuable in my mind (really, HTML / CSS / JS development should be a skill every web dev posses as its remarkeably easy).

In the long run I'd love to find a more all-encompassing position, but for now (since I'm a new entrant to the industry) I'd like to do whatever is best for my career in the long run. My question to stack overflow readers would simply be -- what are the differences between the two opportunities I have as far as long term career development goes? Here's the way I see it:

A) Work as UI developer, graduate to a larger company with greater challenges (more importance placed on accessibility / backwards compatibility)? Basically I see UI development as a dead-end -- where do you go after you're "good" / "established"?

B) Work as Application Developer, graduate to larger / more complicated applications, development management, maybe eventually dabble in non-web related development (embedded systems, traditional application development).

Thanks for any advice. I understand the question isn't all that clear cut.

+4  A: 

As someone who has worked in web applications (front-end and back-end), traditional software, AND embedded systems, I think option B leaves you with many more opportunities. It seems to me that HTML and CSS is slowly becoming more the realm of graphic designers.

Summary: Option A means a larger chance of being replaced with a well-rounded graphic designer with web skills. Option B may require a degree somewhere down the line.

Corey D
I disagree about needing a degree. I have been told by some of the most accomplished individuals in computer science that college was educationally speaking a waste of time... they got more value by using the student loans during college to fund their ideas. I myself do not have a degree and have done quite well, YMMV
spoon16
A degree is assurance for a potential employer that you are capable of dealing with advanced learning and abstractions. However, it does not mean that you are a capable programmer. I'm sure everyone has heard horror stories of computer science graduates that completely lack technical knowledge.
Corey D
My degree more than doubled my salary. It did its job...
kirk.burleson
I agree completely. Unless you are REALLY good, companies are beginning to think that design work is cheap, resulting in designers who don't get paid that well. If you are a developer with design skills, you REALLY standout, and will constantly be pulled in for bigger projects with more responsibility.I agree that a degree is a must. Don't stop working to get it ... instead look for part-time programs from reputable schools nearby. It's not terribly hard for a great developer with a degree to find a 6-figure salary (even today), but it's incredibly hard to do so without one.
Jess
+1  A: 

Web pages as user interfaces are superior for one singular reason: they don't have to be installed on the client's machine. In recent years there has been pushback for more sophisticated user interfaces, as evidenced by the existence of tools such as Flash/Flex and Silverlight. However, the tools for web interfaces are getting better all the time.

Writing an effective User Interface is one of the most difficult and challenging problems of computer science. It requires equal parts of technology, psychology, ergonomics, human/computer interaction, and design practices. Your application can rise or fall on the User Interface, because it is your User Interface on which your application will be judged and accepted by the user community.

Is it a better career path? Hard to say, but it is certainly a critical skill set. Without strong customer acceptance, it doesn't matter how technically sophisticated the underlying application is.

Robert Harvey
+5  A: 

First, Web UI development is not a dead end career path. There's lots to learn and plenty more to teach the rest of us. Just look at all the nifty ways the iPhone has changed user interfaces just in the past couple years!

Second, the fact that you don't seem to recognize this makes me think the real issue is that you just don't enjoy UI development. That's okay! I don't enjoy it much either.

There's a lot of ways to make a career out of this industry and plenty of ways that haven't even been thought up yet. If application development is what gets you excited, do that. You should do what you enjoy. You'll have plenty of opportunity to make a career out of it!

Spencer Ruport
+1 for doing what you enjoy. This is way more important in the long run.
Octavian Damiean
A: 

As technologies become more and more refined and projects become more complex, you end up with more specific roles. You got one guy writing application code, another guy doing database stuff, and another guy doing testing.

As an app developer, I don't see a whole lot job postings saying "Need a J2EE developer with 10 years of experience plus it would be nice if you could design our UIs".

Jack of all trades, master of none, I suppose.

A: 

Definitely option B. Think of what you can do after several years, with HTML, CSS and JS you'll be doing the same over and over. It's boring.

Karim
A: 

When you say "UI Development," what do you mean by that?

If you mean just developing the user interfaces (AKA, you're the guy who codes them up), then, yes, I agree that that could really limit your room for improvement.

If, however, you mean UI development, particularly from a usability (accessibility, etc) standpoint, I think there is a huge room for growth. Companies are constantly working to make their software more usable and more attractive to the end consumer. Just look at the work companies like Apple, Microsoft, Google, and others have done in the past five to ten years developing newer types of interfaces. If you don't have experience with usability (which is more than just creating user interfaces), I would recommend checking out some books at Amazon. (I would recommend one, but I have it sitting on my shelf at work - I can get that for you if you're interested.)

JasCav
A: 

There are a few different routes you could take as I see it:

  • Usability - Granted that this may mean going back to school to get a HCI or CS degree, this can be a rather interesting field if you like working with people and how they use technology. This can involve some technical elements as well as some non-technical parts.

  • General development - This could be web or desktop or some hybrid really. If you wanted to do this I would suggest getting a Bachelor's degree in either CS or something that could complement your current technical knowledge like a business or marketing degree.

  • IS Management - This is another possibility if you like the idea of plotting out how systems come together and what should talk to who using this or that. This may make sense if you want to be a sysadmin.

JB King
A: 

Interesting topic....I find myself waverying between UI and the full Web stack from job to job. Usually you can't do just client-side w/o getting your hands a little dirty with backend code. For me, a lot of it has to do with the employer. At a smaller company I'm happy to take on more responsibility -- at a larger company it works just the opposite.

Frankly, some days I wonder why I don't become a technical project manager -- because you're original point is valid -- wtf is a career path for any web developer anyway?

A: 

I strongly disagree that UI development is a dead end. When web browser became the main stage of development, UI development is too on main stage. After UI, you can climb User experience, Usability, Information architect, etc.

rajakvk