The views of this article are the perspective of the author and may not be reflective of Confessions of the Professions.
The Power Of Imagination
Being a developer can be a blessing and a curse: the endless thought process involved in dreaming up things that do not yet exist or improving upon things that already do exist. It is a blessing because it can mean advancement for human civilization and even some profit in the works and hopefully a means of making a living and even early retirement. It can also be a curse because those who are closest, friends and family, hardly understand all the thought processes involved that are constantly going on in the mind.
The inability to sleep is often mistaken for insomnia, when in reality, it is the mind that cannot unwind because there are things it has to do, think of, brainstorm, and it is never ending until the mind exhausts itself and sleep is finally welcomed involuntarily. If it were not for exhaustion or the need for sleep, the mind would keep going endlessly.
A developer has the power to envision the design, application, and functionality and imagine it in his or her head before it is ever seen. The best developers often will spend hours researching and understanding what it is their application should do. They imagine the functions it will contain in order to make things work. Before diving into code or graphics, a developer must know what the purpose of the application is and begin to develop ideas of how it will look.
A developer will spend time understanding what each page contains, what it has on it, how it should look, what it was meant to do, and what it should do. Most developers run the “process” of the application in their head, when coming across certain areas of the unfinished project.
Aside from developing an application, most developers nowadays must pay more attention to the extreme details of being a user-friendly program. A developer must not just think logically, but have an eye for design, in which he or she must become a specialist in UI and UX development. User interface development entails a more aesthetic look that is appealing, yet functional. User experience attempts to make sure that the user has no issues in using the application, and might even find it easy to use.
Far too often, with outdated applications or old websites, the design is kept for fear that any change might cause outrage, though customers are likely to be thankful. Even those who enjoy using an outdated interface are likely to adopt a new look, new features, new functionality, and of course, the personality of the application.
A developer gains experience with each new project he or she develops. Whether the developer works for a company, has clients who have their own visions, has their own startup with a co-founder, or simply designs their own products for fun or for profit, it is the developer who must bring those visions to reality. Once the reality is seen, far too often, clients or the co-founder have another vision or had another idea of the way it should look.
Years ago, it would be that clients or even the co-founder with less experience often lacked vision and left it in the developer’s hands. However, with the upbringing of Internet and expression of creativity, clients and co-founders no longer take a backseat to the developer, and now the developer must do as envisioned with input from other parties.
Often times, this certainly can lead to disputes, as developer might not believe that is the correct way to do it, but for the most part, clients often have a very good idea of what they want, how they want it to look, and what they want it to do. Co-founders and developers will often come to a compromise and agreement about things.
It is up to the developer to take a back seat from their own imagination and listen to the boss or co-founder for additional ideas. Fortunately, for many developers, having side projects is often their way of expressing their creativity, designing their own products, and understanding the world of entrepreneurship and business.