📜 ⬆️ ⬇️

Designer, Architect and Developer

Over the past six years, I have succeeded with my three companies (Cube6 Media, Gravatar and GitHub), and failed with a couple of other projects. I thought a lot about how things worked out, and identified 3 main roles that are needed to create successful web applications: designer , architect and developer .

In college, I spent a lot of time in a room with a dull red light, immersing film and sheets of paper in reagents. I inserted negatives into a photographic enlarger, and printed images on paper. It impressed me. Every time I turned on the bright light of the projector, I remembered the saying: “Photography is nothing more than drawing with light . Think about it for a second. When we look at the photo - we see only the light that fell in the frame. No flashes, soft boxes, reflectors and backdrops will help you take a good photo if the light they create or reflect is not directed correctly. Bad light is a bad photo .


I think this metaphor is good for web development. Adapting what was said to our situation, I would put it like this: “A web application is nothing more than UX, created by a designer . The user does not see the technologies that you use in the project, and does not know whether you use flexible methodologies. All that the user receives is the interface on the screen. It is very important that this interface is not confusing, it looked good, and had no problems with spelling. Bad User Experience is a bad application . It's simple.
')
Good design is created by good designers. Someone on your team should not only be able to create beautiful interfaces, but also make them convenient for users. I can’t find words explaining how important a good interface is.

Well, first, the design. It is design that determines exactly what you are creating. After that, you have to figure out how to implement this idea. Here the architect rises on the scene.

You need a person who is well-versed in technologies: databases, frameworks, messaging systems, preprocessors, and so on. The choice of technology that you must make at the very beginning will influence your company for many years. The wrong decision can easily turn into a disaster. The task of the architect is to select the best technologies for the job, as well as to determine when you need to create your own tools .

Also, the architect should be ready to scale any system components when you begin to attract users. There is a very thin line between the premature optimization and the system that is choking in front of thousands of new registrations. A good architect always lays the groundwork for future scaling a step further.

Design and architecture determine what and how you are doing, but you cannot do without a person who will implement this design in life. The role of the developer is to implement the ideas of the designer, without going beyond the limits of architectural constraints . In addition, the developer must monitor the quality of the code, and get rid of crutches. Inaccurate development will later result in a huge effort spent on supporting bad code.

All three roles - designer, architect and developer - can be performed by one person, but more often the roles are divided in a group between two or three people. In fact, the best teams are those in which each participant represents a certain combination of roles. This helps create an environment in which good informed decisions appear.

PS: I selected the most interesting phrases in bold.

Source: https://habr.com/ru/post/200746/


All Articles