views:

126

answers:

5

I'm a front-end developer and really enjoy jQuery and JavaScript. I've built a lot a websites, done some good jQuery work and built a few JavaScript based applications and would really like to get in UI development. Or so I thought.

I guessed it would be pretty similar to what I already do except maybe a little more JavaScript heavy but when I looked into it all the job specs said I needed to know about Scrum or Agile development, knowledge of testing frameworks and a good knowledge of JavaScript frameworks and custom events. So, from the specs I get the idea that a UI developer is actually a dedicated JavaScript developer. Is that the case?

I understand (with much help from the users on stackoverflow), about JavaScript OO, inheritance, closures, custom events, debugging in Firefox or Aptana etc, and the people I work with seem to think I pretty OK at what I do but clearly my knowledge is not good enough to go for UI jobs.

If anyone could tell me a little more about UI development and if there are any good resources for learning about it I would be most grateful as I couldn't find much on the internet.

A: 

I would say any development requires knowledge of different development methods (waterfall,agile, test first, whatever) and intimate knowledge of the full Software Development Life Cycle.

UI development might also involve the study of how people interact with the software and how it can improve their life/work experience. From what I remember in college there is a whole area of research/study devoted to this.

tmeisenh
@tmeisenh - Thanks for the reply. That's what I would like to know, whether I'm expected to have an understanding of how people interact with what I'm building. The way I'm used to working is people ask me, normally designers or project managers if something is possible and I say yes/no and go away and make it.
Nick Lowman
A: 

The requirements mentioned in those job specs are pretty standard nowadays.

Scrum and Agile development are just methodologies, and can be applied to the majority of languages.

Knowledge of testing frameworks is something that's generally good to have when you're working with libraries (including jQuery)

And the Javascript frameworks and custom events are just a section of Javascript development, which would be required when applying for a job coding in Javascript.

Chances are, once you're in one of those jobs, it'll be similar to what you're used to, just with a different set of rules around your day to day working (the methodologies), and possibly with some new things for you to learn.

Jaymz
@Jaymz - Thanks man. It's good to read responses like these as it makes me feel better about myself and my skills. They always take a hit when I look at the job market. Are you a UI Developer?
Nick Lowman
I'm an "all-purpose" developer at the moment, the only developer for an organisation with not many IT literate staff. It does require UI/front-end development, but the thing to remember when you're going for a job is that most places, even if they're specifically a development house, will just chuck a load of buzz words together to make the job sound interesting. The only thing you need to try and pick out from the description is the primary language they're using, and the kind of applications they want written. If it interest you, go for it.
Jaymz
@Jaymz - Thanks again. Nice response
Nick Lowman
A: 

I think the definition of "UI development" really depends on the context, or the person saying it.

Many developers would think of "UI development" and "front-end development" as one in the same, for the most part. However if you were to ask a designer (which I am not by the way - so this probably has room for improvement), he would probably think of it as being 2 completely different thought processes/jobs. A designer would probably think of "UI development" as something more along the lines of encompassing user experience design, user interaction design, layout and everything in between.

In this case, it appears you are correct in thinking that the job will be similar. It seems they are referencing "UI development" more towards the developer aspect and also most likely using web technology for their front end since they are requiring knowledge of javascript. This is does not mean it will always be the case. For example, if the same person were to look for a a Silverlight "UI developer" they would not be interested in javascript at all, but instead in XAML.

In regards to testing frameworks, knowledge of these is good all around. For a good javscript testing framework, check out QUnit.

Nate Pinchot
@Nate - Thanks for the reply. I was one of those people that thought UI and front-end development were the same thing, apart from UI involved more JavaScript development. Just I build websites and "they" build web based user interfaces. To me they sound very similar. Until I read the job specs which made me think I was out of my depth.
Nick Lowman
I think you would be alright. Hey, you don't know until you try!
Nate Pinchot
@Nate - Thanks again.
Nick Lowman
+4  A: 

Which people perform which functions depends entirely on the company. There are essentially five things that go into making an application look a certain way:

  1. A template for the site. This is the general look and feel — the sort of thing you might even get for free from a "CSS Templates" site, depending on the quality you want.
  2. User experience design. Someone needs to decide where to put the buttons, what the buttons will do, and what steps users will need to take to accomplish a particular action. When I click "Cancel" is there an "Undo" button? Is there a popup somewhere?
  3. Interaction graphic design. What does the "Save" button look like? How is the information on the page laid out? What design do we need beyond what the template provides?
  4. Front-end implementation. Someone needs to make the Thickboxes show up, write the AJAX calls to refresh data, et cetera.
  5. Back-end implementation. Someone needs to write the underlying (usually server-side) functionality.

Where I work, template designers are one group, creating standard templates to be used across departments at my university. User Experience designers handle #2 and #3 together and produce PhotoShop or Fireworks mockups. Developers handle #4 and #5 together.

It sounds like where you applied, on the other hand, #4 is part of their "UI" job.

At smaller companies, one person might do all five functions. At larger companies, an entire team might be dedicated specifically to JavaScript development.

VoteyDisciple
@VoteyDisciple - Thanks for the reply. I worked at my last company for 10 years where we were only two developers so I did every aspect of development, from writing HTML to building Java based web applications. Problem is I left and felt like a jack-of-all-trades hence my now sticking to front-end development. And it's also one of the reasons why I asked this question. I wanted to make sure UI development wasn't another direction to what I'm doing as I really will be a jack-of-all-trades if I started something else.
Nick Lowman
+1  A: 

The things you list (development methodologies, testing) can all be learned. It's all about fitting into a new organization, and everyone goes through that process.

From what you've said, you are already a UI developer. Don't be thrown by buzzwords.

Matt Sherman
@Matt +1 What a cool answer. It happens every time that I start to feel confident about my skills. The people at work think I'm good which gives me confidence but as soon as I start reading job specs i just want to hide back in my little development hole and worry about the things I don't know. Damn Buzzwords!
Nick Lowman