Take the 2-minute tour ×

Is everything going to tend to powerful interface in the nearest future(I'm talking about desktop applications)? Console or simple GUI applications will not be popular? And does it mean that all programmers will have to become designers?

share|improve this question
+1 Actually I think this is a very pertinent question. Most answers here are by programmers with blinkers on, only thinking from one angle. The Web is such the developers nowadays wear multiple hats. Developers that are good designers are not only rare BUT also much wanted sought after by industry. Its much more efficient and cost effective to have a "Super Developer" one who can code and design. I personally love programming, however I've been learning design as well, and I now I love both –  Darknight Jun 27 '11 at 10:23
all programmers will have to become designers? - do you mean graphical designers in particular or a designer of any other type? –  StuperUser Jun 27 '11 at 14:30
@Darknight, I never thought of myself as a "Super Developer" because I am also a designer. Its a flattering thought though. I didn't know the industry wanted someone like that. I figured if I went to a bigger company I would have to "pick one" and let someone else do the other. –  JD Isaacks Jun 27 '11 at 17:34
If your good at design, don't hide it -> flaunt it! most non-programmers only see the external design of a site/program. You might be a great developer/ but they will never see or understand your code. Your design however is something they can appreciate. Its a another tool, use it! Also just to clear up I don't think being able to design and code constitutes a "Super Developer" for that you need to be able to do the following: (A) Electronic Engineering/Mechanical Eng/Design/Code/MicroCode/db/Compiler (I can only do 4 of those) –  Darknight Jun 28 '11 at 8:30
add comment



8 Answers

up vote 4 down vote accepted

Yes and No

No -> programmers will not have to become fully fledged designers.

However would it hurt if you are both a developer and designer?

Most certainly not, I believe this will work in your favour. I personally think this is the trend in the industry the so called emergence of the "Super Developers"

share|improve this answer
People have always wanted "Super Developers". I just think that people are finally starting to catch on that a hundred monkeys can't write Shakespeare, and this is evident in the fly-by-night offshoring software sweat shops that pump out terrible software. From my experience all the "Super Developers" in India either have left the country to work or work at one of the few major names down there that actually pay a living wage. Many companies are starting to catch on that it is financially better to have a few extremely talented individuals than 30 terrible embarassments. –  maple_shaft Jun 27 '11 at 12:51
add comment

The answer would be no.

A Users Interface is just a way to communicate with your program. You can decide a user interface to be tightly coupled with your program logic or you can choose to separate it from your program logic.

Choosing to separate your User Interface with the program logic gives you a lot of choices and flexibility in implementing your User Interface, you may choose to implement a CLI, a desktop GUI, or a web GUI, you might even considering an interface in your mobile device which is cool too, without changing your program logic at all.

for more info, read about 3-tier-achitectures and MVC architectural pattern

One should aim and strive to become a great software developer, you will learn the best practices for programming and designing as well.



share|improve this answer
As I understand the OP's question, it is about more than just application design. UI graphical design is needed on any application in any architecture. –  StuperUser Jun 27 '11 at 14:15
@StuperUser: On context, the design is meant to encompass DB, architecture, as well as UI designs. We have separate teams for the DB Designers, UI Designers, and of course Software Architecture Design. Hence the mention of MVC and 3-tier frameworks. –  Dorward Villaruz Jun 27 '11 at 14:27
On context, the design is meant to encompass DB, architecture, as well as UI designs. That's application design. A graphical designer working on UI/UX doesn't need to know about technical implementation, (perhaps markup/xaml for CSS, if it's being used). As you've said MVC is good, since a designer can specify markup required from a view and masterpage/layout. –  StuperUser Jun 27 '11 at 14:53
add comment


There will always be a need to specialise. Decades ago, programs output to tape or to a text interface and developers aren't all designers today.

That said, as more powerful GUIs become available (including HTML5), as always, a good developer will have an appreciation of producing work that will allow a skilled designer to work with it easily.

share|improve this answer
add comment

Were'nt we always?

I startet programming in ~2000, since then, there was no job where i have not at least made some Guis to make the functionality of my code accessible to endusers.

Even when coding B2B interfaces for dataexchange, there had to be a presentation of what was transferred.

Maybe design gets more of the attention it deserves in the Future.

share|improve this answer
we always were. Trouble is we were pretty terrible at it :) –  gbjbaanb Jun 27 '11 at 10:30
I partially agree. However I would say that in the earlier days a rich interface was not possible thus designers were not needed. Now with ever richer UI, the need for designers is greater. –  Darknight Jun 27 '11 at 13:23
Maybe we differ on our definitions of 'designer', or on what aspect to emphasize. Even in a 'poor' environment, you have to design: what choices present in what way to the user. In my opinion, that is the important part of design. To give these options nice colors and a cute little mascot may be things designers do too, but the're not that important. The first part is what i think we always were (even with command line interfaces), the second part, i guess, is something that is a nice to have, but usually done better in teamwork with someone with artisitc talent. –  keppla Jun 27 '11 at 13:38
Design for me is -> HCI (Human Computer Interaction). most programmers are not trained or specialised enough in this field. A lot of thought and process goes into a UI design. Sure this is a fairly recent field but that may be related to the fact UI has transformed from Command Line to GUI. –  Darknight Jun 27 '11 at 13:53
Designing is an art. Whether one will design the User's interface, the software architecture, a mere function, or the database, creating a masterpiece is the designer's ultimate goal. –  Dorward Villaruz Jun 27 '11 at 14:37
show 1 more comment

Did you read somewhere that all programmers will have to become designers? Do you have a link to where you've read this (so that we can have some more context)?

Your question reminds me of the following:

When my dad started working as a computer programmer at the end of the 1960's, people were discouraging him because they thought that within a few years programming languages would become so good that anyone could do it - you could just type in what you wanted and the computer would automatically program itself. Ofcourse nearly nothing of this idea has come true - programming is just too inherently complex that it isn't possible to fully automate it.

Your question sounds as if there's some revolution going on that will force all programmers to become GUI designers.

Besides desktop applications, there are many other kinds of software that people write. In my 12+ years as a Java software developer, I've only worked on desktop applications a few times. Most of what I do is write server-side software that does not have a GUI at all.

share|improve this answer
"programming is just too inherently complex that it isn't possible to fully automate it" - Thankfully for us, it is one of the few jobs that can't be fully automated. –  Zhehao Mao Jun 27 '11 at 12:23
add comment

I've written applications that allow non-coders to produce applications (think Biztalk) and then there's Biztalk of course, and now there's the Android App Inventor that allows drag-n-drop app development.

I think all these will become more prevalent, after all, where I once used to write UI code by typing pixel positions in a text editor, I now drag and drop a control onto a form. All developers do that nowadays. I think the back-end coding aspect will become more pluggable-block based eventually.

However, that's for application developers. If you're a systems engineer then you'll still be coding at a lower level, like the guys who write these drag-n-drop builder applications. So there'll always be a position for 'real coders', its just that there will be less of us in the future as your mom learns how to code by dropping a representation of a code block onto a representation of an application.

share|improve this answer
Moms will never (hundreds of years at least) be clever enough to program even in graphical blocks and that stupid graphical blocks will never be as powerful as normal text programming languages. –  Anton Barkovsky Jun 27 '11 at 13:34
add comment

Simple GUI applications will generally be popular. Why? Because these tend to be aimed at non technical end users of the product.

Some programmers have a hard time designing these to be simple, being less knowledgeable about daily workflow of whatever it is to be automated and taking knowledge of certain concepts for granted. Also, GUI design shouldn't just be modeled after whatever makes the code most simple, but rather whatever makes the end workflow robust and easiest.

share|improve this answer
add comment

The interface used to access applications in the future will likely continue to be both console and GUI, IMO. How long have GUIs been around? I can remember on Windows 3.1 having a mouse and clicking on things. In Unix environments I think command lines were favored a bit though that may have just been anecdotal for me to see.

What do you mean by designer? Programmers can be system designers in terms of figuring out how to connect this application with that and put pieces together in some cases to build a system to solve a problem. Granted this isn't the artistic idea that people have when they think of designer but there is something to be said for someone being the person behind a technical design. Thus, I'd say programmers are designers already and that isn't a bad thing.

share|improve this answer
add comment
