[HN Gopher] What I'm Up to Now
       ___________________________________________________________________
        
       What I'm Up to Now
        
       Author : BerislavLopac
       Score  : 135 points
       Date   : 2021-08-27 08:15 UTC (2 days ago)
        
 (HTM) web link (martinfowler.com)
 (TXT) w3m dump (martinfowler.com)
        
       | gighjifews wrote:
       | Somewhat flippant, but also a serious question - do people like
       | Martin Fowler and uncle bob actually do anything or do they just
       | describe systems that do not (and probably will never) actually
       | exist? Have they built real world software, or do they just
       | describe some ideal state that has never actually occurred in
       | reality - some kind of geek porn?
       | 
       | I'd much rather listen to people who have actually done things
       | than people who have theoretical done things (people who do both
       | are best).
       | 
       | I ask because I thought Rob Pike was one of those people until I
       | found out what he does / has done.
        
         | user3939382 wrote:
         | https://en.wikipedia.org/wiki/Martin_Fowler_(software_engine...
        
           | m0zg wrote:
           | So I guess the answer is "no", then? :-)
        
         | denvercoder904 wrote:
         | Does he have a public github repo? I would love to see some of
         | the code that he writes or projects that he has worked on.
        
         | galkk wrote:
         | about half of "Patterns of Enterprise Applications" reads like
         | introduction/documentation to Hibernate (java's object-relation
         | mapper), also you can see traces of earlier ASP.Net there.
         | 
         | I don't know what was first, but this certainly describes
         | frameworks that actually exist.
        
       | mack1001 wrote:
       | Probably not necessarily on topic - but I really want to give a
       | shout out to Mr. Fowler. It's really hard to find anyone in
       | contemporary and practical software engineering who has been as
       | impactful as he has been. A lot of modern concepts that improve
       | software development has a seminal article authored or made
       | visible by him.
        
       | ChrisMarshallNY wrote:
       | I like _The Agile Manifesto_. I feel that the jury is still out,
       | on how effective it is, in practice; not because it 's bad, but
       | because I think it has problems in application, in the regular
       | schlub world.
       | 
       | Note that I like the Manifesto, but have been underwhelmed by
       | what I've seen, in its expression. I feel that Mr. Fowler, and
       | his compatriots came out with a great "vision statement," that
       | may not be applied particularly well.
       | 
       | Maybe work on "paving the bare spots"[0] on the Manifesto might
       | be useful. I really want to see it work. I know that when I
       | designed a fairly major infrastructure system, it took ten years,
       | before it was really good enough for worldwide consumption (that
       | might be a bit of an overstatement, but it took at least eight).
       | The software, and the accompanying "vision," were ready by
       | Version 2.0 (about 18 months in), but it took all that additional
       | time to figure out how to get skeptical and stubborn people to
       | accept it, win over friends, and make some embarrassing mistakes.
       | 
       | One of the big issues with coming up with "A New Way(tm)," is
       | that it usually means that "the way we've always done it" is
       | implied to be wrong, and that's a real hard sell. I know that it
       | was the biggest issue that I faced, and dealing with that was
       | tricky. In some cases, I needed to make adjustments, and walk
       | back my rhetoric, to avoid causing people to get their hackles
       | up. That kind of thing is _very_ important, and often neglected.
       | 
       | I've always wished the Manifesto folks had followed through with
       | the shepherding process. If his experience is anything like mine,
       | it will be a long, frustrating, but ultimately, incredibly
       | rewarding endeavor.
       | 
       | [0] https://littlegreenviper.com/miscellany/the-road-most-
       | travel...
        
         | dasil003 wrote:
         | This resonates a lot, I like this idea of a "shepherding
         | process" and digger deeper into what it takes to make big
         | projects successful over time.
         | 
         | That said, I think distilling down this hard-won experience
         | tends to lead to cargo-culting. Just look at "Agile" itself and
         | how it's been embraced and then twisted by consultants into the
         | exact opposite of what was intended by _The Agile Manifesto_ to
         | begin with. This stuff sells because people want clarity of
         | what to do on a daily basis, they don 't want to confront the
         | reality that is no guaranteed path to make large scale software
         | successful. Certainly some process and structure are helpful as
         | long as they are specific to the problem at hand, and focused
         | on the needs of the people actually doing the solving and
         | giving them whatever air cover and cross-pollination needed for
         | them to get the reps on the actual software.
         | 
         | Typically these types of projects happen in large orgs where
         | there are incentives for middle management to avoid culpability
         | for failure rather than to do what it takes to succeed
         | (especially if it's a hard problem). In this kind of
         | environment, process is often used as a cudgel for one group to
         | protect itself by claiming "I did my job".
         | 
         | So to your question: how effective is _The Agile Manifesto_ in
         | practice? I think of it sort of in the necessary-but-not-
         | sufficient bucket. Basically if you have buy-in to give a team
         | this flexibility and autonomy you have a crack at solving a
         | hard problem. Now it depends on the team and the problem: is
         | the problem ultimately solvable and does this team have the
         | chops?
        
           | ChrisMarshallNY wrote:
           | _> how effective is The Agile Manifesto in practice?_
           | 
           | That's the rub. I feel as if it works extremely well, in my
           | own work, but I currently work mostly alone (I am part of a
           | loosely-coupled team, but I completely "own" my own part of
           | the project).
           | 
           | Getting it to work for a team, is not so easy.
           | 
           | Organizations run on Process (note the capital "P"). I feel
           | as if _true_ Agile is something that we need to personally
           | inculcate into our own lives, as Practice, Habit and
           | Understanding. We need to be constantly working within our
           | methodology, which, in my case, is equal parts Habit, and
           | Experience. I don 't think it's something that can be taught.
           | It needs to be _learned_. The reason that I separate these
           | two words that seem to mean the same thing, is that
           | "teaching," is an outward-facing practice, while "learning"
           | is an inward-facing one. I feel that we must -each and every
           | one of us- make the effort to _learn_ how to code as a
           | _craft_. It starts within each of us, and that 's not
           | something that can be foisted upon anyone, or dictated with
           | process. We also need to _completely understand_ our craft,
           | and the work we do. It should not be simple rote. Habit and
           | rote are two different things.
           | 
           | There's no "buzzwordy" or consultant-ready answer to that.
           | 
           | TL;DR: It's complicated.
        
       | itwy wrote:
       | Fowler is the master of overcomplicating things.
        
         | dang wrote:
         | No personal attacks on HN, please.
        
           | itwy wrote:
           | I don't see it that way. He chose to be the brand.
        
       | diskzero wrote:
       | Fowler states: _I've long known that when you're doing very
       | creative work, such as writing or programming, the useful hours
       | you can do in a day is rather less than the accepted industrial
       | eight._
       | 
       | I don't want to disagree with him as this is quite subjective,
       | but when I am totally engrossed in solving a problem, I get into
       | a flow and the time flies by. If the problem is both interesting
       | and challenging, I can't wait to get back to working on it and I
       | hate having to stop!
       | 
       | I do agree if the work is joyless and the product is tedious, one
       | hour spent on it can certainly seem like eight.
        
         | sureglymop wrote:
         | I agree but the thing is that not every day in the week will be
         | like that. So if you have this "hyperfocus" for two days a
         | weeks and on the other days you don't do that much work it
         | might average out to pretty much what he's describing.
        
         | webmaven wrote:
         | _> [W]hen I am totally engrossed in solving a problem, I get
         | into a flow and the time flies by. If the problem is both
         | interesting and challenging, I can 't wait to get back to
         | working on it and I hate having to stop!_
         | 
         | I agree that it is possible to remain in a state of flow for
         | "the standard industrial eight", but on occasions where I've
         | remained in a state of flow for eight (or more) hours, the
         | quality of the work suffers, and the following day is a total
         | loss (as in "me no think good, think meat broken"), so it is
         | better to keep to a more sustainable pace.
        
           | hhmc wrote:
           | > and the following day is a total loss (as in "me no think
           | good, think meat broken")
           | 
           | I've certainly experienced this also. I'm curious if there's
           | a neurological explanation?
        
         | [deleted]
        
         | bryanrasmussen wrote:
         | I tend not to have flow in programming for more than 3 or 4
         | hours. In writing my experience is that you can have flow for
         | days but at some point it starts to peter out and then you
         | grind to a halt, and because you have been running on flow for
         | such a long time it is difficult to force yourself to just
         | write, because you hope to get the flow back, so then you spend
         | a few days doing nothing but a paragraph or two until you
         | realize you have to do the work and the flow is just not coming
         | back by itself.
        
         | orzig wrote:
         | We talk about this a lot on HN, and I'm curious: Are there good
         | studies on this stuff /in the programming context/? I'm aware
         | of the work with athletes and musicians (an excellent start,
         | but requires a lot of generalization to corporate knowledge
         | work).
         | 
         | Even better, given that people are going to vary by at least as
         | much as we vary in physical stamina, advice about how to learn
         | what my own limits are, given that it's so hard to introspect?
        
         | tcldr wrote:
         | I can only speak for myself, but I find the quality of output
         | decreases pretty steeply after around six hours of flow.
         | Determination can keep me going but I've learnt that it's
         | probably more efficient to just rest and return to it after a
         | good night's sleep.
        
           | diskzero wrote:
           | You have learned a good skill, which is knowing how and when
           | to stop. That is something I have a very, very hard time
           | with.
        
         | jlg23 wrote:
         | That you can be "engrossed in solving a problem" is a luxury.
         | One that I enjoyed when I was responsible only to myself. Once
         | my wife and daughter entered my life, it was gone. And even
         | before, from time to time, I had to make space for other
         | obligations that came before my interest/work.
         | 
         | The problems to solve still interest me, but changing diapers
         | or getting something from the supermarket for my daugher before
         | it closes has become important enough that may they to
         | "disrupt"[1] my life anytime.
         | 
         | [1] in quotes, because I would not want to live without these
         | "disruptions" anymore. The accomplishment of calming my baby
         | daughter in a few seconds dwarves any of the hacks people still
         | know me for.
        
           | diskzero wrote:
           | That is a good observation. I am the primary care-giver for a
           | sick spouse, so I have also seen the luxury of time spent on
           | programming diminish.
           | 
           | I am glad you pointed this out. Now that I am older, and
           | perhaps wiser, I can look back at some of the unhealthy
           | attitudes that I had about co-workers who had to balance the
           | much more important demands of life against completing a
           | certain feature or getting a demo ready by a certain date.
           | 
           | When I look at my younger self, I can see how this attitude
           | can lead to ageism and the lack of respect and support some
           | employees see in organizations that only value how much code
           | you can crank out.
        
           | alisonkisk wrote:
           | That means your other life commitments compete with your
           | engineering goals, but it doesn't mean that you are doing
           | better engineering because of it. ("Having it all" is a
           | myth.)
        
         | HighlandSpring wrote:
         | In my experience if I'm in flow for 14 hours and time flies
         | it's because I'm doing a high-value refactor at roughly the
         | right time (not premature)
         | 
         | If I'm doing a more open ended problem like modelling something
         | from scratch (I have boxes and arrows on a piece of paper but
         | the edge cases are still a mystery) then it's something I'll
         | exhaust myself on much sooner
        
       | recursivedoubts wrote:
       | Martin, if you are reading this, here's something you could do:
       | 
       | Revisit REST (and the Richardson Maturity Model[1]) and explain
       | _why_ REST has failed so spectacularly in the JSON API world.
       | 
       | It's worth doing because REST-ful hypermedia systems are using an
       | interesting and distinctive network model, and most younger web
       | engineers don't know much about it and end up using the client-
       | server approaches that have become so common for modern web
       | applications.
       | 
       | You are in a great (perhaps the best) position to respark
       | interest in hypermedia and the REST-ful approach.
       | 
       | I have some thoughts on the matter[2][3][4], and would be happy
       | to discuss.
       | 
       | --
       | 
       | [1] -
       | https://www.martinfowler.com/articles/richardsonMaturityMode...
       | 
       | [2] - https://intercoolerjs.org/2016/01/18/rescuing-rest.html
       | 
       | [3] - https://intercoolerjs.org/2016/05/08/hatoeas-is-for-
       | humans.h...
       | 
       | [4] - https://htmx.org/essays/hypermedia-apis-vs-data-apis/
        
         | vlunkr wrote:
         | > explain why REST has failed so spectacularly in the JSON API
         | world
         | 
         | Could you elaborate on this?
        
           | [deleted]
        
           | thehappypm wrote:
           | By failed, I think they mean "spectacularly wide usage, with
           | some drawbacks".
        
             | plorkyeran wrote:
             | REST as Fowler advocated for is used approximately nowhere.
             | The widely used thing known as REST is very unlike it.
        
           | Andys wrote:
           | I wonder about this too. I regularly read that REST is
           | bad/failed. But it appears to have had been widely adopted in
           | a soft way, beating any competing ideas.
        
         | alisonkisk wrote:
         | REST is a model for CRUD, but modern apps have far more complex
         | interactions with server data.
        
       | s1k3s wrote:
       | Probably not necessarily on topic - but I really want to say that
       | this guy has been the #1 source of pain in my developer career so
       | far. There've been so many projects where I had to implement some
       | solution some way because the "architect" said "that's how Fowler
       | recommends it, so that's how we're doing it", even if the
       | solution was so bad that everyone saw it coming back to bite us
       | from miles away. I read his books and found nothing impressive.
       | To me the guy is just a glorified salesman who I'd hire to sell
       | BS to my agency's clients.
        
         | shaicoleman wrote:
         | Fowler's article that made the most impact on me is the one
         | about Monolith First, and how you shouldn't start with a
         | complex distributed architecture, even if you're confident
         | you'll need it in the future.
         | 
         | https://martinfowler.com/bliki/MonolithFirst.html
         | 
         | Fowler shares ideas of architecture, but in a nuanced way, and
         | clearly states when it might be appropriate, and what are the
         | costs and complexities involved.
         | 
         | The problem in your case seems to be more of "Architecture
         | Astronauts"
         | 
         | https://www.joelonsoftware.com/2001/04/21/dont-let-architect...
        
         | amw-zero wrote:
         | As is always the case, I feel the exact opposite. The #1 source
         | of pain in my career is people not understanding that certain
         | concepts / principles are really the key to surviving in a
         | complex system.
         | 
         | But, we probably don't build the same kinds of software.
         | Shooting him down because he isn't talking about the kind of
         | software you build is pretty ignorant.
        
         | ncann wrote:
         | I echo this sentiment. For some reason his writing is very
         | popular among so-called "software architect", which is
         | especially painful if they are in a position of power in the
         | organization and start forcing it down everyone's throat.
        
         | benhoyt wrote:
         | I sympathize (I like saying I don't do BDD, Buzzword-Driven
         | Development), but I'm not terribly up on Fowler's work -- can
         | you provide some concrete examples of things he recommends that
         | were over-engineered or just plain bad for your use cases?
        
         | conradfr wrote:
         | Yes, I must say, him and Eric Evans. It's not their fault, but
         | still ;)
         | 
         | I remember it well, starting 2016 suddenly everyone wants to do
         | DDD, CQRS etc. Let's shoehorn new paradigms in our framework of
         | choice. Boilerplate, lots of boilerplate...
        
         | The_Colonel wrote:
         | You suffer from bad architects. If there wasn't Fowler, they
         | would just misinterpret somebody else.
         | 
         | > that's how Fowler recommends it, so that's how we're doing it
         | 
         | Fowler would be the first to point out that there are no hard &
         | fast rules / recommendations and each case should be evaluated
         | individually since there's just too many variables.
        
         | tommica wrote:
         | Well, he is not your source of pain, it's your superiors that
         | made the decisions - he did not tell them to do it
        
         | thrower123 wrote:
         | Everybody reads Fowler and does horrible things thereafter for
         | a while. Hopefully, you come out of that phase and learn what
         | is worth bothering with and what is not, without too many years
         | and without too many scars and too many failed projects.
         | 
         | Some never do though...
         | 
         | The phase of my career where I drank the SOLID kool-aid and
         | studied and tried to apply the hip architectural patterns is
         | one of the darkest and most regrettable. I'm still dealing with
         | bad decisions made in code bases from that period.
        
           | andrekandre wrote:
           | > The phase of my career where I drank the SOLID kool-aid and
           | studied and tried to apply the hip architectural patterns is
           | one of the darkest and most regrettable. I'm still dealing
           | with bad decisions made in code bases from that period.
           | 
           | does this come from the architectural patterns themselves, or
           | from applying them everywhere (including where they dont
           | fit)?
           | 
           | or maybe something else?
           | 
           | (i have my own experiences, but im really keen to hear from
           | others)
        
       | seibelj wrote:
       | Martin Fowler has been a big advocate of micro services. I think
       | micro services has been one of the biggest mistakes ever
       | promulgated on software development and is responsible for
       | developer misery, un-productivity, failed projects, and
       | unintelligible rats nests that have set back a generation of
       | engineers who have to now unlearn all of this nonsense. I can't
       | take him seriously and he is forever tainted in my mind. However
       | it is a big boon for consultants like him and those that like to
       | spend a lot of time gluing unmaintainable services together.
        
         | pbourke wrote:
         | Fowler also wrote about "cookie-cutter" scaling of monolithic
         | applications. Seems to me that the fault lies with the people
         | who cargo cult approaches rather than reflecting on them and
         | adopting them if and when they make sense.
        
         | javaunsafe2019 wrote:
         | Maybe you and them just did not understand that it's an pattern
         | that, as all pattern, makes only sense for certain
         | applications.
         | 
         | Maybe you could also present some references that back up your
         | claims?
         | 
         | It's always easy to judge on people that tried to solve
         | problems of the past. Mistakes will always be made but this way
         | we do learn and make progress.
         | 
         | So what I try to say is maybe appreciate that he at least tried
         | to solve problems. All this shitposts here at hn against ppl
         | like him or uncle bob or so unreflected and immature... like
         | really what the heck is going on with you people.
         | 
         | Edit: grammar. Non nativ here...
        
           | wtactual wrote:
           | Fowler and "Uncle Bob" are in different solar systems. Fowler
           | may get things wrong, but he's not a total hack like Bob.
           | "The Clean Coder" is one of the most disgusting things I've
           | ever read.
           | 
           | Flagged for accuracy.
        
             | CozyBearNotSoy wrote:
             | What specifically did you dislike about The Clean Coder? I
             | don't consider myself sufficiently experienced to judge the
             | advice given in that book.
        
           | conta_opin_99 wrote:
           | If you build your whole life around didactic speaking gigs
           | where you tell everyone how to do it despite apparently not
           | writing any software yourself, you need to be prepared to be
           | open to some criticism when it turns out your ideas are shit.
        
             | javaunsafe2019 wrote:
             | True but then please try to back up your hard claims with
             | some references. Fowler himself made the restrictions of
             | the microservice pattern very clear in several posts...
             | 
             | So don't blame him for stupid architectural design
             | decisions!
        
         | exceptione wrote:
         | Can you link to any resource? What I read from Fowler is that
         | he has lots of reservations about it.
         | 
         | To quote:
         | 
         |  _Any architectural style has trade-offs: strengths and
         | weaknesses that we must evaluate according to the context that
         | it 's used. This is certainly the case with microservices.
         | While it's a useful architecture - many, indeed most,
         | situations would do better with a monolith._[1]
         | 
         | He even states that you never should start building your
         | application as microservices, but instead as a monolith.
         | 
         |  _So my primary guideline would be don 't even consider
         | microservices unless you have a system that's too complex to
         | manage as a monolith. The majority of software systems should
         | be built as a single monolithic application. Do pay attention
         | to good modularity within that monolith, but don't try to
         | separate it into separate services._[2]
         | 
         | __
         | 
         | 1. https://martinfowler.com/articles/microservice-trade-
         | offs.ht...
         | 
         | 2. https://martinfowler.com/bliki/MicroservicePremium.html
        
         | jnwatson wrote:
         | Microservices are the simplest solution to counteract Conway's
         | law.
         | 
         | If you have two organizations writing software, the least-
         | overhead organizational approach that allows minimum
         | communication overhead and release coordination is for both of
         | those organizations to release a package and have well-defined
         | APIs between those.
         | 
         | There are certainly other approaches to achieve similar
         | outcomes, but microservices are the lowest-tech mechanism.
        
           | Jare wrote:
           | > least-overhead
           | 
           | > well-defined APIs
           | 
           | That's where most shifts to microservices fail, right?
           | Sometimes because they don't define their APIs well,
           | sometimes because the breakdown into packages/services is
           | broken (for example: defined by company structure instead of
           | sane software architecture), sometimes because the evolution
           | of each package's features and functionality is at odds with
           | the stability of their API's semantics and guarantees (and
           | documentation), sometimes because the development overhead of
           | communicating between APIs is too high (debugging for
           | example)...
        
         | orzig wrote:
         | Maybe it's the right pattern for some problems, and got
         | overused when it was high on the hype curve? I don't have a
         | horse in the race, but have seen many other
         | technologies/patterns go that route
        
           | seibelj wrote:
           | I find it particularly stupid compared to most other hyped
           | technologies, as the pattern pervades the entire engineering
           | superstructure and has to be entirely burned down in order to
           | fix the core rot. The foundation of any microservice-based
           | system is inherently shoddy in a way other poorly designed
           | systems aren't.
        
             | nix23 wrote:
             | The Problem With Microservices:
             | 
             | https://www.youtube.com/watch?v=zzMLg3Ys5vI
        
             | staticassertion wrote:
             | Your posts have no value. You've said nothing of substance,
             | made no valid criticism. If you just want to vent go talk
             | to a therapist, don't waste precious bytes.
        
               | nitrogen wrote:
               | _If you just want to vent go talk to a therapist, don 't
               | waste precious bytes._
               | 
               | Nobody holds comments they agree with to this high of a
               | bar. You are being way too harsh, and this borders on
               | personal attack.
               | 
               | One of the ways modern society is breaking down is that
               | nobody has a community they can vent to and relate to.
               | Everything is somebody else's problem. If someone has
               | something to say, let them say it. If they didn't say it
               | clearly, maybe ask for more. Don't make it personal, and
               | if it's irrelevant, just downvote and move on.
        
               | staticassertion wrote:
               | All they're doing is repeatedly insulting this guy with
               | absolutely no meaningful content across multiple posts.
               | It's garbage, it's nothing but unsubstantiated attacks. I
               | don't see how my post was a personal attack either, I
               | said to vent elsewhere, in an appropriate venue.
        
               | seibelj wrote:
               | The value of my post is that a charlatan with very
               | damaging views has somehow been promoted as great thinker
               | when I find his entire engineering philosophy not only
               | incorrect but totally moronic and damaging. I'm calling
               | it out because it's really stupid and we need more people
               | to feel OK calling bullshit when some idiot carts out the
               | "we need 50 services to power the authentication
               | pipeline!" which I have seen multiple times during my
               | career, as other enthusiastic engineers cheer them on.
               | It's a dead idea and it is pointless, at least at when
               | operating at the scale of 99% of tech companies. I'm not
               | going to keep pretending this is a good idea when it's
               | not.
        
               | teh_klev wrote:
               | > some idiot carts out the "we need 50 services to power
               | the authentication pipeline!"
               | 
               | That's not Fowler's fault. It's the fault of your
               | solution architects who don't know how and when to use
               | the right amount of seasoning in the sauce.
        
               | detaro wrote:
               | > _we need 50 services to power the authentication
               | pipeline!_
               | 
               |  _If_ the architect is an adherent of Fowler, you can
               | then ask where to get the 50-400 engineers needed for
               | building said pipeline, citing Fowler for teamsizes. ;)
        
           | api wrote:
           | That statement describes basically every fad in development,
           | every design pattern, and most if not all tools.
        
             | nitrogen wrote:
             | Indeed. It seems that it's useful to have _descriptive_
             | patterns to understand what people are already doing. But
             | then the hype cycle kicks in, and people treat them as
             | _prescriptive_ patterns. MVC, Agile, Design Patterns,
             | monoliths, microservices, trunk-based, spaces vs tabs,
             | Emacs vs Vim...
        
       | dvaun wrote:
       | Near the end of his post, he writes:
       | 
       | > I've always been nagged by my conviction that I'm not working
       | as diligently or effectively as I ought to be. Sadly I'm not
       | getting any better at not letting that bug me.
       | 
       | Maybe this has been discussed in depth elsewhere, but my question
       | in response to this is: how does one/how do we end up feeling
       | like this? And how can you work toward not feeling this way?
        
         | dgellow wrote:
         | My personal issue was undiagnosed adult ADHD. Learning about it
         | and adjusting my life around that fact has been immensely
         | useful so far. Though I'm far from being done with that process
         | (and likely to never be done...).
        
         | sillysaurusx wrote:
         | The feeling never really goes away. For me at least.
         | 
         | I just accidentally raised $1,931 yesterday for Tensorfork
         | Labs, a non-profit I started ... also yesterday.
         | https://twitter.com/theshawwn/status/1431462744906141696
         | 
         | I was blown away that everyone suddenly offered so much
         | support. We have people filling out notion docs
         | (http://wiki.tensorfork.com/) and an active Google Chat
         | chatroom with 12 interesting people in it. And to top it all
         | off, Nat Friedman (Github CEO) DM'ed me last night and I'll be
         | talking to him in approximately three hours.
         | 
         | You'd think I'd feel thrilled and like I'm extremely effective.
         | I am thrilled, but all I feel is that I haven't done as much as
         | I could. Talking and walking are two different things, and now
         | that we've talked, it's time to walk the walk. But the truth
         | is, I felt guilty sleeping most of today while everyone else
         | has been talking excitedly. I felt that if I pushed myself a
         | little harder, I could've been more effective, or more
         | diligent, or lived up to my responsibilities more.
         | 
         | But that path leads to burnout. Good work is a marathon, and
         | things take time. (Unfortunately it sometimes seems ~impossible
         | to internalize that, and the temptation to sprint is always
         | there.)
         | 
         | If you're looking for a mental hack to make the feeling go
         | away, the only thing that helps me is to remind myself that
         | even small deltas have value. My personal goal is to make
         | imagenet2012 accessible to every programmer. It's a small,
         | obscure itch that I am scratching for myself. But it's mine,
         | and I can fix it, which is good enough.
         | 
         | So just do what you can, where you can, and be authentic. No
         | one can know how things will play out. Doing your best is all
         | you can ask of yourself.
        
           | 58x14 wrote:
           | Hey, congratulations and great job!
           | 
           | I find there's a perpetual equilibrium between feeling
           | confident in your output / yourself, and recognizing that
           | much of what you do will likely be incomplete, messy, sub-
           | optimal. This seems to be a fundamental part of being human
           | as it extends across all types of creation.
           | 
           | Authors have stream-of-consciousness to overcome writers'
           | block. Athletes get the 'yips'. Developers have probably
           | heard "if you're not ashamed of your MVP, you took too long
           | to ship." (does anyone know who originally said this?)
           | 
           | Doubt is a massively powerful and underrated tool that tends
           | to signify the presence of many new variables. It's like a
           | beacon saying "hey this is unprecedented" and the pursuit of
           | any challenge will naturally yield unprecedented outcomes. In
           | your context, you went from "hey let's do a thing" to "the
           | Github CEO wants to call me and talk about this thing and
           | there are multiple people that want to do this thing" and
           | that is pretty damn unprecedented.
           | 
           | I've experienced >3 truly remarkable situations like you, and
           | wandered between inflated ego, utter confusion, guilt, and
           | pure existentialism. Honestly, I'm glad I felt such a
           | spectrum of emotions because in retrospect those lenses
           | provide me a lot of clarity when I invariably encounter
           | another entirely baffling scenario.
           | 
           | I think your self-assessment is as balanced as it can be, and
           | I'm certain that as you continue, you'll adjust the weights
           | (heh) and become more comfortable... or maybe not. Maybe a
           | hallmark of being a creator, founder, leader, is to double
           | down on the discomfort, and rest later. Kind of like a
           | marathon.
           | 
           | I'm following along. Good luck.
           | 
           | P.S. if you see this in time can you ask Nat what he thinks
           | of the federated wiki?
           | https://github.com/WardCunningham/Smallest-Federated-Wiki
        
         | sdevonoes wrote:
         | IMHO, to realize that I am not working as diligently or
         | effectively as I ought to be and being ok with it, is the best
         | thing ever happened to me. I'm not a machine, my goal is not to
         | become better or more productive. As one once said: "self-
         | improvement is just masturbation". I look for the higher goal:
         | long-term satisfaction.
         | 
         | And to be honest, I imagine Fowler could already retire and
         | have zero financial problems for the rest of his life; that
         | helps a lot regarding giving a damn about productivity.
        
         | MathMonkeyMan wrote:
         | I had a discussion with a friend in college about this. We were
         | both doing dual bachelors in Music and Physics, graduation was
         | approaching, and it was coming time for each of us to choose
         | whether we'd pursue research, art, or other.
         | 
         | He was perhaps smarter than me and worked harder. I asked him
         | what it was that motivated him, and he said that it was a sense
         | of guilt that had been instilled in him by his parents. I told
         | him that guilt is a destructive motivator, at least in the long
         | run. He replied that it actually worked well for him and he was
         | glad to have it.
         | 
         | I also am sometimes motivated by guilt. Does it bother me
         | because I'm more aware of it, or am I right in thinking that
         | there are better motivations within reach?
        
           | sillysaurusx wrote:
           | That works until you hit 30. Beyond that, watch out. You
           | won't merely get worn out; you'll get worn down.
        
         | peakaboo wrote:
         | You make different choices during the day and you do it against
         | your own will at first. You won't feel like it, and your mind
         | will tell you tomorrow, but since you expected that, you do it
         | today.
        
         | _spduchamp wrote:
         | Don't live by other people's expectations. Always live by your
         | own, and always reassess your expectations. One day at a time.
         | Do something, or don't, no biggie.
        
         | DoreenMichele wrote:
         | I have workaholic tendencies. It bothers me a lot less than it
         | used to.
         | 
         | I've resolved a lot of personal issues that are not supposed to
         | be fixable and that makes it easier to feel like "Whatever I
         | accomplish today, it's _enough._ " I set goals for what I need
         | to do next and I try to be realistic about how much I can
         | actually do and I have made my peace with the fact that I'm
         | only one person, I can only do so much.
         | 
         | Either the road rises up to meet me or it doesn't. There are
         | parts of it I have no control over and if the world just
         | doesn't want me to succeed at certain things, I simply won't
         | through no fault of my own.
         | 
         | There has to be fertile ground for a thing. Thinking otherwise
         | is often an oversized ego talking or some kind of baggage from
         | broken mental models people get fed.
        
         | PragmaticPulp wrote:
         | > how does one/how do we end up feeling like this? And how can
         | you work toward not feeling this way?
         | 
         | It's a broad question because there are many underlying causes.
         | 
         | Some people have unrealistically high expectations for what can
         | be accomplished. As engineers, it's easy for us to visualize
         | the big picture of how things would look when they're finished,
         | but forget all of the details and difficulties that must be
         | overcome along the way.
         | 
         | Some people spread themselves too thin across too many
         | projects, such that none of them see any rapid progress. I know
         | a lot of brilliant people who could accomplish great things if
         | they'd just make the choice to stop all of their side projects,
         | learn to say "no" to new requests, and pick one initiative to
         | be their main focus.
         | 
         | Some people think they want to deliver results and finish
         | things, but when it comes down to it they actually prefer the
         | craft part of the process rather than the finishing part.
         | They'd rather write and re-write the same code 20 times until
         | they've perfected it and generalized it for every possible
         | situation, rather than ship an imperfect version that gets
         | things done.
         | 
         | And some people genuinely _aren 't_ working diligently or
         | effectively, usually because they haven't yet learned how. I
         | see this a lot in younger people I've mentored: They aren't
         | getting much work done, but they also can't figure out where
         | all of their time is going every day. In one case, I worked
         | with someone who couldn't figure out why they were so
         | unproductive and exhausted every day until they enabled a time
         | tracker on their phone and discovered that they were losing
         | over 8 hours every day to playing on their phone screen. The
         | worst part was that they weren't really enjoying it, either.
         | They just got into the habit of wasting time on social media
         | and it spiraled out of control. Needless to say, getting a
         | handle on that was life-changing in terms of what they could
         | accomplish everyone else in their lives.
        
         | taurath wrote:
         | You have to ignore both societal and organizational pressure.
         | These come in sometimes subtle ways both internally from your
         | own psychology but also in the form of stated and unstated
         | expectations from coworkers management and partners.
         | 
         | Time alone not working helps this, meditating helps, anything
         | that gets you away from the fracas of life. But also the best
         | way is to develop things you care deeply about that have
         | nothing to do with your job. May be a sick family member, could
         | be a community organization, could be time to play the piano.
        
         | ljm wrote:
         | I get there when I feel unsatisfied with the problems I'm
         | solving. Maybe I ended up fighting fires for a day or two, say,
         | and fighting fires doesn't bring me pleasure while my main body
         | of work does. So, even though the fire fighting has immense
         | value to those who benefit from the fires being put out, and
         | I'm really good at doing what it takes to put them out quickly,
         | I didn't start the fires myself and I didn't get _my_ work
         | done. I feel like a rescuer rather than an effective
         | contributor and then I have to start trying to compensate for
         | it.
         | 
         | This is also touching on burnout. There's just a kind of
         | programming work that is mentally draining and unfulfilling
         | because the underlying problems or mistakes are entirely self-
         | inflicted. Spending time fixing shit that didn't have to be
         | broken.
        
         | layer8 wrote:
         | For me, the reason is that things which are straightforward to
         | conceptualize often take a surprising amount of work to
         | actually implement (many nitty-gritty details, unforeseen
         | complexities, suboptimal tools). In addition, in hindsight one
         | often realizes that there was a quicker or more effective way.
         | 
         | As a result there tends to be a mismatch between the expected
         | and actual efficiency of the work. Even if the complexities are
         | not one's fault, overly optimistic expectations are.
         | Furthermore, it's simply frustrating that implementing
         | seemingly straightforward ideas often takes so long. There is a
         | conviction that there must be a better, more efficient way, and
         | that one could obviously do better.
         | 
         | I suspect that there is a correlation with an affinity for
         | abstract thinking, because abstracting from the details causes
         | underestimating the required effort, perpetuating the mismatch.
         | 
         | Embracing the mismatch and giving up the expectations also
         | means giving up one's aspirations ("I should be able to do
         | this") to a certain extent, which is hard if they are an
         | integral part of one's self-image.
        
         | OneEyedRobot wrote:
         | >how does one/how do we end up feeling like this?
         | 
         | Maybe it's just that he notices, as any introspective person
         | might, that you just start doing the same damn thing over and
         | over after 20/30/40 years in harness.
         | 
         | He probably should take up the piano.
        
         | bumby wrote:
         | > _how does one /how do we end up feeling like this?_
         | 
         | For me personally, this feeling arises when I become overly
         | focused on an end-state. My mitigation is focusing more on the
         | process and trusting that, over time, the end-goal becomes a
         | natural outcome of an effective process.
        
         | gpsx wrote:
         | I have been working on a large side project which is no longer
         | just a side project. I am not getting as many hours of work in
         | as I would like, but at the same time I know if I tried to do
         | more, I wouldn't be productive. In fact I'd do negative work.
         | Years ago I would push through and work anyway (I am a real
         | goal oriented person.) Knowing what I do know now, all I can do
         | is shrug my shoulders. It's like distance running - for all the
         | desire to work harder and do better, speeding up won't get you
         | to the finish line faster.
         | 
         | If you have some sense of your limitations, you no longer can
         | really feel guilty about being lazy for this. It may be worse
         | though, because then you can feel bad about your capability.
         | Hopefully that is something you can just accept.
        
       | kybishop wrote:
       | Lots of comments here opposed to Martin Fowler's advice. I'm
       | curious if anyone who is anti-Fowler has software design books
       | they _do_ recommend? (Asking because I'd love to read them)
        
         | detaro wrote:
         | Since the problem usually isn't with the software design
         | advice, but "people read software design books and then try to
         | force whatever they read into their projects", I guess what
         | would make a book "good" for that is "the author isn't popular
         | enough to cause something to be trendy". IMHO Fowlers writing
         | is just fine as "these are things people have done and you
         | might consider" (and what I've read mostly seemed to be written
         | that way, not overly pushy), but its so popular that if he
         | writes about a new thing, too many people then jump onto it as
         | the next big thing, if it matches their problems or not, and
         | that gets painful to work with. Although for Fowler to write
         | about something, I think it already has some trendiness going
         | on and he's not usually on the forefront of new ideas?
        
         | amw-zero wrote:
         | The people that don't like him don't enjoy any books. They just
         | enjoy "getting stuff done." That's really what I find when
         | talking to people about why they don't like concepts that he
         | introduces. They have no alternative, they just don't like
         | people who come across as dogmatic.
        
       ___________________________________________________________________
       (page generated 2021-08-29 23:01 UTC)