TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Enterprise Software Projects Killed the Software Developer

150 pointsby javahippieover 3 years ago

16 comments

usefulover 3 years ago
Elegant and clever code wont live through a maintenance cycle.<p>I&#x27;ll take a software developer who writes and structures code so change requests and code are written in a way that the DSL is the same across the organization. This makes changes easy. Clever people should be writing libraries or doing research.<p>Don&#x27;t kid yourself, you are either the guy who builds the building and its easy because its greenfield, or you are doing remodeling and the hard part is making the upgrade fit in the building and not look like shit.
评论 #28359670 未加载
评论 #28360627 未加载
评论 #28363491 未加载
评论 #28363089 未加载
评论 #28369114 未加载
评论 #28359741 未加载
mirekrusinover 3 years ago
The best enterprice architects I worked with don&#x27;t know shit. They can plot 3 boxes with 4 arrows and call it a day. They can take credit for working system, it doesn&#x27;t matter. What really matters is that they don&#x27;t waste time on useless preplanning, don&#x27;t give you (as tech lead&#x2F;senior dev) solutions to implement, but problems to solve. They don&#x27;t know how to solve integration problems, but they know how to click to schedule teams meeting with people who take care of those systems. Solution is usually easily agreed between tech people during those calls&#x2F;folloups. Architect is able to wrap it in power point presentation with 2 boxes and 1 arrow and call it integration solution. It sounds like a joke, but I&#x27;m serious.
评论 #28363740 未加载
评论 #28362288 未加载
评论 #28363821 未加载
评论 #28363703 未加载
评论 #28361587 未加载
avmichover 3 years ago
There was that interview with Peter Norvig - <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=_VPxEcT_Adc" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=_VPxEcT_Adc</a> - I believe there he said something roughly like &quot;before programming was about composing algorithms, structures etc. - and engineers used ideas from SICP - now it&#x27;s about composing 3rd-party libraries and solutions - and engineers don&#x27;t read manuals, don&#x27;t worry about how systems work internally etc.&quot; Pardon if I stretched the meaning too much.<p>I think this more modern approach has some important pitfalls which we&#x27;re uncovering now and getting hurt by them.
评论 #28363751 未加载
评论 #28361991 未加载
评论 #28363014 未加载
lamplovinover 3 years ago
Why would it be a problem to write code in a way that&#x27;s easily understood by others reading it? If your code is so complicated that a little bit of documentation can&#x27;t explain it or at least help get people started then you&#x27;re probably being too &quot;clever&quot; with your code and need to simplify it a bit. Simple code doesn&#x27;t mean it has to be under-engineered or non-performant, and creating a culture that doesn&#x27;t take the time to help others understand what&#x27;s going on is how teams get to the point of depending entirely on 2 people to do all their enhancements&#x2F;fixes.
评论 #28358268 未加载
评论 #28359188 未加载
评论 #28359977 未加载
评论 #28359371 未加载
codingdaveover 3 years ago
The disclaimer at the top, where they say their experience comes from being an external consultant is key. Because when I worked in Enterprise IT, we had our own team of senior software folk, and my experience does not match this article. I&#x27;m not saying we didn&#x27;t have our problems, they were just different than described.<p>At the end of the day, though, the point of treating internal products like products and not projects is accurate. Every good IT shop I was a part of landed at this answer, even if we got there through different experiences.
评论 #28360915 未加载
commandlinefanover 3 years ago
&gt; I have never seen SCRUM or any agile approach working in a project setup ever. I am biased, though, because a company that truly lives agile values won’t do software development in a project setup<p>When I first read the Agile Manifesto - around &#x27;99, I think - it seemed clear to me that this was a great leap forward in software design, but that it was clearly implied that this couldn&#x27;t be used in a &quot;fixed deadline&quot; environment. I really wish they had actually called that out in the manifesto itself and made that more obvious.
评论 #28359815 未加载
评论 #28359305 未加载
评论 #28363555 未加载
评论 #28363984 未加载
dangusover 3 years ago
This post largely glosses over the business motivation of these efforts.<p>Businesses want to reduce risk. That means reducing the probability of expensive surprises.<p>That means they&#x27;d rather spend 10% more on inefficient code running in production than to risk their 10x developer quitting and nobody else being able to understand the codebase, costing the company a lot more.<p>A lot of developers and engineers just want to have their space to tinker, to grow their skills and their mind. As a bonus, under this arrangement they&#x27;d get paid for it!<p>That&#x27;s not how the real world works. Work follows the money, not the passion, and that&#x27;s why work generally sucks.<p>E.g.: Photographers don&#x27;t get to spend all day doing art photography, they largely have to do wedding photos to pay the bills.<p>If you don&#x27;t want your hobby to suck, don&#x27;t do it as a job (or accept that work sucks and do stuff on the side for your own enjoyment if you have the energy for it).<p>My best advice for any engineer is to take active interest in the business&#x27; needs and wants and consider those to be on a higher pedestal than implementation details.
trhwayover 3 years ago
what doesn&#x27;t kill us makes us stronger.<p>&gt; Personally, I have never seen SCRUM or any agile approach working in a project setup ever.<p>they work great. Just their goal isn&#x27;t successful delivery of the project (on that aspect they fail spectacularly). The goal of SCRUM&#x2F;Agile&#x2F;Lean - ie. what they are designed for - is extremely low latency and high observability by the management (and thus the management just loves it, total micromanagement under the guise of team freedom). That all comes naturally at a great cost of throughput. I.e. the &quot;watched pot&quot; situation. The project direction is changed very fast, there is a lot of activity, the bees are overly busy, the management always know and able to report the current progress state, while the project is hardly really moving toward the actually successful state.
cjtrowbridgeover 3 years ago
&quot;When Hiro learned how to do this, way back fifteen years ago, a hacker could sit down and write an entire piece of software by himself. Now, that&#x27;s no longer possible. Software comes out of factories, and hackers are, to a greater or lesser extent, assembly-line workers. Worse yet, they may become managers who never get to write any code themselves.&quot; Neal Stephenson, Snow Crash, 1992
评论 #28364337 未加载
Clubberover 3 years ago
&gt;If developers are prohibited from writing native SQL, they will be limited by HQL, writing slower queries or needing multiple queries from their application for one task.<p>We use a similar framework, but we create custom views when we need performant retrieval, or the hydration of a big object graph is being done and not needed (like a grid).<p>&gt;If the exact language, framework, libraries are prescribed in every detail, developers sometimes need to bend these tools to solve their requirements instead of using the right tool for their problem. If the layered architecture is to be zealously followed, 50% of your code will be the mappers between the layers.<p>We use automapper, which does exactly what it says. We manually map one-offs. In fact, that&#x27;s the basic philosophy of this design. Have the framework build everything from the entities, then one-off what you need.<p>Our design is generic so every table has an entity, then we use a generic service layer with your normal CRUD + search functions, then our controllers are auto-generated using the same thing. We do custom work only for one-off stuff that either is more complex than CRUD, or requires higher performance. It&#x27;s cut our development time significantly, since for normal crud work, it&#x27;s auto-generated based on the entity itself. You create the entity and dto&#x27;s and the repository, service layer and controller are all auto-constructed using generic code. If you need something special, you create a custom controller&#x2F;service. We tend to leave the repositories generic. Note this is just for the WebAPIs, front end is a different monster.
lkrubnerover 3 years ago
This covers some points that were discussed on Hacker News in response to my essay &quot;Why are large companies so difficult to rescue (regarding internal technology)&quot;.<p>If this interests you, then this old conversation might also interest you:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20260114" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20260114</a>
0xbadcafebeeover 3 years ago
You&#x27;ll never see a purely Agile or Lean product from an Enterprise, because those don&#x27;t have a clearly defined set of expenses, profits, and timelines.<p>One terrible thing about Enterprises is the way their finance team leads product decisions. In order to maximize their profit, they announce a product will be ready by X date, and estimate the cost leading up to it. If you don&#x27;t hit those numbers, it affects a lot of other numbers, especially if you&#x27;re publicly traded. And that&#x27;s before the wild promises Sales makes. They are preternaturally addicted to arbitrary deliverables.<p>Essentially, their products are projects, and the customers are incidental to the whole thing. There is no estimate for customer happiness in the business case for a new product team. If you build it on time and under budget, everything else (getting a customer to use it and like it) is taken for granted.
评论 #28362893 未加载
kumarvvrover 3 years ago
A lot of software development paradigms seem to have developed from requirements of Enterprise Software.<p>Sure, you&#x27;d have a Caramack here and there, but if left to their own devices, most software would end up being spaghetti code. Especially when it involves a steady stream of changes over time.
qzncover 3 years ago
&gt; The more standardized the environment for a software developer is, the more under-engineered their code will be.<p>Ok, so there is a tradeoff. It does not mean that the Enterprise approach is wrong in general. Maybe that standardization is worth it? How could one quantify that?
toxodontover 3 years ago
Sounds like you didn&#x27;t have a very good try at presenting your alt. architecture to the enterprise architecture team.<p>As an architect I don&#x27;t mind alternative approaches and variances from a stated architecture if they can be justified.
评论 #28361241 未加载
mousepilotover 3 years ago
this is written like its bad to &quot;hand over code&quot; to others. I don&#x27;t like it.
评论 #28360356 未加载
评论 #28362855 未加载