Every software architect has played the role of a software developer, but very few software developers will get the opportunity to play the role of an architect in their future. Growing into an architect or at least a good one takes years of dedication to technology, its concepts and emerging trends as well as guidelines. There are too Arsitek pekalongan little decent architects out there and at times the shortage of architects is quite alarming. Alarming as it may be it is still not too surprising though since we all know the abilities and skills expected of an architect may be demanding these days and are very rare to possess. It’s quite a stressful, responsible and critical role in an organization that is required to drive projects towards success. Even though there is a huge demand for quality architects in the market they still remain a tight breed and they come at an rising high cost. This article references how a corporation can change its structure to treat the underlying issue for shortage of top architects and focus on developing home grown architects rather than depending on high cost lateral architects.
- The Universal Structure
The main aspect in a software organization is the standard of its software developers. The second vital element is how these developers are shaped into having an architect’s mindset for the future. In most organizations’ structure the developers’ core skills get lost amongst the various duties and responsibilities he must perform as he climbs in the professional corporate. This universal structure that consists of software developers, tech leads, business analysts, project leads etc. leads to the dilution of technical skills and the resource seems to lose focus on areas that she expected to concentrate on.
This leads to the creation of generalized resources rather than resources with specific skillsets. Even in organizations that focus on creating technical channels there is too much overemphasis on specific roles within each stream that basically dilutes the quality required of a good actual architect. Most veteran enterprise architects will tell you that there are only two kinds of technical resources i. e. 1) Developer 2) Architect, devices in between is a pure cost to do business and results in dilution of the qualities required by a good technical resource.
- The Basic Structure
Very few techies these days have the pure raw passion for html coding and development. A harsh the reality is that most software engineers are keen on working just for 2 years as a software developer before flowing to a management school. The even harsher the reality is that a lot of software development abilities get lost in the unnecessary hierarchies built in the various channels in an organization. The technical skills of a resource seems to lose priority and techies are expected to fight lead roles and management duties as well. Whilst those channels are absolutely necessary for those people who are keen to pursue management channels, a conscious efforts should be built to preserve the core techies from getting swept away by such channels.
Core techies are a rare breed and need to be nurtured and preserved if a corporation aims to generate their own variety of competent and well versatile architects. Simplifying the business structure or at least the part that applies to technical channels is the most important step up achieving this goal.
- The way Ahead
Simplifying the business structure in no way means scrapping out the current structure since those too are very crucial for producing the next brand of management, solution architects and business analysts hence these channels have evolved. However it is important to modify the channels that are meant to generate core architects for the organization. As mentioned earlier, core technologist considers only two basic hierarchies in the technologies stream i. e. you are the developer or an architect or both. All the other levels in between serve as outright hindrances or filtration systems that decrease the qualities required as a strong architect.
An architect is someone who has stayed very close to development for many years before he goes on to create conceptual designs for systems himself. It is imperative for him to be conceptually very good and this can happen only when he’s “been there and done that” himself. Most technical tracks or structures give various other roles to techies together with UML modeling, designing, some even involve requirement gathering etc. These tend to divert the architect away from html coding thereby worsening one’s concepts gradually over the years. Gradually html coding complex architectures when you are a developer for all so many years is one of the best ways to gain a proper insight into the buildings domain from the inside out. Some of the ways to easily simplify organization structure depending on technical channels are explained below.
- 1 Continue with only two roles in technical stream
There should be only 2 major roles in a technical stream I. e Developer and Architect. The main reasoning behind this is that we would want to develop architects who are fresh with html coding and have not been out of html coding from past many years. When architects are out of touch with html coding they become ‘conceptual architects’ rather than ‘practical architects’. ‘Conceptual architects’ are an extremely dangerous breed simply come up brilliant architectures that might be altogether un-implementable or may not be what is actually required. This is one of the major reasons for project failures and disasters especially from a technical understanding. However having technical resources are developers prior to the very last stage before moving into architects helps prevent the production of these ‘disastrous’ architects but instead develops well round, grounded and practical architects who are not afraid to roll up their masturbator sleeves to get the job done during production and go live scenarios.
- 2 Develop multiple bass speaker roles for the developers
Developers should have fulfilled multiple roles, all of which are related to html coding before moving into an architect’s role. These roles are executed to ensure that the resources work on different factors of a project. The most common mistakes that happen in technical channels in several organizations are that technical resources are indeed issued multiple roles as he develops the corporate but those are mostly in areas around design, requirement gathering and other active documentation related activities. This results in technical resources having less time to exercise a concentrated effort on html coding and on understanding the ins and outs of different architectures they are working on. For example: developers with 1-3 years on experience can focus on low level html coding activities like program, agreement, front end business judgement etc. resource with 3-6 years’ experience can focus on html coding on business classes, business judgement and data exchanges between objects, resources with 6-9 years of experience can focus on html coding the framework, overall buildings and common reusable components.
Having such roles defined ensures that the technical resource remains as close as possible to html coding before he transitions into an architect’s role.
- 3 Versatility on multiple technologies
It is very important to ensure that the developers who try to become architects work on numerous technologies. This helps give the developers a better insight on the architectures in numerous technologies. It also broadens one’s perspective in numerous methods is difficult to describe. Working on multiple technologies help architects to understand “real world” problems better and equips them with a better capacity to order practical architectures for the same.
In conclusion, all we need to do is have a minor change in our thinking and perception of the technical stream and restructure the same to experience huge benefits in terms of cost and productivity. Change is the only constant in life and we must change and adapt our structures as well to higher suit the modern requirements. By doing such kinds of minor restructuring within the technical channels in an organization we can help develop an architect engineering machine within the organization that will help us save costs and design better and more practical solutions whilst churning out efficient home grown architects thereby reducing the business dependencies on high cost lateral employees.