You are on page 1of 18

CHAPTER II Review of Related Literature and Studies

Both fields of programming and designing in Information Technology area are important to ones improvement and understanding towards the betterment of his/her performance in either system making, software development, gaming making and other tasks. It is merely influential, nowadays, for a person to know these significant expertises to many people that surround him/her. The thing that others might think of him/her, is that, a person could be brilliant even if he isnt focused on one job only. Rather, he is more complex and challenged by the fact that he knows more things than them. In this research, as stated in the Chapter I, goes deeper in digging up the beneficialities and reasons why being knowledgeable in both programming and designing is more necessary than those who knows only one job. The main purpose of the Chapter II or the related literature and studies review is that, to investigate the previous researches across this field. There will also be an evaluation on how needed is the previous research for todays work. Many topics are discussed here, but the researcher focused on the effects of joining programming and designing at one and the difference of programming and designing in a lot of aspects for the people to learn their advantages over each other and advantages when combined as well. The researcher has found the latest article in this review entitled So Agile Together: How designers and programmers can join forces to create great experiences written by Andrew Wagner (2013), a software developer. Here, he points out that there must be no distinction between a programmer and a designer because in his experience as a programmer, he could be interested in both fields at the same time which the researcher finds to be an important attitude in being a multi-tasker.

The author here discusses six sub-topic or traits that both programmers and designers should have, these are: common ground or finding the similarity, attention to detail or keen observing, empathetic in nature, techies or technology-oriented and come together or unity. There is also this sub-topic entitled the common ground which means that when a programmer or designer finds the similarity with each others jobs, they can easily outweigh the differences in order for them to work effectively together. But in this research, the investigator believes that when a person has distinguished the difference of what he must do, t will be easier for him to multitask and can learn to work with other people. One characteristic is also discussed by Wagner that enhances after being attentive and doing great in technical and designing field. It is the agility of a person. The article also tackles about more important attitude of both programmers and designers. Designers must consider all edge cases and possible motivations in order to shape a users experience. Programmers have to predict all of the little things that can go wrong and account for them to prevent bugs. It is also stated that these two must be very detailed oriented and thorough. In such a way, they can both prevent mistakes from occurring. One must be place into each others shoes and be empathize with the persona of a designer if you are a programmer and into a programmer if you are a designer to analyze the experience that they will have. But in this scenario, this talks about two people that tend to understand his counterparts tasks. The research mainly focuses on one person doing two jobs at a time. When we say creativity between a programmer and a designer, we think of the designer as the winner in the creative aspect and the programmer is left behind. Wagner also points out that this characteristic which is for designers only must also be contained by a programmer. They must not only be logical and analytical thinkers but innovative as well. Creativity in programmers can be about devising new architectures and patters to get tasks completed faster, better, efficient and more stable.

People in the Information Technology field always become the stereotypical topic that we are technically oriented. However, another stereotypical difference about a designer and a programmer is that, designers are more people-oriented than those of the programmers because they talk to people or about customer preference more frequently than programmers who just write the code. Futhermore, some designers even learn how to program when they are around computers often and they get their jobs done faster. By being together, designers can move better from being a precursor to programming to an integrated part of the development process allowing for better iteration on both the technical aspects and the design. Designers will still be the experts on user experience and will be the ones innovating the interface, but they will do it alongside the programmers instead of in their own world. Also, programmers can be evaluating the interfaces based on the patterns they see every day and technical issues can be addressed earlier. In this article, the author concluded that all people in the Information technology field can all benefit from a more fluid and agile development process. Stopping seeing each other having different roles will eventually lead to the betterment of the results in our jobs and we can learn from each other and support them when needed. The researcher thinks that this article can be helpful in assessing the impact of knowledgeability in both programming and designing because it enumerates the positive characteristic that a person must have to be more productive and dynamic. Next article that will be reviewed here is entitled Youre already a good designer which focuses on the must-dos of a designer in order for them to learn the programming field. The first part tackles about the complexity of learning programming as a craft. The author uses an architect as an example of the designer that has a preset layout of your project which is to make a cathedral. Then you are asked to build this cathedral with only quarry, chisel, wood, rope and a saw. After that, he finished making the materials like hammer,

pulleys, rocks, platforms and scaffolds in order for him to finish the cathedral. Meanwhile, he will come to a point wherein he realizes that he still can make a design of his own rather than letting the architect wait until he finishes the job. It is just like a programmer who codes after the designer lends him the design. This is where the importance of knowing two fields comes out after realizing that you could do two tasks at the same time. At first, as a programmer, when you are just a starter in designing, the clumsiness in design will be noticed. So here, the author details the things that work for him to be a programmer. Before enumerating these ways, the researcher recognized that these ideas, as a programmer and designer doesnt only work in the Information Technology field but also in everyday life because a person cannot be intelligent (programmer) at all times without his good looks (designing). Frankly speaking, people nowadays dont look only into what you can do but also on what they first think you based on your appearance. Also, the reversal of it is necessary for the people who want to finish a job by being brilliant first and then, you make yourself presentable to others. Now, the first thing that must come to a persons mind before he can do designing is to be familiar with the implementation difficulty because it encourages compromises. It was said because the programmers tend to do the easy things all the time so they are sometimes bored on what they are doing. A quotation is also stated about this particular tip about designing is that, the paradox of learning is that the field is just so huge that you must admit you're not able to master it in your entire lifetime, the researcher thinks that this is one way of proving that even if a person is knowledgeable in one field, it doesnt necessarily mean that he/she should be perfect in it. The limitation of this research topic talks about certain knowledge or ability but not all expertise must be known in order to be classified as knowledgeable.

The author says here that a better way to do both jobs of programming and designing is to sketch on paper or to design then the programming comes after it. If there is something difficult to implement, asking the help of others is not harmful at all. People tend to learn from others so it helps them to be a better programmer in the process. The next tip that was discussed in order for a programmer to be a designer is the use of data modeling because it clouds a persons understanding of use cases and tasks. It sets the foundation for clean, understandable code. However, it also provides a data centric view of the entire project that you are going to do so the tendency that is going to occur is that, the interface looks like a hell model. Data modeling also shapes the mental aspect of a person wherein he/she becomes aware of how an interface should work properly. But the problem here is that, people dont understand why this is necessary and they let the programmers be left behind and be focused only on the public side of the application so it is obviously painful to the backend administration systems. The use of case and tasks escapes the mental mode contamination of a person. As a result, duplication and redundancy will not be seen in the good data models. The information needed will be already placed on where you need it, not where the data model dictates it should be. Where does the designers designing talents and skills come from? Some people will give you an advice you to observe things carefully and notice the details. But this also goes with a person who learns how to draw. It is just like a programming advice because it uses logical aspect in the sense that these people dont know what theyre supposed to be looking at. The explanation about this advice is still not justified because the designing skills is said to be based on experience. Design is a discipline itself, people who want to be engaged in designing must be related to arts syntax and procedures and it looks at the interaction between the user-interface and the user itself.

After knowing and applying all the tips in being a designer, you can now assume that youre already a good designer. Once you have the creativity, take note that the popular conception of creativity is harmful to good design. It is not the typical colourful and artistic creativity, it relies on established conventions in order to function. There is a time and moment to innovate, but it should never be done for innovation's sake. Creativity is being able to create things. Objects that can be shown, discussed and built upon. In this sense programmers are much more creative than many so called creative professionals out there. One advantage when a person knows designing is that, their systematic mind is used. A designer cannot just design an object depending on their clients preference but also, on how the rest of the design looks. This is something that takes many years to mature in a designer, because the relationship between visual elements is not as obvious as it is in code. The author is not only talking about consistency, but the profound understanding that each element competes for attention, and that by making an unimportant element "shine" you are detracting from the rest of the elements. As said in the first article, the consistent tip on how to be a good designer is that, you must have attention on detail. Every designer and even programmer must know that the details make the product itself. This also talks about the programmers discipline on how they format their coding, how succinct the comments are and how evidenced is the structure. So as a starter in designing, design education is quite different from other disciplines. It needs to be so, because design is concerned as much with skill acquisition as it is with knowledge acquisition. It is project oriented, because that is how design is professionally articulated. Design is not subjective, as people often say, it's meant to solve a problem, and the problem may have different solutions, some better than the others.

The actual structure of design education is centered around the design critique: the teacher explains some concepts, then asks his students to articulate something visual around those concepts adding some constraints, and then the final work is discussed as a group. One of the impacts of being knowledgeable in both programming and designing can be seen in the following topic entitled Web Design: The void between programmers and designers. The researcher thinks that the most important relevance in this article to her research topic is the section that talks about the availability and increasing of demand in the Information Technology field. So programmers and designers must work together. It has been said that the best results and happiest clients are related to how well the design or programming companies work together. In this scenario, the programmer and designer are the companies that specialize on these. The best way to move forward and stay ahead is to find a reliable partner, be it programmer and designer who are willing and able to collaborate with you when needed. Once you have developed a relationship with the other, its easier to get comfortable in the situation. However, this is one of the reasons why designers and programmers are so puzzled by one another. So, to solve this, designers and programmers must be constantly looking into new ways to help each other out. Usability and accessibility are the things that should be considered in designing and functionality must be reflected in programming. The researchers basis on doing this research study is the theory of when a person codes, he cannot design and when he design, he cannot program. Basically, the following study review supports this assumption and the researcher finds this topic contradicting to the researchs outcome but she still insists to get this article about the Designers are not programmers to see the difference on what the specialized person can do more than the multi-tasker person.

Mitch Kapor once quoted that Designers must have a solid working knowledge of at least one modern programming language (C or Pascal) in addition to exposure to a wide variety of languages and tools, including Forth and Lisp. Lukas Mathis, agreed on the idea of Joel Spolsky that It helps, as a program manager, to be pretty good at coding yourself. This is unfair. Program managers arent supposed to write code. But programmers tend to respect programmers a lot more than non-programmers, no matter how smart they are. The author believes that being able to program can be a negative attribute for people who are responsible for designing the user experience. Designers who know how things are implemented or, even worse, which have to implement their own designs are in danger of impeding the quality of their designs. They are tempted to take code into account when they should be concentrating on the best possible user experience. Being able to program corrupts your ability to focus solely on the human. If you know how to code, you will need to learn to ignore the code if you want to become the best user experience designer you can possibly be. Here, the author also discusses that negative effects of being a designers who are also programmers. He claims that even the designers who work with programmers and those who are previously described can cause issues. He stated two reasons why doing two jobs at a time (programming and designing) can cause disadvantages: first, the user interaction designer is compromised because designers may make premature decisions which should be left up to the programmer, who has the full picture of the code base and better knowledge of the technology. In the second case, he is compromised because he has two contradicting goals. Designers, as described in this article, create for humans; programmers create for computers. Working together, they can create a holistic solution.

The best designs are a result of friction between the designer and the programmer, of divergent goals which combine into the optimal solution through discussion and iteration. If you try to accommodate the programmer prematurely, you will avoid this friction. This may be convenient, but will decrease the quality of the resulting solution. A little knowledge is a dangerous thing; you can never make useful educated decisions when you only have half the picture. User experience designers should design the best possible user experience and let the people who have the full picture of the code make the best possible code decisions. Come up with the best design you can possible create, and let the programmer surprise you with how far he actually gets. However, the other kinds of designers that are tackled in this article are the designers who implement their own designs. If the designer implements his own designs, he is beholden to two different goals: Clean code and great user experience. These two goals contradict each other. If you have to implement your own designs, youre bound to compromise for the sake of code quality, which is bad for your interaction design. Designers who implement their own designs face two issues: They know when a neat new idea will create messy code, and they know about all the existing code that would be touched by a change to the user experience. When you have a nice user-interface as a designer, you would have a messy code as a programmer and when you write code, your goal is to create a clean, maintainable, readable code base. When you design the user experience, your goal is to create a human-friendly application. The two goals are at odds, because the user experience is all about the little details, and those little details all end up being messy bits of code you would rather not have to write. The best possible code is code with the least amount of user interface. This is why programmers love command line utilities: its all functionality, without any of that ugly code which improves the human experience.

If you write the code as well as creating the design, you will know about all the code youve already written. When coming up with new ideas, you may realize that the change in the user experience would require significant changes in your existing code base. This may encourage you to dismiss your new idea. Compounding the problem is the fact that designers who write code are often tempted to forgo the whole aspect of programming. They will come up with an idea and, instead of writing it down in a natural language, write it down in code. And theres nothing wrong with that. But this does mean that they will quickly have a lot of existing code early in their project cycle. If they value their code, they will often go with the first idea they came up with, because that was the first idea they wrote down in code. If you dont go through your iterations when establishing the spec, youll go through them when writing the code. Youre not avoiding work; youre shifting work from a natural language to a programming language. Getting attached to your existing code will hurt your ability to improve your application. Changing the user interface for the better will often require throwing away perfectly serviceable, beautifully crafted code. So dont let your existing code stop you from changing the user interface; dont get attached to your code. At the same time, you cant cut corners when writing code, because the code you originally wrote just might make it into a shipping version of your software. Of course, designers who know how to code also have advantages. They do make the programmers life easier. Having a better idea of a systems constraints, they dont submit impossible designs. And if they implement their own prototypes, they can iterate quickly instead of having to collaborate with a programmer. Code is executed on a machine, but the interaction design is executed on a human. You can get the machine to do whatever you want, but the human has a mind of his own; you thus have to optimize for humans, not for machines.

Knowing how to write code can be a hindrance to people who are designing the user experience. It disrupts their ability to focus on the user, and knowledge of the existing code base will impede their ability to make changes which require major rewrites. Do not force user experience designers to learn how to code. If you already know how to do both, you need to learn to ignore the coding side of things when youre working on the user experience. And if you dont do much work on specs, instead preferring to go straight to code with your user experience ideas, you need to be prepared to throw out a lot of perfectly fine code. If you know how to write code, if you know how your design will end up looking in code, you have to be careful not to let that knowledge constrain your design. The relevance of this topic may be seen in terms on website development. In an article published on 2009 by Sparks Will Fly blog, the difference between a programmer and a designers job is classified. First, the important aspects in being a web designer are creating the graphical layouts seen in the website. They make the outstanding wow effect in the first impression. Also, designers are not really interested in web standards as long as the design stays true as possible and they are familiar with Adobe design suite or other graphical tools. The risky side of being a web designer is that, they may know only a few knowledge of the servers work or dynamic scripting even though they have some knowledge in basic HTML / CSS. If web designers will have a copy of the dreamweaver, that will only get them in trouble. Secondly, the relevance of web programmers can be noticed by their expertise in the server side languages such as PHP / MySQL, ASP.net / SQL and many more. In addition to this, they can be expert in the client side languages like the javascript. Programmers merely dont have an eye for design despite of having a copy of Adobe Photoshop or other graphical tools. The best thing that programmers could do about design is to make skeleton and plain layouts and its up to them to care about web standards.

In this research, we are looking into the impact of being knowledgeable of a person in both programming and designing. When it talks about the web, a developer may consist of the expertise of both coders and designers. Lastly, web developers are typically a hybrid of both of these. They dont only pose into being a programmer or the designer. Caring about the standards, clean code, clean design, best practices, latest trends in general web design scripting and development are their simultaneous tasks. The effect of being a web developer is basically to get two works done by one person. The author concluded that a two-person team consisting of a good web designer and good web programmer or one or more solid web developers would ensure that any site will look good and function properly as well. For a person to be well-motivated in his job and in order for this person to be linked into designing, a relevant article about the costs and benefits of being a web-design specialist is reviewed by the researcher. Kenn (2011) first enumerated the five risks of being a designer as compared to the general world: there are loads of competition, you wont know where to go to easily find clients, selling takes longer, projects take longer and that you may lose to specialists. Having many competitors, most web designers are generalists with a laundry list of things they can do and claim to be good at. Therefore, if you are just settling for less, and doing the same with the rest, youll be lumped into the pile with all the others. How will the client be able to pick you out as the obvious choice? He wont and you dont get the work because someone who does exactly what you do and do it cheaper. You wont know where to go to easily find clients. As a generalist, your approach to finding clients will likely be general as well. Youll probably attempt to post your link on job boards, try to add a lot of friends to Facebook, and if youve got the guts, you try and venture off to some local business networking meetings to drum up business. Youll find that this approach results in so-so interest as these places dont have clients who are actively seeking

a web designers. These avenues are just places where some possible clients could be not a place where clients are hungry for a web designer. Another disadvantage of being a designer in general is that, selling takes longer. When you find prospects who are interested in talking to you, it will take a lot of time for both you and the prospect to identify exactly what work needs to be done, a lot of time for you to determine what youre willing to offer as a solution. Youll also need a bit of time to gain tier trust as this prospect is probably someone who came out of the blue. You both dont know each other well as theres no prior common ground that you two can establish trust from. Getting to an agreement to work together will take a lot of time. Projects also take longer. When you do find clients, you will require a lot of time to serve them as their situation will not likely be something youve dealt with before. In the huge universe of clients out there, each one has a unique business, unique set of challenges, unique set of skills, and unique set of goals. In order for you to help each client that comes your way, youll spend a lot of time learning about them and developing website services to fit them. Unless the client has deep pockets and youve got a lot of time on your hands, a longer time to complete projects means unhappier clients and a lower hourly rate. The last hindrance of being a freelance designer is you lose to other specialists. As time goes on, web designers are finding their specialty and gaining position in those various markets. When a prospective client who is considering you runs across a web guy who already works with clients in a business like his, youll quickly become a less desirable choice and youre likely option to deal with it would be to lower your rates which will be not good. The following are the benefits of specialization in designing according to Kenn (2011): find clients faster, costs less to market to them, word of mouth spreads faster, you sell faster, you charge more and you will get work done faster. When youre specialized, youll know what kinds of clients you want and where these kinds of clients hangout. Youll be able to get in a room full of them very easily. Youll be able to find them online in a forum or blog, loads of them. Therefore, youll find clients faster.

Now that youre a designer, the costs will be less to market to clients. For example, instead of general advertising like an annual listing on some random business website and getting a few random bites over the year, youll be able to list yourself as a speci alist within your market and market as a valuable resource and this is often free. Word of mouth spreads faster. As you work with a few clients in your market, they will spread the word within the group. Its especially great for web designers because as you do one site for a client, just ask the client to share the site with his peers. Hed most likely be thrilled to do so especially if youve done a great job. You sell faster. As you become well-known to the group, and better at delivering sites to them, your perceived and actual value goes way up. People will hire you without much hassle. It goes fast. You charge more to clients. As the obvious choice web designer, people will not be able to hire low-cost designers because the risk of getting a bad site will be too big. Thus you can charge more and easily get it. You get work done faster. Again, as you become proficient with your specialty market, youll get work done faster and easier as much of it becomes copy and paste. You can even hand off work that you dont like to a subcontractor, thus freeing up more of your time for social life. The researcher also reviewed some articles regarding the pros and cons of being a programmer in many aspects, such as social life, physical aspect, financial stability and many more. Before, a person can code, he must first know up to what extent the programmer is doing. In an article entitled What do they do?, the jobs of a programmer are listed as these are as follows: writing programs in different language, updating and expanding existing programs, debugging these for testing and fixing errors and lastly, building and using computer-assisted software engineering tools to automate the writing of some code. In constrasting the advantages of being a programmer, Martin (1992) has itemized the advantages of being a programmer. The researcher thinks that his listings will generate a

better idea for her research topic because as in her statement of the problem in Chapter I, the same categories there appear in his article. The first and the biggest pro of workers as computer programmers is the salary or pay. Computer programmers, who write computer code that enables a computer to perform certain tasks, work in almost every industry you can imagine, including the engineering, educational and medical fields. Computer programmers work under an assortment of titles, including system analyst, web programmer and application programmer. According to the article, starting salaries in the computer programming field in January 2012 range from $59,000 to $112,000 per year. Some companies that do not employ computer programmers are willing to contract their services for as much as $100 to $400 per hour, according to Ask IT Career Coach, a career informational website. Also, according to the website entitled Computer Programmers, this is one of the wellpaying jobs which range from $60,000 to $100,000 and more. Martin (1992) also enumerated flexibility as one of programmers advantages to others. According to him, if you opt to pursue a career in computer programming as a freelance contractor, you neednt lease office space or chain yourself to an etched-in-stone work schedule. Computer programming is a career that can be performed from anywhere you can carry a laptop computer and that gives you access to the Internet. If you are employed by a specific company as a computer programmer, you are also typically given a lot of flexibility to complete jobs from home or to maintain less-than-regular work shifts, as long as the projects you are assigned are completed on time. Another insight from the computer programmer website, as a programmer, you determine your own destiny for the reason that, no career limit for talented and hardworking people are given. You can develop your own software product. Even if the website doesnt add it to flexibility, the research thinks that this benefit is associated with flexibility. Training as a programmer is one of the main reasons why programmer job is good. The Ask IT Career Coach website reports that entry requirements for computer programming are low, which means you dont need to embark on a four-year college degree path to get into

the profession. Some computer programming training programs can be completed in just six months. In many instances, motivated individuals have taught themselves the skills and computer languages needed to land a job as a computer programmer. Although a college degree in computer programming is likely to give you the upper hand in the job market, many employers do not require a degree. But the researcher thinks that this topic about training is not suited for the programmers nowadays. We have to be a graduate of Information Technology, Computer Science, Office Management Technology or Information Communications Technology before we can pursue a programming job. It is not necessary enough today to be inclined with seminars for you to take the job because inexperienced persons may lead to failure and disappointments. The author sited an advantage and lastly, demand and job security is featured and he says that job security is an advantage enjoyed by most computer programmers. Computer technology advances at a fast rate, keeping the demand for computer programmers at a high level. If ever you lose your job as a computer programmer, chances are you wont be without a job for long. In essence, as long as society relies on computing technology, there will be a demand for computer programmers. Again, according to the website of Computer Programmers, multiple career options become the benefit of programmer job. It will also help you to prepare for other careers related to technology. Casinger (2010) stated the importance of computers to ones job especially to programmers. He says that, in the world of modern technologies and progress, it is impossible to imagine our life without computers, as every job requires some skills of working with computers. Profession of the programmer is very useful in this sense, as it gives the opportunity to master and improve such skills day after day. In addition to this, the author also discussed the awareness of modern technologies in a programmers life because it gives an opportunity to be aware of the latest news of the world of modern technologies. Also, being a programmer means that you are able to have a constant access to the Internet. Internet is the best source of any information.

The Computer Programmers website also says that high job satisfaction of programmers is achieved in the reason that, they tend to use their creativity and mind when performing their tasks and because they possess computer skills. According to Miksen (2007) of Demand Media, there are four disadvantages of being a programmer, and these are health risks, long hours, change and job growth. The reasons behind these are first, speaking in terms of health, programmers work indoors in front of a computer for the vast majority of their workday. They'll find themselves sitting in a chair, tapping keys and clicking a mouse button for several hours straight, which can lead to musculoskeletal pain and disorders as well as eyestrain. An ergonomic chair, wrist cushions and regular exercise throughout the day helps alleviate some of the negative health effects, but it's difficult to offset all the risks that go along with a sedentary job. Computer programmers website also sited health problems to be the main disadvantage of a person who does the codes because they spend a lot of time sitting, typing in front of the computer and the wrist, eyes, and back may cause some pain or injures. Secondly, Miksen also considered long hours because the U.S. Bureau of Labor Statistics notes that most programmers work roughly 40 hours per week, but the Bureau goes on to say long hours may be required to meet deadlines and fix unexpected problems. Those deadlines and unexpected problems have given birth to a term known as "the death march." Software engineer and author of "Death March," Edward Yourdon, explains that the term refers to a project that calls for its team to put in double the hours they normally would -- a 40-hour week turns into an 80-hour week. The doubled workload can last for weeks or even months and strain a programmer's professional and personal life. Thirdly, change is also a threat in the sense that nothing remains stagnant in the field of technology. Everything's constantly evolving, dying off and being cast away in favor of the newest, more efficient electronic toy. Becoming an effective programmer means having the ability and desire to learn new languages, pick up and apply new concepts and adjust to new tools. Some people may see this need for adaptability exciting, but those who don't like sudden and constant change won't enjoy this particular facet of being a programmer.

The researcher recognizes that the Information Technology is really fast-paced. A programmer should be comfortable in learning new information quickly and competently and he must be a good learner and reader for them to keep in touch with the new arrival technologies and computer upgrade. Miksen (2007) lastly enumerated the job growth to be the last hazard to programmers. He thinks that programmers don't have great prospects for job growth. While the Bureau of Labor Statistics expects available jobs for programmers to grow 12% from 2010 to 2020, about as fast as the average for all occupations, the position lags behind the average for all computer occupations, which are expected to grow 22%. The Bureau of Labor Statistics also notes that because the occupation isn't location-dependent, companies in the United States often outsource programming positions to countries with lower wages.

You might also like