What Do Web Application Architects Do?

Web application architecture is a popular topic these days. It is also a very misunderstood concept and often mistaken with “Web Design” or “Web Development”. To the non-technical mind all the pages on the internet are websites, and therefore it would be a web designer’s job to “design” them, or perhaps a “Web Developer” who can can write some programs and all of a sudden build the next social networking website with all the snazzy features!

The same misconception is directing many web application architecture projects to the wrong hands. Clients don’t go to the dentist to have their eyes examined, but they do take a web application project to a design and advertisement company and the failed results leaves them angry and frustrated, because what they have received despite the shiny and sleek look comes short of the business and technical specs.

A good portion of my income, is generated by fixing those mistakes, and every time that I do consulting and development for a frustrated customer, I wonder why and how their software development project ended up in a design and advertising firm to begin with!

There is a change happening in the market, and design firms, who have been the primary sources of web solutions for the last decade, aren’t so thrilled about, yet not willing to point the clients to the right development team. After all, who would want to let go of an attractive business contract?

This article is to better explain a Web Application Architect’s job description and the current state of web application development market.

Continue reading

What is Business System Analysis (BSA)?

Absence of a Business System Analyst is often the reason that relationships between Business People and Programmers go ugly. Most of us have heard stories about business people who bring a project to programmers, and later on the project is either delivered late, or comes short of the specs. That’s not always the case specially when the Programmer does a good system analysis job during the project, but again not every programmer makes a good system analyst.

Photography by Rastin Mehr © Some rights reserved

In larger organizations, System Analysts make the communication between IT and Business departments possible. In the absence of System Analysts this relationship becomes gradually dysfunctional, until at some point one department manages to dominate the other in the power hierarchy. During this struggle, people on both side become overworked, undermined, and frustrated. Eventually, the excessive loss of resources and lack of productivity could bring down an entire organization.

What System Analysts (SA) do, is to study a business model, break it down to smaller bits of tangible information and understand how they should be processed. Then, these bits of information are compiled in the form of documents and visual diagrams ( UML, ER, IA Garrett ) for Programmers to comprehend and follow. It is impossible to put down every detail of a project at the beginning, that is because designs usually change as the project moves on and by the time the project is finished it probably has little in common with the original specs. Despite that, the initial documentation could provide a development team, a good starting point and a big picture view.

Continue reading

Computer Programmer’s Skill Set

Photography by Nelson Pavlosky some rights reserved.

Programmers are intelligent people with sophisticated mental abilities. If you are planning to hire programmers and some of the descriptions in this post did not completely make sense, it would be a wise idea to consult a Programmer or Computer Scientist to help you find other good programmers. The follwing are some of the main important skills aquired by many quality programmers:

Continue reading

Common Myths About Computer Programmers

Computer Programmers are often viewed as introverted people with poor social skills who spend long hours working in tiny cubicles. This image has been further elaborated in pop culture and movies too. Well, there might be a hint of truth in that, however it should be taken with a grain of salt.

Photography by Kanaka Rastamon Some rights reserved.

Good programmers are required to understand the needs and wants of their clients or employers in order to write usable programs, and that can only be achieved when programmers maintain effective and clear communication with their peers and other stakeholders within an organization.

Continue reading

A Programmer’s Training Background

There is no unified and standardized source that Computer Programmers learn their magic from. I have tried summarizing them in 3 main groups, but I’m absolutely sure there are many exceptions to that. What matters in the end is a programmers knowledge and ability to write amazing software and programs regardless of where that knowledge is coming from.

A Programmers Training Background

Depending on the education and training background, a programmer could belong to one of the following groups:

Continue reading