3 ms·
I feel similar sometimes and my next thought is usually, “what part of the system is breaking down such that engineers at small companies don’t understand the s
by dcow 8y ago
I feel similar sometimes and my next thought is usually, “what part of the system is breaking down such that engineers at small companies don’t understand the scope of their projects?”. Is it a lack of experienced/authoritative technical leadership? Is it bad blood from the rails monolith days? Is it a symptom of a high density of top-tier minds mob-engineering solutions? Are engineers just lazy and prefer the industry status quo framework and some config scripts to the work of actually building software?... Is it even a problem that can be quantified (small company x could be here instead of here if they hadn’t spent resources following the giants)?
- pjmlp 8y agoIt fashion driven development. Many cannot get to the grips that majority of work is just plumbing, yet another CRUD app or just plain maintenance. So it is cooler to keep pushing for things like those companies, even if there is no need, after all the cv needs to match the new buzzword soup filter from HR.
- amirouche 8y ago> Are engineers just lazy and prefer the industry status quo framework and some config scripts to the work of actually building software? It's worse than lazy, it's the new way of doing engineering that is glueing together ready made components.
- icebraining 8y agoIsn't that the method of every mature branch of engineering? Few projects involve inventing new tools, materials or processes in civil or automative engineering, for example.
- dcow 8y agoMy point here was not that people shouldn’t reuse good solutions and avoid redundant work if possible. It was that if this approach is “overly” desirable, then we will naturally see solutions deployed that are not 100% tailored to their application. Writing and designing good business is _work_.
- amirouche 8y agoI should have added that I don't enjoy fill-in-the-blanks kind of jobs. I agree with the sibling comment of 'dcow'. I will add a) innovation is a slow process and b) that a lot of projects take the _fast path_ of "fill-in-the-blanks" tools instead of thinking about a good solution. To avoid speaking in vaccum, I will only cite 'Ansible' which is a tiny improvement over the previous hype. Obviously, if you consider the whole 'Ansible + Galaxy' there is value but still the wrong solution. All arguments I've seen for Ansible seem wrong to me. AFAICT that time would have been better spent in functional devops approaches. My favorite being 'guix'. Also, I understand that Ansible galaxy was built by thousands of man hours by hundreds of contributors where a functional approach will require prolly more time and more focused effort.
- losteric 8y agoSome additional root-causes: * Ex-engineer managers pointing out that technology, then either brown-nosing or incompetent engineers running with it * Tech debt: throw-away prototypes / experiments forced to production products * Engineers padding their technical resume (probably intending to transfer before the debt is due) * Engineers reusing existing knowledge instead of learning * Premature engineering, small teams building for a big (hypothetical) future instead of building everything that comes in between * Consultants / Contractors * Low hiring bar And plenty more. It's usually a systemic failure, with multiple parties failing to do what's best for the the customers and the business.
- collyw 8y ago> * Engineers reusing existing knowledge instead of learning Usually I see the opposite. Engineers jumping on hot technology of the day (and making a half arsed job of it) rather than getting to know any one technology well.
- tabtab 8y agoIndeed! The good systems I see are the result of tuning and adjusting over time based on domain experience and experience with the stack. Good stacks take elbow grease to tune for a given environment: incremental factoring and cleaning based on actual experience with it. Development efficiency and productive reuse does NOT come in a box. Barring a huge AI breakthrough, the latest buzzword won't do your hard thinking and analyzing for you.
- apatters 8y agoYes it's a lack of good technical leadership. I think labor market incentives distort a lot of engineering decision-making especially at smaller companies, where the boss heard that React is hot and decides Solution X should be built with React. Developers eager to develop their skills, increase their rates and advance in seniority end up focusing on the new hotness because of this. Engineers who want to increase their impact and scope should focus first and foremost on the skill of making smart tradeoffs between technical realities and the requirements of other business functions--aside from simply writing code, this is what engineering is indispensable for. Beyond that it pays to go deep in your mastery of a particular platform, the dependencies underlying it, and related technologies--all of these enhance your ability to design solutions. Unfortunately the reality is there are very real financial incentives to keep jumping to the new hot thing every year.
- danmaz74 8y ago> Engineers who want to increase their impact and scope should focus first and foremost on the skill of making smart tradeoffs between technical realities and the requirements of other business functions--aside from simply writing code, this is what engineering is indispensable for. I have recently started contracting in London, and this is 100% what I have found in my younger colleagues. Trying to do everything "the right way" without keeping in mind at all the business constraints has created a total reciprocal distrust with upper management - which in turn isn't at all able to explain how being able to do that makes you a much better developer for the real world, not for some fantasy world where time and resources are infinite.