|
|
|
|
|
by btilly
1964 days ago
|
|
In other words you're saying that "software architect" exists as a role in these organizations because bad organizational structures create problems that it is a band-aid for. And I'm saying that the band-aid doesn't work that well, and you do better if you fix the organizational structure to not need it. And furthermore, as a developer, those organizations are no fun to be in and you can't pay me enough to want to deal with them. Particularly not when I have the option of finding better organizations to be in. Which adds to the problem. When good developers choose not to be in your company because your company is a disaster for developers, you don't get good developers. Which reinforces the idea that developers aren't that good, and causes them to try to put guard-rails around developers to prevent the problems that bad ones cause. Thereby creating a negative reinforcement cycle. |
|
. Developers that are mature but lack proficiency because they don't care about software development
. Inexperienced developers that lack, well, experience to make proper designs
. Absence of domain specific knowledge when company tries to shift it's technological gears or switch to new domain/market all together
. Problems in communication and planning between dozens of teams/services that build together 1 product that must work in unison perfectly, yet it's hard for each team to know architecture/plans of all of the other teams and properly consider it during development
. Absence of ability to see "the big picture" by individual teams and take it properly into consideration
. Just a general jack of all trades that will compensate for bad product/project/program management, will establish proper processes, etc.
As part of this you occasionally can revamp organizational structure and leave company in much better shape, but it requires a lot of work that you, as architect have no authority to do :)
> And furthermore, as a developer, those organizations are no fun to be in and you can't pay me enough to want to deal with them
One of my last jobs was in company that I literally sweared to never work for. They gave me a shiny title, 50% raise of already top salary in industry that I had, yet what really sealed the deal was manager who wanted to try to do something new. Even though it was at times horror show, at the end of the day it was probably most fulfilling position that I had due to a sheer volume of things that I managed to change. And we also delivered totally new product, first in industry beating all the competition to market, including companies that were supposed to be market leaders in this area.
>Which adds to the problem. When good developers choose not to be in your company because your company is a disaster for developers, you don't get good developers.
The issue is that really good developers are rare. Developers that you can delegate to them and sleep well at night are a rare commodity on the market. I been working in dev for 25 years, both in startups and in established companies and I maybe know only dozen of people like this. Unfortunately, most of the developers on the market are in it only for money and don't really care about what they are doing.
Also, as anecdote, at this ^ job place that I described, in order to work around bad reputation of the company I suggested to create daughter company with a different name that will be operated independently in a different location in order to try to get better developers. We were a few steps away from closing on office lease before management bailed out because they were afraid that it will upset employees of the company