[HN Gopher] The Time I Lied to the CTO and Saved the Day
___________________________________________________________________
The Time I Lied to the CTO and Saved the Day
Author : mundanerality
Score : 460 points
Date : 2024-05-09 01:39 UTC (21 hours ago)
(HTM) web link (grumpyolddev.com)
(TXT) w3m dump (grumpyolddev.com)
| fnord77 wrote:
| And if that had gone slightly wrong, this person would have
| gotten fired and also a bad reputation in an industry that is
| smaller than people think.
| fragmede wrote:
| take your shot. don't miss.
|
| If the chipper younger dev had failed, we wouldn't be reading
| this story. so there's survivors bias at play here. but we were
| all young and dumb like that at some point in our lives. it
| worked out for some but not for others. some exit the field
| entirely and go find other vocations.
| chefkd wrote:
| It's kind of crazy how a single moment like that can define
| your entire life whether you can be in your child's life etc.
| Horrible interview habits, no networking, not listening when
| they told me to cut my hair, dress a certain way, not playing
| nice when working on features like this, divorce went from a
| nice paying gig to homelessness a la Britney Spears 2008 with
| reputation lower than my credit score :)
|
| Now I code just on my own knowing no network, no possibility
| of a job or of getting accepted to any accelerator. Tech is
| such a small world basically a small metropolis. The moral of
| the story there's a reason SWEs are compensated nicely for
| success stories like this one kudos to OP
| toomuchtodo wrote:
| Reputation risk is important, but you're still a disposable
| cog. When an opportunity to succeed presents itself, it's a
| calculated risk. Could've death marched through the holidays
| and still been fired, for any reason. Sometimes you gotta
| manage up aggressively.
|
| (Have seen an engineering team liquidated the day after
| successful delivery, death marched to it, for example)
| barkingcat wrote:
| meh, if you did everything right, you'd be laid off 1 day after
| launch.
|
| So there's really absolutely no risk to do this.
|
| Either way you will be fired/laid off, so why not just do it.
| MBCook wrote:
| Right. The project was gonna fail. Is it that inconceivable
| that some of the devs involved would've been fired?
|
| Cant fire the CTO, after all. It wasn't his fault his stupid
| plan didn't work. It can't be the big successful company his
| friend runs. It's the disposable staff who screwed up.
| pavel_lishin wrote:
| Man, I wish folks would stop using AI generated header images.
| Throws me off right from the get go.
| Dban1 wrote:
| until it gets virtually indistinguishable to the human eye
| hn_throwaway_99 wrote:
| Even if it were indistinguishable from the human eye, I'd
| still find it annoying. Not every blog post needs a generic,
| caricature-esque stock photo.
| owlninja wrote:
| She's staring at the back of her monitor on the main page.
| MBCook wrote:
| That's all I could see on mobile. The screen is to narrow
| to see more than the lady typing and the edge of her
| monitor.
|
| So that's all I thought it was. A generic stock image. So I
| didn't pay any real attention to it because it was "just" a
| stock image.
|
| I agree with you. It was totally unnecessary.
| swatcoder wrote:
| Common usage never will.
|
| There will always be a bias towards some default settings in
| whatever popular tool, because people who aren't very
| discerning or dedicated will just punch in a few common ideas
| into the tool and take the first thing that looks good enough
| to them.
|
| But people on the outside will continue to have an
| instinctive sense for these default style biases and be able
| to tell pretty well that an image was produced that way.
|
| The escape hatch will be what amounts to AI stock photo
| industry, where practiced "AI Art" designers prepare images
| that are more subtle and unique and sell them pretty cheaply.
|
| The _technology_ surely can be pushed to the point where a
| well-crafted image is virtually indistinguishable, but most
| people are going to just drop "anxious woman at keyboard" or
| "happy dog with a ball" and there's only so much unique
| information contained in those prompts so defaults will
| always reign.
| chfalck wrote:
| Never? Really?
| MBCook wrote:
| On my phone this was good enough to fool me. I couldn't see
| the back of the monitor. So as presented on the site it
| looked like a stock image.
|
| I didn't heavily scrutinize it. But without the additional
| context seen on a desktop it's not that remarkable.
| eru wrote:
| > There will always be a bias towards some default settings
| in whatever popular tool, because people who aren't very
| discerning or dedicated will just punch in a few common
| ideas into the tool and take the first thing that looks
| good enough to them.
|
| How is that different from the established practice of
| using stock photos?
| noirbot wrote:
| And most people see stock photos on a blog and see that a
| bit negatively too. If the ceiling here is stock photos,
| that's not great, but the issue is that the state of the
| art is "stock photo but with glaring weirdness"
| Topgamer7 wrote:
| Honestly if you added just a tad bit of noise. You probably
| wouldn't notice.
| calderknight wrote:
| That's something you can easily prompt for, too.
| Larrikin wrote:
| I wonder how many people said similar comments about Photoshop
| and other computer generated graphics when they were new.
| MyFedora wrote:
| No need to go back in time. People say that about CGI in
| movies today. Studios lie about CGI, and even alter BTS
| footage. Directors are under NDA. Actors are clueless.
| Everyone says everything is real to appeal to the CGI bad
| crowd. Media outlets hype the new practically shot movie.
| After a few weeks or months after the release, the VFX
| studios behind the movie show off their work. Turns out it
| was CGI all along, but nobody cares at that point.
| noirbot wrote:
| To be fair, a lot of folks who dislike modern CGI dislike
| it because it's often used poorly and hamhandedly. Would it
| maybe look better if they did it practically? Possibly, but
| a lot of the revulsion to it is based on seeing real movies
| that looked really bad because they did CGI as a shortcut
| around shooting a movie in the city they say it's set in,
| or clearly working around having an actor just shoot in an
| empty room and add other characters in later with no real
| interaction between them.
|
| If you do something poorly, it reflects poorly on the
| results. If it becomes endemic to do something cheaply and
| poorly, people will think that method is indicative of
| cheapness and laziness. It doesn't negate that it may be
| possible to do it well, but you can't just chide everyone
| for seeing the trend and reacting to it.
| wokwokwok wrote:
| I couldn't help laughing at it
| (https://grumpyolddev.com/images/IMG_2609.JPG).
|
| Is that code... on the back of the monitor?
|
| ...and the back of the chair behind her? Or is that a giant
| ipad she's sitting on?
|
| hahaha...
|
| If you're gonna use an AI image, come onnn... make an effort at
| least that it's not completely weird and crazy.
|
| It takes literally seconds to generate these images and _this_
| was the best you could pick?
| rk06 wrote:
| the image is actually quite good. it is obviously not meant
| for realistic
| sgt wrote:
| Monitors with screens on both sides. Such a brilliant idea!
| Imagine the cost savings for companies putting hundreds of
| people on rows and opposite each other.
| doublerabbit wrote:
| Forced back to the office and sat in the old un-politically
| correct fashion school order of "boy girl boy girl".
|
| Surely an CEO's wet dream.
| krupan wrote:
| Hey, at least her hands look pretty normal
| daft_pink wrote:
| Your comment about heavy customization reminds me about the days
| of talking to CRM salespeople. Those sales people that were like,
| "We can make our CRM do anything you want it to", whenever we
| asked questions. What that sales person really meant was our
| product doesn't actually work, but if you throw a huge truck load
| of money at us, we can make our product work.
| widenrun wrote:
| > A software launch is like performing live theater for
| introverts.
|
| This should be the title!
| contingencies wrote:
| Nice one :) Added to https://github.com/globalcitizen/taoup
| irjustin wrote:
| > The vendor product stored every customer transaction as a json
| record in a giant json document.... Adding a new transaction
| involved reading the entire json document out of the database,
| then appending the new record to the end.
|
| Does this sound insane to you? Obviously it should, but in the
| vein of "insane things" I was helping do tech diligence of a
| potential investment for a fund. The startup's users table also
| contained the "tickets/booking" data. Each ticket was a column.
| So if your most active user had 5 tickets in total history, you
| needed 5 columns. These guys had 500+ columns by the time I
| reviewed it, and were looking for an investment to "scale".
|
| Of course, it's a solvable problem, but as you can imagine
| everything was designed in some backwards, janky way. That was
| just the most obvious "wtf" moment.
|
| They did not get the investment.
| prakhar897 wrote:
| It's genius.
|
| Schmooze the execs with fancy dinners and trips. Deliver a
| horrible product so they need you for the foreseeable future.
|
| The story itself says the CTO is unaware of everything. From
| his perspective, everything worked out fine in the end.
|
| Win for everyone except for the devs who put in 80 hour weeks.
| osigurdson wrote:
| You missed the part where they say they felt like a rock
| star. Different people are motivated by different things. The
| key is, if you are very hard working try to channel it in a
| way that will actually benefit you.
| t43562 wrote:
| Yes, don't let other people channel it towards themselves!
| You're in a company, - they will fire you when it becomes
| convenient to do so - don't burn yourself out for them!
| dvaun wrote:
| They read that column-oriented DBs delivered great performance.
| shagie wrote:
| That sounds like some Bad CaRMa that I read about once...
|
| https://www.red-gate.com/simple-talk/opinion/opinion-
| pieces/...
|
| ... which while there were other red-gate posts out there, I
| can't find that one ever submitted as a dup to link the
| comments about it (this shall be rectified).
| datadrivenangel wrote:
| Writing "RUN LIKE HELL" on a white board is insane, and
| should not be ignored.
| labster wrote:
| Yeah, column-oriented works best for musical performance
| because it makes it easy to switch from Ionian to Dorian
| mode.
| chefkd wrote:
| but not phrygian :) phrygian bad
| CoolCold wrote:
| thanks for explaining on what are column-oriented DBs are in
| a ELI5 way
| yjftsjthsd-h wrote:
| ... In case this is serious, the joke is that that is
| absolutely _not_ what that term means.
| tangjurine wrote:
| How about reading the entire Json document out of the database,
| making a copy of that document, updating the copy, and saving
| that copy to the database...
|
| Is how someone on my old team designed an internal tool
| danielheath wrote:
| Depending on load patterns, for an internal tool that might
| be perfectly reasonable; you can trivially look at the
| history, for one thing.
| Spivak wrote:
| Is this not how you update a JSON column on a db that doesn't
| have (or you choose to not use for reasons) a native JSON
| type with a sprinkling of data should be immutable?
| dude187 wrote:
| Well without some form of locking you have a race
| condition. Two updates done at the same time can have the
| overwrite the other
| dikei wrote:
| One team in my company insists on storing everything related
| to a target in an MB-size Elasticsearch document and then do
| all the aggregation client-side, because they already use ES
| for everything else and don't know how to use a relational
| database.
| klabb3 wrote:
| I don't understand the confidence that leads to such misuse.
| I'm NOT a db guy by any means, and yet when I need one I'm
| carefully looking up things like "what's the space complexity
| of compound indices", at a development stage. Defensive and
| paranoid. I guess there are a lot of cowboys out there.
| hobs wrote:
| Most people who use an index wrong dont understand space and
| time tradeoffs at all, how to measure if there is a problem,
| or how to identify what a thing should be in the first place.
|
| Most people who at least think a bit get pretty far before
| the vendor specific gotchas start biting.
| el_benhameen wrote:
| Man, I've had one of those "I'm an idiot and only an idiot
| would rely on me to build things" kind of days. This made me
| feel better.
| summerlight wrote:
| > Each ticket was a column. So if your most active user had 5
| tickets in total history, you needed 5 columns.
|
| I was thinking like, "Oh yeah, they have 5 tickets, so need 5
| rows. What's wrong?". And I read it again and found it's the
| word "column". It must be a big fun to write a query for such
| tables.
| kubanczyk wrote:
| I bet it was SELECT * FROM customers; followed by a for loop.
| Easy-peasy.
| j16sdiz wrote:
| It would be _slightly_ better if the DBMS have array types.
| Often they are not scalable, but it is better than thousands
| lines of copy-and-pasted code.
| emrah wrote:
| Honestly this is not necessarily a good reason not to invest.
| Sure this needs to be fixed, plus whoever allowed this to
| happen should be replaced but analyzing the business as an
| investment opportunity and passing because of this is just as
| insane in my opinion
| nicolas_t wrote:
| Execution is what matters in startups, if they either can't
| find developers who are halfway decent or if a cofounder
| wrote this, that's a major red flag that they don't know how
| to execute.
| SkyPuncher wrote:
| This is something I'd do it a ship it tomorrow, trash it the
| day after MVP.
|
| In a consultant project with nearly a year to deliver, no way.
| luhn wrote:
| Would it help, though, even in the short term? Making an
| actual `ticket` table really isn't that much work. If for
| some reason it is, you can always use an array type, or even
| shove JSON into a text column. Even if you're not thinking
| further than an MVP--hell, further than 5pm--one column=one
| ticket seems the most awkward and difficult solution I can
| think of.
| albert_e wrote:
| the most far-fetched justification I can muster up for
| this: the UI/user requried a tabular display of all tickets
| as columns with one row per user ... and they had a UI that
| only displays DB table contents as-is.
|
| Nah, even for a 5pm demo that just sounds absurd (with up
| to 500 tickets per user).
| hansvm wrote:
| My best guess is it started as a single ticket column, then
| maybe a manual migration to quickly add a second when a
| rat's nest of code was built around the single column
| already.
| melozo wrote:
| I worked at <large tech company everyone hates> and we had this
| exact architecture. The senior engineer (who went to Stanford
| and was proud of it) designed this system. I had long arguments
| with him about how this system wouldn't scale when we launched
| it, and used real production data to prove that it would
| happen. No one listened to me, it launched and imploded within
| a few weeks, and soon after I transferred off the team. The
| worst part is, that senior engineer was eventually promoted and
| that system was passed off to an entirely new team to battle
| with. That entire system was terribly designed, and I think you
| can guess why.
| abraae wrote:
| Show me your tables, and I won't usually need your flowchart;
| it'll be obvious." -- Fred Brooks, The Mythical Man Month
| (1975)
|
| It astonished me that people can ever think this is a good
| idea (everything in a single json document) or that anyone
| who thought it was could ever get funding or even get through
| any basic customer due diligence.
| cess11 wrote:
| One part of my work entails entering companies on their
| death bed and going through their software development and
| related investments. I see a lot of JSON-storage in the
| initially well funded ones. They cough up some crap on
| Firebase, get some tens of millions of dollars in venture
| funding, burn through, and never leave Firebase.
|
| It's really, really hard to sell systems implemented with
| these sexylicious clown technologies. Like, extremely hard.
| Apparently no sane person with money wants to pay a non-
| trivial amount for a pile of locked in JSON and Python
| scripts, and I haven't managed to add any insane ones to my
| network yet.
|
| The small companies without funding that topple over and
| end up in my way, more commonly they instead put some stuff
| on a VPS or two, and typically the market values them quite
| a bit higher.
|
| Fashionable technology choices burn through a lot of
| investment money. Seems to me like maybe a sign that money
| has been a bit too cheap a bit too long.
| itronitron wrote:
| So which is preferable storage from an eventual valuation
| perspective, organized files with a set of scripts, or a
| relational database?
| cess11 wrote:
| Generally something like Postgres or MySQL would have
| been a better choice in these cases. You can migrate
| those, as well as handle growth through sharding or
| clustering, and more easily adapt to changing business or
| market requirements.
|
| You'll need to recruit differently to build that way,
| though. Have someone that knows a bit of nginx and Linux,
| someone able to stitch together a bit of auth, things
| like that.
|
| Languages with explicit types are also preferable, as a
| prospective buyer you'd want to have your people become
| somewhat efficient fast when they start working with the
| system. If obvious type constraints you kind of have a
| guarantee that IDE tooling will help with this, whereas
| Python, Ruby, JavaScript can be rather inscrutable at
| first glance.
|
| Now, I have a financial interest in these things, it
| helps me if a system is well built and somewhat easy to
| evaluate, change and sell, so I have a bias. But in
| practice it seems that the basic setup of auth, storage
| and initial business logic takes very little time
| compared to the time it takes to flesh out the entire
| system needed to start making a profit, and since most
| (IT-)companies fail within three to five years it's
| probably a good bet to try and make the software you
| build be reusable and/or resellable.
| DanielHB wrote:
| It is not that firebase is bad, it is that most types of
| data for most types of applications are relational and
| belong in a relational database
|
| People bending document stores to fit every use case are
| insane.
| skydhash wrote:
| You can go with firebase for version N of your
| application when you have all relations between entities
| defined. If version N+1 redefines what your documents
| are, you're looking to write a migration script. That's
| not so different from SQL with all the joins. But there
| are people who can't design a data schema for neither a
| SQL database nor a document store.
| jerf wrote:
| It works great at a small scale. It's really convenient to
| have all the data at hand and be able to manipulate it
| directly in your programming language without having to go
| through SQL, which, no matter how comfortable you may get
| with it over years of experience and/or no matter how much
| library/ORM/etc. you throw at it, is always a foreign
| imposition into your programming language.
|
| If you _know_ beyond a _shadow of a doubt_ that you will
| never leave "small scale", it's honestly not a terrible
| approach. It's also easy to define how to backup "the one
| file that is everything". You also ought to be confident
| that the worst case of the One File becoming corrupted is
| something you can deal with. (Although this is an often-
| overlooked issue in systems design anyhow.)
|
| I've got some systems that have bits and pieces of this
| idea... but I'm really, really confident they'll never
| scale any bigger because for the systems in question it's
| simply impossible they ever would. I've got one that is,
| for instance, bounded on the set of wiki pages of a certain
| type that for it to grow into the 10,000s of pages where
| the approach would finally start to creak (from the
| "dozens" it has been in for the last several years and to
| all appearances will remain indefinitely) would require so
| much human effort to create those 10,000s of pages that I'd
| certainly have the budget to upgrade the approach anyhow as
| it would be negligible compared to the rest of the effort.
|
| It also helps if this not something you're loading per HTTP
| request; in my case it's one-time on startup of a
| persistent service.
|
| But you need to _know_ you understand the relevant scales,
| because this is an immense trap if you don 't do the math
| (it's not hard math, but it's math). Your prototypes work
| well and are easy to write and then are just total trash
| when they go to production, and presumably, if the engineer
| didn't do the math in the first place, it will emerge that
| they don't understand why the system is crashing in
| production either. Huge, huge trap. I've not quite seen
| this exact one with JSON files but I've definitely
| witnessed the "prototype that any experienced engineer
| could have absolutely guaranteed would not scale in about 5
| minutes of examination".
| nicolas_t wrote:
| > Does this sound insane to you? Early in my career, a client
| came to us with their internally developed perl web app that
| was very slow and asked us to help them. They were storing all
| of the information as csv files and would do exactly that, read
| the entire file, add a new row etc...
|
| We explained to them that we should rewrite it for them :)
| knodi123 wrote:
| > Does this sound insane to you? Obviously it should,
|
| I dealt with the exact same thing in my 2nd ever job. Entire
| customer and product database (with plaintext passwords) stored
| in a multi-meg public-facing .js flat file that had to finish
| loading before the app could do anything (with early-2000s
| internet). And to top it off, the app was a single monolithic
| file, in a directory with names like index.1.js,
| index.final.js, index.newest.js, index.45.js, etc etc.
|
| I had enough experience with best practices to go to our CEO
| and get the CTO fired, and went about rewriting it with git,
| mysql, and server-side logic with an actual architecture. And
| then, the windows server it was all running on got pwned into a
| porn server, and somehow it was my responsibility despite me
| never having seen this server and not even having admin
| permissions.
|
| Man, my first few jobs were educational!
| itronitron wrote:
| I heard rumor back in the late `90's of an e-commerce site
| that stored the prices for it's products in the browser
| cookie. Presumably a motivated buyer could go in and edit the
| cookie before checkout, although I don't know if that ever
| actually happened.
| kstrauser wrote:
| The one I'm thinking of stored prices in the HTML form as a
| hidden field. It trusted the client-submitted value when
| deciding how much to charge you.
|
| The justification I heard for the ethics of enjoying the
| home-rolled discount was that it was similar to haggling.
| The store chose to accept the offer.
|
| Not sure I totally accepted that, but appreciated the
| creative thinking.
| AntonyGarand wrote:
| This brings back memory: This was the case for a gold-
| buying website for the Runescape game in the 2000s. You
| could edit your cookies or other front-end facing
| information to change the price of items in your cart, so
| you could buy gold or items for much cheaper than the
| market rate. At some point, while the vulnerability
| remained, they started cancelling orders abusing this and
| manually checking the orders.
|
| I think you could still find some old youtube videos or
| threads on obscure forums with enough digging about that
| topic, that's how I learned of it initially.
|
| So this was a real thing!
| Shocka1 wrote:
| Low hanging fruit that seemed somewhat common back in the
| day was not verifying prices of items on the backend. So a
| somewhat technical user could edit the price in the html
| field of the item to be $10 instead of $100.
|
| Between this and everything being non https - what a time
| to be alive.
| knodi123 wrote:
| IIRC, an early version of myspace actually used a GET
| form for login. It immediately redirected, but if your
| browser was wide enough, and your eye was trained on the
| address bar and knew what to look for, you'd see the
| password flash by in plaintext.
| rescbr wrote:
| Back in these days I've seen one learning system that
| stored the correct answer in the value attribute of the
| radio button input tag.
| mrweasel wrote:
| Those types of design, especially the giant json document, has
| to be part of the reason some companies pushed pretty hard
| against the GDPR. Imagine trying to remove personal data from
| such a system.
| karmajunkie wrote:
| I worked very briefly for a company (that I won't name) that
| did this with elasticsearch. Every customer basically had a
| customized form for data entry, and every field on that form
| became a field in ES, even if that same field name and type was
| on _every_ other form in the system. Eventually they had to
| contract with another company to run a customized build of ES
| on a bespoke cluster because they blew past the default 10k
| limit on the number of fields in ES.
|
| When it became clear that they had zero interest in fixing
| this, I tendered my resignation and quickly found a new gig
| with sane architectural principals.
| YouWhy wrote:
| The two things we know about the vendor are unforgivable: the
| fact that they let a core piece of logic depend on indefinitely
| augmenting a Mongo record, and the fact that a deliberate effort
| by 3 somewhat above average people could replace them in about 3
| months of work.
|
| The fact that the vendor reached the state of doing business with
| a Fortune 500 client indicates how helpless organizations similar
| to this client feel facing even modest SW undertakings. Indeed,
| the project scope in question indicates it could be accomplished
| by some folks here as a hobby project.
|
| This also explains to me why Retool is so popular with tech
| leaderships, while not necessarily so with engineers. I wonder
| what other product approaches could address the same gap.
| eru wrote:
| Spreadsheets were the killer app for exactly that kind of
| problem.
|
| Thanks to spreadsheets any low ranking peon can hack up a
| barely working, janky prototype of their idea for a tool over a
| few days, without having to deal with anyone else in the
| organisation.
|
| Before spreadsheets, you had to convince higher ups to convince
| the IT department to take on your request. That would take at
| least three months. Then you'd need to wait another few
| quarters until they delivered you a barely working, janky
| implementation that didn't match your requirements written in
| something like Cobol or C.
| cpeterso wrote:
| And with Google App Scripts, you can augment your Google
| spreadsheets with JavaScript to write custom functions that
| can call remote services (and be called back as a service!).
| eru wrote:
| Yes. Though I was talking more about the 1980s, when
| spreadsheets first became a thing.
|
| That's also why I mentioned Cobol and C, Java hadn't been
| invented, yet.
| aledalgrande wrote:
| It's probably Accenture and if not, something similar. Where
| they put graduates to do all the work and then charge the
| hourly for senior devs.
| AtlasBarfed wrote:
| That was the 1995 model.
|
| It's all outsourcing or H1Bs now.
| danielheath wrote:
| I really want a term for the phenomenon whereby billion dollar
| companies frequently struggle to create the kind of technology
| three interesting weirdos can write over a weekend.
| dghlsakjg wrote:
| Misalignment of incentives
| gostsamo wrote:
| red tape. bureaucratic friction. multiple stakeholders
| coordination.
|
| The problem is not that smart people do not exist in a big
| org, but that they work in an environment with vastly
| different constraints which have been established because the
| scale and goals of the projects are vastly different from
| those in a small team.
| datadrivenangel wrote:
| Fred Brooks discussed this in the 70s.
|
| A software system is ~3 times harder than a weekend-garage
| program, and a software product is ~3 times harder than a
| software system, so you're at 9 times the work before even
| starting to go into all the work marketing and selling it and
| doing the internal overhead work to make sure that the
| organization is ready to sell and support the new product
| when it's ready...
|
| Also a billion dollar company has a lot more to loose than a
| few interesting weirdos working on a weekend project, and so
| rightly expect more risk management reviews.
| linsomniac wrote:
| I used to work for a regional telecom, at that time I was doing
| third tier support of applications. A couple devs and a couple
| support people went out to the users, the devs had been working
| on a new tool to solve some major problems. The devs had been
| working on it for 6 months, and this was the first the end
| users were seeing of it.
|
| Next thing I know we're drive back across state line, dev's
| tails between their legs. As far as I know, no-one ever spoke
| of that project again.
| iamthepieman wrote:
| Maybe I'm lucky but I've never been fired for telling the truth
| and the truth is easier to align to. "There's a bug in a third
| party library that's part of the critical path "We can make it
| harder to hit the bug but can't fix it until the vendor fixes
| it", or "user growth has revealed performance issues no one
| thought we'd encounter this soon, we can spend three times as
| much money on infrastructure to mitigate it for the 2 months it
| will take is to fix it or lose customers due to performance" or
| "our biggest customer didn't know what they wanted until we
| delivered the first iteration, now they want something that isn't
| at all what we thought we'd be building. We can build it and be
| profitable or follow our dreams and die".
|
| Again maybe I've been lucky but honesty has worked well for me.
| lazyasciiart wrote:
| I've never been fired for being honest but I have been managed
| out of a team for it.
| mewpmewp2 wrote:
| I have not been fired, but my output has been ignored or
| heavily filtered by layers between high leadership and
| myself.
|
| And I have been given feedback in perf reviews that I have
| been disagreeing too much.
|
| And in those cases it did turn out later that I was right, so
| I wasn't being difficult for no reason.
| t43562 wrote:
| This is not really about honesty - if someone asks your opinion
| you can explain your concerns diplomatically - but if they
| don't then you can also keep quiet.
|
| It's more about whether you're going to actively point out a
| problem with a plan that someone higher up than you is trying
| to take credit for. i.e. they will feel personally attacked -
| that their judgement is questioned - when you speak up.
|
| It's an extremely difficult thing to do without making enemies
| and enemies last a long time and 1 enemy is more damaging than
| can be made up for by lots of friends.
| speed_spread wrote:
| In many environments, trust matters more than truth, and trust
| is gained by only telling nice things. So you have to play the
| game.
| xyst wrote:
| People that surround themselves with "yes" people often fail to
| digest the truth. So as others have mentioned, they will "take
| it under advisement" and then you will slowly get phased out or
| put into "busy work".
|
| Second option is to hold your tongue, watch them struggle, and
| eventually fail over a long period of time. Usually 1 year but
| have seen it fold in less than 2-3 months and the leadership
| effectively canned the next quarter.
| noncoml wrote:
| They say that at the time they were an "Enthusiastic Young Dev"
| but worked for a Fortune 500 company reporting directly to the
| CTO and interacting directly with the customer and leading a
| team.
|
| Something doesn't add up or is it just me?
| ang_cire wrote:
| My boss was an enthusiastic (sorta) young dev, who has reported
| directly to our CISO ever since I started, and is now markedly
| less enthusiastic.
| aidenn0 wrote:
| Some companies have high enough turnover that you are senior
| after 2-3 years and could be reporting to at least a VP in
| under 5.
| pratclot wrote:
| Exactly this! Yet the overwhelming majority of the comments
| takes it for a real story and jumps to share their experiences.
| I wonder if it was generated by an AI that just does not have
| an ability to cross check what it wrote.
| jrpt wrote:
| If you're seriously considering lying to the CTO you should
| instead just get a different job at a different company. That's a
| really bad working environment if you think lying is acceptable
| or something to be proud of.
| _carbyau_ wrote:
| If you are considering jumping ship anyway and you are "young
| and enthusiastic craving the rock star ego payout"; why not do
| it and see what happens?
| aorloff wrote:
| If you ever come across a project where you are wading through
| levels of duct tape and wondering how this technical design ever
| got out the door you can be sure that when you get to the bottom
| you will find MongoDB.
| speedbird wrote:
| But its WEBSCALE!
| aidenn0 wrote:
| https://www.youtube.com/watch?v=b2F-DItXtZs
| giancarlostoro wrote:
| The issue isnt MongoDB it is inexperienced people using it. I
| have built very useful and great projects using MongoDB.
| roenxi wrote:
| Everything in this story is dysfunctional, including the
| protagonist's approach. It is completely unacceptable for a team
| leader to give their people time off and lie about it and he is
| well in to territory where the company could fire him. I wouldn't
| be surprised if it was a fire-for-cause situation, in fact.
| Although upper management sounds so off the rails that he would
| probably get away with it and get a commendation of some sort; it
| does seem to be a play to the environment he's in.
|
| A tip for new team leads; there is nothing here to feel proud of
| and a better play is to kick up a huge stink about people are
| working overtime and insist that the vendor be held to sane
| standards or project scopes reconsidered to fit in a normal work
| week schedule. Trying to make this sort of situation work is
| going to burn people out for nothing, or get people fired with no
| potential upside.
|
| Unless I were truly desperate for work to keep my family going, a
| team lead has a responsibility to protect their team's reasonable
| work hours from insane requests. That is a hill to get sacked
| over, but not to lie for.
| speedbird wrote:
| Because throwing the CTO under the bus is always career
| enhancing ...
| roenxi wrote:
| That isn't throwing anyone under the bus. I've had literally
| that conversation and it went fine. If you're optimising for
| dev productivity, you let them take holidays and work them to
| a plan that lets them get a good night's sleep and some time
| to recover.
| refulgentis wrote:
| You literally had what conversation? You went over the CTOs
| head, to the CEO, problem got fixed, and your career stayed
| on track, and it was a company of > 5 people?
|
| #1) That's a miracle.
|
| #2) That's before we get to the actual situation.
|
| It's December and work is due to the client in 1 month.
|
| 99 times out of 100, the CEO is going to decide you're an
| insubordinate loose cannon showing up inappropriately late
| to make confusing complaints about outsourcing decisions
| that were made 10 months ago.
|
| Conversely, lets say you made a big stink about this 10
| months ago, when the outsourcing decision was made. 999
| times out of 1000, the CEO is going to assume you're an
| insubordinate loose cannon showing up inappropriately to
| make confusing complaints about outsourcing that are above
| your pay grade.
|
| Hell is other people, and I find it _very_ hard to believe
| you have extensive experience and can breezily handwave
| about "literally having that conversation", in any form. I
| can think of a reason why at every point in this entire
| story, the person complaining would be blamed. I don't
| think the outcome is great, I'd definitely be looking for
| other jobs, but again, 36 years old and every experience
| I've had everywhere is that these situations are bad news
| and you wanna avoid conflict, unless you have nothing to
| lose.
| roenxi wrote:
| The "kick up a huge stink about people are working
| overtime and insist that the vendor be held to sane
| standards or project scopes reconsidered to fit in a
| normal work week schedule" one. I'm not sure where you're
| getting "went over the CTOs head" from; I never suggested
| doing that. It sounds like a stupid thing to do. You kick
| up a stink by talking to the CTO, 1:1. Or whoever you
| report to.
| refulgentis wrote:
| Ummm...let me think here:
|
| Poster: Because throwing the CTO under the bus is always
| career enhancing ...
|
| You: That isn't throwing anyone under the bus. I've
| literally had that conversation.
|
| Me: What do you mean? You complained to the CEO about the
| CTO?
|
| You can't "throw the CTO under the bus" when talking to
| the CTO, "throwing X under the bus" colloquially means
| "blame X for the problem when talking to authority figure
| Y"
|
| That's why your comments are confusing.
|
| The thread leading up to your comment is presupposing
| tattling on the CTO to some authority figure.
|
| You were very terse and dismissive in your reply.
| Apparently you were trying to communicate "No, I was
| smart, I didn't talk to an authority figure", instead you
| said you've "literally had that conversation", which
| would further imply you tattled to a authority figure,
| and that you only wanted to disagree on whether this
| constituted throwing the CTO under the bus to the
| authority figure.
| bcrosby95 wrote:
| He never said he goes to the CEO.
|
| This story is about the CTO having a dumb idea and
| literally no one pushing back on the plan, with the only
| people suffering are the (relative) grunts. There's ways
| to respectively raise flags here.
|
| The answer isn't to go to the CEO, the answer is to not
| be a drone-like yes-person.
| mewpmewp2 wrote:
| So who do you have this conversation with if history has
| shown that yes people are the ones who stay close to CTO
| and others get filtered?
| ThunderSizzle wrote:
| Be honest. Be kind. Be quick. Be brutal. Be thoughtful.
| Be diplomatic.
|
| But be honest. Honesty will be a great adventure of your
| life. If you get punished for it, so be it. Those who
| punished you for no reason and for ill-will will receive
| their reward, even if you never see it happen.
| ziddoap wrote:
| > _Those who punished you for no reason and for ill-will
| will receive their reward, even if you never see it
| happen._
|
| Your comment sounds very nice.
|
| However, when that punishment you receive is losing your
| job and you have to feed and house yourself (and maybe a
| family!), there is no solace to be had in they
| hypothetical divine justice you speak of.
| bcrosby95 wrote:
| I totally get where you're coming from. Sometimes we
| gotta just lay low. But at some point in your life, if
| you're _always_ afraid of pushing back against demands
| because you 're afraid of getting fired, its more of a
| "you" problem than a "them" problem.
| ThunderSizzle wrote:
| Being honest is not easy. If it was, the world would
| probably have more honesty and truth in it.
|
| If your fired for honesty, shake the dust from your feet,
| pick yourself up, and move forward with your life away
| from those tyrants. Will it suck? Yes, but only until you
| come out the other side.
|
| The alternative, perpetually lieing to keep your job,
| letting those lies spread into the rest of your life, and
| eventually being caught in your web of lies, will suck
| much more, and there is no light at the end of that
| tunnel. Small lies turn into big lies, and some lies turn
| into several lies. Eventually, you will lose yourself in
| your lies.
|
| And on top of that, now you were to one who perpetuated
| and invited evil to continue. You are the creature you
| wished to prevent by lieing in the first place.
| ziddoap wrote:
| > _If your fired for honesty, shake the dust from your
| feet, pick yourself up, and move forward with your life
| away from those tyrants. Will it suck? Yes, but only
| until you come out the other side._
|
| If the "will it suck" = struggling to feed yourself or
| your kids, I feel like you are massively downplaying the
| "suck" part.
|
| In a perfect world, I agree with everything you said.
| Unfortunately, we don't live in a perfect world, so
| sometimes you have to be a bit more realistic.
|
| And, realistically, I would rather lie and keep my job
| than be honest and have to explain to my wife that we get
| to choose between electricity and eating.
| ThunderSizzle wrote:
| If you would get fired for being honest, then yes, go
| home to your wife, tell her you lost your job, and you'll
| find a better job. If you are a dependable worker, you'll
| find a job. And being honest isn't an acceptable reason
| to avoid unemployment.
|
| Having said that, being honest isn't being stupid. It
| doesn't mean you can't have another job already lined up
| when you hand in your notice because you realized your
| employer doesn't like truth. Or that you need to always
| be blunt. Honesty is about being firm snd diplomatic.
|
| In an alternative world, would you like to lie so much
| that you begin cheating on your spouse? After all, it
| starts with one small lie. And that your kids never trust
| you when they are older because they know how much you
| lied to them?
|
| And that job interviews go poorly because they already
| know the previous lies at your previous employer?
| refulgentis wrote:
| I generally agree with what you're saying, and I've lived
| it, but the examples are a touch extreme and muddy the
| message.
|
| I left Google after 6 years by carefully, over months,
| thinking through what was happening, what my limits was,
| what I'd do next, and whether I could show senior
| leadership at the company and my division was aligned
| with me, even if immediate leadership was acting like it
| didn't matter and playing games and never talked
| directly.
|
| Regardless, people are awful, people who previously over-
| the-top treated me like I walked on water and we needed
| to get the project done by any means necessary, treated
| me like I was having a sudden mental health issue by not
| finding a magical way to force someone who had found 1000
| reasons to delay and not compromise.
|
| I don't know that I'll ever work _for_ someone else
| again, and even with A) my full knowledge going in and B)
| support from professional mentors in the company and
| mental health professionals, it's taken me almost a year
| to get back to 90% okay with the world. There's no karma
| here, they stayed there getting checks.
|
| I agree with your point, and have lived it, but I think
| you are doing yourself and others a disservice by
| painting in such stark absolutist terms.
|
| I wouldn't be able to make the decision to accept leaving
| without numerous previous decisions to bite my tongue and
| vest.
| chasontherobot wrote:
| I'm trying to figure out where you are getting this "go
| above the CTO's head to the CEO" situation from the
| message you are replying to?
|
| I am not the person you are replying to, but I've
| definitely made a stink my boss about my people being
| overworked. If the person from the original article went
| to the CTO and said "look, my people need a week off, but
| we will still have the software delivered on schedule",
| that would have been the right solution, not lying to
| your boss.
| refulgentis wrote:
| A: Because throwing the CTO under the bus is always
| career enhancing ...
|
| B: That isn't throwing anyone under the bus. I've
| literally had that conversation.
|
| This led me to believe B had a literal conversation where
| a literal CTO was not-literally thrown "under the bus",
| meaning "authority figure was told the CTO was to blame
| for $X". Authority figure for a CTO is generally CEO.
| mewpmewp2 wrote:
| Then you risk with CTO saying "no, we just can't afford
| it."
|
| And then it feels like they might more actively look into
| that.
| tw8345 wrote:
| sometimes you burn the CTO but you better make sure you
| brought ample firewood because guys at top can take some
| serious heat before melting and most low levels underestimate
| the amount of firewood it takes resulting in getting roasted
| by the leader instead.
| cess11 wrote:
| Once I worked for a company that had an ex-googler on the
| board who tried to act as CTO. Eventually I tried desperately
| to throw that person under the bus but the CEO bizarrely
| moved the bus around instead of letting the bad influence on
| the company take a hit.
|
| Took a year of trying, then I left and one of the other two
| developers did as well. Would have stayed for longer if they
| payed me more which I made very clear, but they were stingy,
| adding like ten percent to an already pretty low salary and
| presenting it as such an effort on their part.
| dheera wrote:
| > It is completely unacceptable for a team leader to give their
| people time off
|
| It is more unreasonable for the company to cancel already-given
| time off.
| nashashmi wrote:
| The part you are missing here is that the work was already done
| and none of that progress was shared with management. After all
| what would they do? Accelerate the project!
|
| Stick it to the man when they try to get others to work harder
| to glorify themselves. Weak bastards.
| stronglikedan wrote:
| The team leader reports to the CTO. The team only reports to
| the team leader. Therefore, it's perfectly acceptable for the
| team leader to give their people the time off, and even lie
| about it, since it didn't affect performance.
| theogravity wrote:
| > The database they chose was MongoDB and at the time Mongo had a
| record limit of 16MB per document.
|
| I loathe working in MongoDB (have been for the past 3 years at
| work), but this is one situation where it's just absolutely bad
| schema design and not necessarily Mongo itself.
|
| I may have missed it, but why let the vendor even proceed with
| this behavior? I get there's timelines with the client but can't
| you sue or get a refund from the vendor for their screwup?
| RulerOf wrote:
| The proof of concept was writing to a JSON file. Someone said
| "but we need to use a real database."
|
| A couple JIRA tickets later...
| neilv wrote:
| Any impressionable kids reading... this story playing out like it
| did is highly company-dependent, as well as luck-dependent.
|
| In a _healthy_ company /organization:
|
| * That outsourcing implementation approach probably wouldn't have
| happened, because an experienced person could've guessed how that
| would turn out, before it was started (it's such a cliche).
|
| * Earlier on, people would tell the CTO it wasn't working out,
| instead of lying and saying the opposite.
|
| * Whenever they needed to do something smarter/creative to rescue
| the project, they could work with the CTO on that, and maybe even
| with the customer.
|
| * There wouldn't be marathon whip-cracking over the holidays,
| especially not after the team was already burning out.
|
| * A manager/lead would go to bat for the success of the project
| and the health of the team, and insist upwards that the team
| needed a break over the holidays, if that needed to be clarified.
|
| On that last point, in a "half-healthy" organization, a manager
| might intentionally be very vague, and omit information. That
| happens, and might or might not be a good idea, depending.
|
| But the way this story is told, it sounds like the manager/lead
| outright lied repeatedly up the chain of command, which is
| generally considered very-bad, in both healthy and unhealthy
| companies.
|
| I'll add that these things are vastly easier to armchair-
| quarterback. Certainly we're all going to make mistakes,
| especially when put in difficult positions, and/or when
| overextended/fatigued. But it helps to look at scenarios, to try
| to learn from them, and to think from a distance how they
| might've been handled better, so you're armed with that
| "experience", the next time you're tossed into a rough situation
| that has some similarities.
| tw8345 wrote:
| Where do you find this mythical organization you call a healthy
| company?
| neilv wrote:
| It's aspirational, and people who aspire will achieve it to
| varying degrees.
|
| For starters, we can all aspire to work in a company where
| people wouldn't be outright lying, nor feel that they needed
| to.
| smaudet wrote:
| > we can all aspire to work in a company where people
| wouldn't be outright lying, nor feel that they needed to.
|
| I think you should consider this might be antithetical to
| the very concept of a company - although don't
| misunderstand me to mean I think all companies are
| "dishonest" (even if many are).
|
| "Working" in a "company" implying making some profit,
| usually implies something proprietary, which implies some
| secret, or with-holding of information/resources. So then,
| most, if not all companies, function off of scarcity-of-
| information/resources, and probably wouldn't be successful
| without.
|
| Withholding of information or resources, is awfully close
| to the next step i.e. "lying". In fact, it is frequently
| requisite to "lie" i.e. tell half-truths in order to
| conceal/confuse/distort whereabouts, processes, etc. So
| while the stated goal of many companies may be
| transparency, this is actually incompatible with their own
| goals in many ways. And so this can be seen repeated
| internally, where "resources" usually imply "promotions",
| "sales leads", "job responsibilities".
|
| This may explain why nearly every company seems to slowly
| become worse over time...
| hibikir wrote:
| Many of the top companies you know were that healthy company
| once. You basically need to be one at that magical inflection
| point where the growth will crush you if your engineering is
| not empowered and on point. Especially back when clouds
| didn't exist, or were far less featureful, so turning dollars
| into horizontal growth was not a thing.
|
| The dark secret is that being a healthy company is just a
| moment, not something a company is at all times. Staying a
| healthy company as you grown when you are actually successful
| is very hard, and once the health is gone, good luck
| regaining it, because now you have a lot of people that
| thrive in unhealthy environments.
| 000ooo000 wrote:
| >being a healthy company is just a moment
|
| Bang on. This is why I find these other comments which
| amount to "work in an unhealthy company? Just don't!" to be
| so naive. You're only ever one departure away from a
| shakeup which can totally change your work environment. If
| you aren't equipped or prepared to play the big game, then
| your options are
|
| A) suffer
|
| B) leave and roll the dice on the next joint
| antod wrote:
| So true, when looking back at the great companies I've
| worked at, none of them are still like that any more.
| hn_throwaway_99 wrote:
| To be honest, I'm wondering where all these cartoonishly
| _unhealthy_ companies come from. I 've worked in a bunch of
| companies in my career, and sure, at pretty much all of them
| at one time or another I may have thought "are you f'ing
| kidding me?", but that's really just the nature of large
| organizations.
|
| And perhaps I've just been lucky, but in 25 years in tech
| I've never seen the level of gross incompetence described in
| this post. I'm truly envious of the vast majority of senior
| leaders and execs I've worked with - not because they're
| geniuses or anything, but because they excel at things that I
| find very challenging (and I know from my stint in
| management) and I learned a lot from them. Again, not
| everyone, but I've certainly had more good bosses than bad.
| neilv wrote:
| Yeah, I've generally had good bosses and colleagues,
| including some outstanding great ones. (Actually, I had
| such overall good colleagues earlier in my career, I was
| totally unprepared the first time I ran into someone
| dishonest. It took too long to believe they would behave
| like they did, which ended up extremely costly.)
|
| Despite overall good experiences, I've heard of dysfunction
| like this article describes, and even worse, in _numerous_
| real-world companies. Talking about particular instances
| can be very delicate when you have insider info. But I
| think there 's enough frequent dysfunction in industry, and
| some very common tropes that we keep hearing from people at
| other companies, that senior engineers will tend to be able
| to immediately recognize some of it.
| StressedDev wrote:
| My experience matches yours. I have had very few bad
| bosses and almost all teams I have worked on have been
| healthy. I have been on a few bad teams and groups. They
| usually failed. They were not bad because they failed but
| because lying was rewarded, political skill was rewarded,
| and solving the customer's problem was not valued.
|
| When I see questions like "where are the healthy
| companies?", I think either the poster has been very
| unlucky, or the poster might be the problem. When I say
| the poster is the problem, I mean they typically fall
| into one of the following buckets:
|
| 1. The person is very critical and cannot accept humans
| for what they are. They demand perfection, demand their
| coworkers are the best in the field, etc. They may also
| minimize the positives.
|
| 2. They have a very cynical or negative outlook.
|
| 3. They do not like their field (computers, sales,
| accounting, medicine, etc.). As a result, they are always
| unhappy.
|
| The main point is something inside the person causes them
| to view every organization as screwed up and awful. This
| includes organizations which are OK, good, or even
| outstanding.
| barrenko wrote:
| Understand that luck works in the same way as "unluck".
| t43562 wrote:
| Your experience is not a scientific experiment so you
| also have to consider that you might have been lucky.
| Perhaps other people have been unlucky.
|
| For example, I could paint your post in a negative light:
| "A poster who blames the victim perhaps wants to feel
| good about the company they work in and ignore the
| experiences of others, or perhaps they are now in a
| responsible position and don't want to think that they
| might be part of a problem."
|
| This would be unempathetic but so is trying to blame the
| people who describe their bad experiences.
| eastbound wrote:
| 4. For myself, I was incompetent as a developer.
| Therefore I always landed in dysfunctional organizations.
| I was invested a lot, but in learning the wrong things.
|
| Since I became competent (it was 2006, there were no
| Youtube tutorials for everything), I work with awesome
| people. It also means my managers at the time didn't
| coach me properly (unsurprising for dysfunctional orgs).
| Life is much easier when you're on top of things, and
| much harder when you're unlucky. Unluckiness compounds.
| pmlnr wrote:
| > where all these cartoonishly unhealthy companies come
| from.
|
| From MBA people.
| raverbashing wrote:
| Let's not kid ourselves, engineers can and do fumble
| management matters
| sambazi wrote:
| probably more like too entrenced in their trade and don't
| focus on other ppl.
| varjag wrote:
| Jack Welch was chemical engineer...
| rbancroft wrote:
| There are effective and ineffective MBA's.
| sage76 wrote:
| Except MBA claims to be a signal of management
| capability. With that prior assumption, it is a
| catastrophic failure.
| huygens6363 wrote:
| Perspective matters IME. I held both perspectives, this org
| is dysfunctional and healthy, at the same position,
| organization and exact same circumstances.
|
| In one I was sure I was right and in the other I
| entertained the notion I actual might not be and things are
| not that simple.
| justinclift wrote:
| Don't get a job at IBM. ;)
| michaelt wrote:
| _> To be honest, I 'm wondering where all these
| cartoonishly unhealthy companies come from._
|
| Simply take the norms of one industry, and apply them in a
| radically different industry.
|
| Take a manager from the construction industry who knows a
| bricklayer with an assistant can lay 2 tonnes of bricks in
| an 8 hour shift, and if they didn't it's probably because
| they took a 3 hour lunch break, and apply it to the
| software world.
|
| Take a manager from the food service industry, who expects
| workers to clock in before their shift starts, and that a
| worker who's even two minutes late is letting down the team
| and needs immediate attitude adjustment.
|
| Take a manager from precision manufacturing, where Zero
| Defects is the norm, and "bugs" don't exist, and failing to
| deliver precisely what was promised is a big embarrassment.
|
| Take a manager from the call centre industry, who thinks if
| you take a lax attitude to sick leave people will start
| falsely calling in sick all the time, anyone who calls in
| sick should be interviewed by HR upon their return.
|
| Take a manager from a paperwork-heavy industry where work
| is simple but precision is important - like data entry for
| paper forms, where a worker who makes even minor typos just
| isn't cut out for the work.
|
| Take a drill sergeant from the army who knows the most
| important thing in inducting a new employee is yelling in
| their face and bullying them, thus letting them bond with
| their peers....
| dullcrisp wrote:
| Man I didn't know all my managers had side gigs
| stoneman24 wrote:
| I didn't know that my manager had such an extensive
| resume.
| hn_throwaway_99 wrote:
| I definitely agree with that. Probably the worst company
| experience I've had was with senior leadership who
| fundamentally didn't understand how software development
| works.
|
| But still, I've _never_ experienced a CTO who was that
| clueless. Other members of the senior leadership team,
| certainly, and I 've certainly seen CTOs who I thought
| were poor, but never really CTOs who were as clueless as
| the one described in this article.
| tstrimple wrote:
| Have you mostly worked for younger tech companies or were
| they "traditional" businesses who had to be forced to adopt
| technology? The places I've seen with the biggest
| challenges are all large old and well established
| companies. Think insurance, transportation, agriculture or
| healthcare. Places where the people who managed the entire
| system out of file cabinets a decade ago now manage the
| document repositories they don't understand and they are
| still bitter about it.
|
| The insurance company was known for hiring contractors and
| keeping them on the bench for months to years just in case
| they needed them. I also remember while working there a
| particular Big Three consultant kept showing up in people's
| meetings and never speaking up. No one could figure out
| what he did or why he was there, but the agency was billing
| $500 / hour for his time and no one could figure out how to
| get rid of him. It was a complete shit show. This doesn't
| even touch on some of the major technical blunders they
| made throughout the years. Just a few small personal
| anecdotes.
|
| The transportation company was even worse. Literally the
| worst company I've ever spent time at. It only employees
| around 15k people, so it's quite a bit smaller than the
| above insurance company. All signs indicate that this
| company was well run by the founder. But not by his sons
| who inherited it. They had a driver turnover rate of over
| 100%. If they needed 100 drivers for the year, they would
| have to hire 105 drivers throughout the year. They just
| constantly churn through brand new drivers, train them up
| and lose them to other companies through incompetence. One
| of the consequences of constantly burning through brand new
| CDL drivers is you have higher accident rates. The project
| I was brought in to consult on was a driver monitoring
| system. So if the driver braked too hard or swerved too
| fast it would create an incident and the driver would have
| to talk to someone after their route to explain what went
| wrong and how to prevent it in the future. I can't imagine
| why they had turnover problems! Their entire IT org was run
| in a similar dysfunctional way.
| aprdm wrote:
| I have close to 15y of experience now, and I've mostly only
| worked on healthy companies - I can think of 1 that wasn't. I
| have worked in ~8 companies give or take.
| mewpmewp2 wrote:
| That seems quite a lot of changing the companies. Why so
| frequent switches?
| okwhateverdude wrote:
| Not OP, but I have a similar track record. Frequent
| switches because boredom, better pay (especially the
| first half of my career), and always searching for that
| amazing moment of confluence where I'm the dumbest guy in
| the room and working on an incredibly interesting/complex
| problem. Two years is about right to tackle something
| important and deliver, and also feel out if there are
| other opportunities at the current company. It has mostly
| worked out for me. You get really good at on-boarding
| yourself and getting up to speed quickly. I sell my labor
| as being an expert generalist and have professionally
| worked with half a dozen different languages, numerous
| different stacks, in a few different industries, and at
| big, small and in-between sized companies.
| mewpmewp2 wrote:
| I feel like this approach wouldn't be able to make me
| truly valuable at any larger company for example, which
| in this case would be the ones considered unhealthy?
| Because there's enough complexity that takes years to
| understand. I think as an engineer your ability to
| provide value climbs in multiples the more you understand
| the product and what the company itself exactly values,
| besides the tech. You can solve meaningless problems
| using tech, but if you understand what is exactly worth
| solving, this is when your value can skyrocket,
| especially the larger the company is. Because you will
| have the understanding of marketing, leadership and
| product people while having technical capability to know
| what can be done.
|
| And also I feel like if it's better to switch companies
| every 2 years because of better pay, it implies that the
| current company is not actually healthy, because if they
| were, they would understand the value you provide, you
| should be able to provide more value at their company
| rather than starting from scratch in another company.
|
| While I don't feel my current company is healthy, at
| least I feel like I've been able to climb through promos
| and compensation faster than if I were to switch every 2
| years. I have been there for 6 years.
| okwhateverdude wrote:
| >Because there's enough complexity that takes years to
| understand. I think as an engineer your ability to
| provide value climbs in multiples the more you understand
| the product and what the company itself exactly values,
| besides the tech. You can solve meaningless problems
| using tech, but if you understand what is exactly worth
| solving, this is when your value can skyrocket,
| especially the larger the company is. Because you will
| have the understanding of marketing, leadership and
| product people while having technical capability to know
| what can be done.
|
| Yes, exactly. I am lucky that I am auto-didactic and grok
| things quickly. This is what I meant by
| complex/interesting problems: those are the kinds of
| problems that management is interested in because those
| make money. The more skilled management is, the more able
| they are to recognize those opportunities and allocate
| skilled labor to make it happen. The friction and need
| for finding a new company is when you work for under-
| skilled management that don't.
|
| >And also I feel like if it's better to switch companies
| every 2 years because of better pay, it implies that the
| current company is not actually healthy, because if they
| were, they would understand the value you provide, you
| should be able to provide more value at their company
| rather than starting from scratch in another company.
|
| Those companies only deal with the market reality when
| hiring new. Yes, it would make sense to retain your
| valuable people and reward them accordingly in an
| equitable situation, but when your shareholders are
| pressuring you to reduce labor costs, it is too tempting
| to give only CoL adjustments in spite of record profit
| quarters. They bank on retention through other means
| besides monetary (inertia, "career progression" cult,
| etc). To them, labor is a resource that is fungible
| rather than the core pillar of their business. They
| simply won't value your labor appropriately without
| negotiation.
|
| Starting from scratch is really only a limitation if you
| don't ramp up quickly. And that means building social
| capital and demonstrating clear wins early.
|
| > While I don't feel my current company is healthy, at
| least I feel like I've been able to climb through promos
| and compensation faster than if I were to switch every 2
| years. I have been there for 6 years.
|
| And how broad or deep has your experience been in those 6
| years? Any serious migrations/rewrites/stack
| changes/scalability challenges/greenfield? Do you really
| feel you've been challenged professionally in that time?
| Being on the new hire cusp, especially for new
| initiatives is where all the action is and what has
| management's attention and capital expenditure. Being a
| backfill hire on a feature factory or vendor
| implementation team is definitely not where growth is
| going to happen.
|
| And have you accumulated enough wins to make your next
| interview process easier? Thing is one of the gigs with
| the most impact in my career was one where I was able to
| find new opportunities within the org to deliver value,
| but it was the confluence of smart, motivated people
| working on interesting/complex things. If you aren't
| getting that, your 6 years in one place doing the same
| thing is working against you because all tech ages and
| decays.
| aprdm wrote:
| Maybe you found a great company from the get go, those
| exist as well !
|
| My pay bumps went something like: 1.5x, 1.5x, 2x, 2x,
| 1.5x, 1.5x, 2x (note that I changed countries twice so
| some of the bumps of 2x were also for a more expensive
| cost of life )
|
| In only one of the companies I stayed more than 2y and
| was pretty great, I went from senior to senior manager
| within 4y. Now I'm at 2y again at my current company and
| am pretty happy, unlikely that I will change again.
|
| The healthy part described by the parent post was along
| the lines of healthy work environment, not pay. Apart
| from my current company I've never worked somewhere that
| would give more then 5-10% increases per year, they were
| more like 0-5
| aprdm wrote:
| In the beginning of my career I changed jobs quite often
| for better pay. That gave me a lot of big increases. In
| one of them I stayed less than 6 months.
| rsynnott wrote:
| I mean, nowhere's perfect, but I don't think I've ever worked
| anywhere as dysfunctional as the company depicted in the
| article. That's really quite bad. If the place you work is
| like that, consider applying elsewhere; this is not typical.
| ethbr1 wrote:
| All of the bad stuff in the article is a consequence of the CTO
| not being able to call technical bullshit and encouraging a
| culture of yes-reports.
|
| If you ever find yourself in a company like this, start looking
| for a new job.
|
| It's impossible to fix rot that bad at the top, and they're not
| going to make you CTO.
| fendy3002 wrote:
| The worst problem is, every success will be credited to CTO
| and every failure will be aimed towards the manager because
| it's a disobedience. In this case, the CTO also reward the
| credit to his friend because he/she doesn't know the backend.
|
| In the short time you may save the company, in the long time
| you'll lose and the company will lose too.
| dheera wrote:
| > encouraging a culture of yes-reports
|
| I get the impression that most large corps are of this
| culture at this point
| StressedDev wrote:
| Nope - Well run companies want to know the truth, expect
| mistakes, and want people to learn from them. In most of
| the teams I have been on, being a yes person is no t
| rewarded because yes people cannot deliver.
| Log_out_ wrote:
| They deliver pressure, crunch and obedience. There are no
| well run companies. The defunct is part of the process as
| a load bearing pillar.
| mewpmewp2 wrote:
| What is the size of your company?
| orwin wrote:
| Mine has 1.2k people and is the same. Very unionized,
| it's the IT part of a big energy company.
| rezonant wrote:
| Most large companies aren't particularly well run.
| itsoktocry wrote:
| > _Most large companies aren 't particularly well run._
|
| What does it mean to be "well run" if our largest and
| most successful companies are not that?
| marcosdumay wrote:
| Well, I'd suggest you start by reviewing your idea of
| "success" and how companies achieve it.
| Jensson wrote:
| They were well run when they were small, then as they
| grew large they could live on just being large and
| dominant and started to accrue organizational debt like
| this. After a couple of decades almost no company is
| particularly well run, they grow until they are no longer
| well run or until they captured the entire market.
| ChrisMarshallNY wrote:
| Even small ones.
|
| I have run into _many_ people that work for companies,
| where vendor relationships are based on That Guy With the
| Really Good Coke at Burning Man, or, in more staid
| organizations, That Guy With the Prada Pimp Suit at the
| Country Club.
|
| Many times, the higher-level managers are working on a
| culture, where they are The Big Decision-Makers, With A
| True Knowledge of The Big Picture, and everyone else is an
| interchangeable peon.
|
| This is usually reinforced by their peers, and the culture
| is embedded like a tick. Pretty much impossible to
| dislodge, without damaging the entire company.
| itsoktocry wrote:
| > _I have run into many people that work for companies,
| where vendor relationships are based on That Guy With the
| Really Good Coke at Burning Man_
|
| This is the cynical view, but you're right.
|
| But why does this surprise developers? The more
| optimistic view is: people want to work with people they
| like. _I_ want to work with people I like.
|
| There's a trope in the tech world of the ornery IT guy
| that everyone tolerates because he's smart. Well, a lot
| of times these people aren't as smart as they think they
| are, and will be the first to be replaced when it's
| possible. Life is too short to work with these kinds of
| people.
| ChrisMarshallNY wrote:
| I believe in teams. I was a manager, for many years, and
| having a strong, healthy team was of paramount
| importance.
|
| My team was pretty damn good. Almost everyone in it had
| decades of software development experience, but it was
| also difficult to manage. I had to deal with every
| member, individually, and had to sometimes be Bad Cop,
| but it worked.
|
| When I interviewed candidates, I don't think I ever made
| a technical mistake, but I did hire people that broke the
| team, and they didn't last.
|
| Teams are how we do big stuff. Individuals can be
| extremely productive, but there's an upper limit to how
| much they can do. If you can get a good team working,
| there's really no limit.
| yw3410 wrote:
| Could you elaborate what you mean when you say they broke
| the team?
| ChrisMarshallNY wrote:
| Generally, it was "personality fit."
|
| Being self-centered, dishonest, not taking
| responsibility, blaming others, etc.
|
| Each person had to be very reliable, and that included
| admitting challenges, and asking for help, as long as it
| wasn't asking all the time.
|
| Selfishness, where they would not compromise for the
| team, was a dealbreaker.
|
| I gave each of my engineers a great deal of agency, and
| expected them to deliver, as opposed to having to ride
| them. They were grown-ups, and I needed them to act as if
| they were.
|
| Personal Integrity and Honesty was a big deal for me, as
| was a sense of accountability.
|
| Most managers "cop out," and only hire people that "fit
| the culture."
|
| The problem is that homogeneity breeds mediocrity. If you
| want good, innovative stuff, you need to hire and manage
| people that don't "fit the mold." That's a challenge.
|
| Everyone seems to get caught up on technical merit, but a
| good tech can generally be trained to do anything. During
| my tenure (almost 27 years, 25, as a manager), we went
| through many iterations of technology, programming
| languages, etc.
|
| When we want a good, heterogeneous team, we need to hire
| for team cohesiveness, as well as technical merit. Almost
| no one we hired was able to just do the job, out of the
| starting gate. The tech was too specialized. We needed
| people that could be trained, and that would stay around
| (When they rolled up my team, the person with the _least_
| tenure had a decade).
| lukan wrote:
| The CTO certainly seems not the most competent.
|
| "Because the CTO had a yearly turnover of his direct reports,
| every status call about the project took some variation of
| "great idea, boss" even though literally no one involved
| thought it was even a good idea. Or even a mediocre idea. It
| was a bad idea"
|
| But if everyone confirms his bad decisions instead of
| pointing flaws out, then they are all part of the problem.
| atoav wrote:
| That is true, but the times I have seen such dynamics
| happen it was usually do to... emotional instability. If
| every time a subordinate brings you anything other than
| stellar news you get all emotional, angry and start blaming
| people guess what:
|
| Nobody is going to give you the truth anymore -- as A) it
| seems you can't handle it anyways and B) there is no
| incentive for them to give you the truth while there are
| many incentives to _not_ give you the truth.
|
| This is just bad leadership. The most important thing to
| make good decisions is correct and meaningful information.
| If you punish people for telling you things that you don't
| want to see, you will from now on never have a good picture
| of what is going on. Good luck making decisions that way.
|
| And this isn't even rocket science, it is basic common
| sense.
| lukan wrote:
| Yes, that is bad leadership. But the article does not say
| that this CTO did this:
|
| "If you punish people for telling you things that you
| don't want to see"
|
| It is implied, but I rather see direct evidence of a
| culture of yes saying and grumbling behind the back,
| something I learned to hate. Most people in reality do
| not face a existential crisis, if they speak up and the
| boss gets mad. It might cause inconvenience, but this is
| already enough for many to just nod along and venting out
| that frustration later. And wondering why nothing ever
| changes.
|
| Those things work both ways.
| atoav wrote:
| Agreed, this is all speculation and I have seen corporate
| culture that worked despite bosses like that, but these
| were also corporate culutures which would have worked
| even better without the interruptions and "great ideas"
| from the top.
|
| The main thing a boss can do is ensure the incentives for
| the behavior you want to see are there and there are
| disincentives for behavior you don't want to see. And
| with this over time corporate culture can be changed. But
| the peculiar thing is that you are part of corporate
| culture, and a part with special reach and importance --
| so you better act as you say.
|
| And this is rarely the case.
| shalmanese wrote:
| > But if everyone confirms his bad decisions instead of
| pointing flaws out, then they are all part of the problem.
|
| They are part of the problem but they don't have to be part
| of the solution. It's the CTOs job to realize they're not
| getting accurate information from below and work to fix it,
| that's why they're getting paid the big bucks. It's not
| like it's especially hard to figure out but building the
| trust to create an atmosphere of psychological safety is
| the job of executives and takes a lot of hard internal
| reflection but that's what you sign up to when you sign up
| to do the job.
| giancarlostoro wrote:
| Thats the key. If a CTO doesnt set a stage of "look be
| fully frank with me" then nobody will just say "look
| bossman, we could have finished this three months ago."
| When it really could have been less effort.
| pjc50 wrote:
| > "Because the CTO had a yearly turnover of his direct
| reports"
|
| Yet another red flag entry. Employee turnover should not be
| this high. It should be the #1 metric for detecting bad
| managers.
| licebmi__at__ wrote:
| Depends on the problem to solve. If they are trying to
| solve the problem of improving the CTO leadership skills,
| then yes, they are part of the problem. If they are solving
| the problem of putting food on the table, like most people
| are; then you might argue that this is sub-optimal, but I
| don't think putting their heads on the chop block is a
| better way to solve it.
| ziddoap wrote:
| > _But if everyone confirms his bad decisions instead of
| pointing flaws out, then they are all part of the problem._
|
| The nail that sticks out gets hammered down.
|
| If I'm in that position, my first priority is keeping my
| job. Correcting my boss in a culture where they are not
| accustomed to that is not helpful to job security.
| ethbr1 wrote:
| >> _every status call about the project took some variation
| of "great idea, boss"_
|
| I read that in two ways.
|
| 1. The CTO / management let that fly, instead of reflecting
| and challenging people when they repeated receive nothing
| but agreement.
|
| 2. People were apathetic, which means they weren't really
| engaged in meetings, which means the meetings were the
| wrong format shouldn't have been happening.
|
| Good companies encourage engagement (say the uncomfortable
| thing), empowerment (servant-leader), and reality (if
| anything is said that's not true, say something).
| np- wrote:
| > The CTO certainly seems not the most competent.
|
| Viewed from another angle, the CTO successfully
| psychologically manipulated his team and almost literally
| beat a working, cheap solution out of them, and will almost
| certainly get full credit for this victory done on the
| backs of others. SO, was he truly not competent? Or was he
| extremely, dangerously competent?
|
| Not only that, but while the CTO is busy counting his bonus
| money and accepting his new shares of equity from a
| satisfied performance condition, he managed to get the rest
| of the team to simply be proud of doing it for a pat on the
| back and the feeling of doing "live theater" or whatever.
| pnathan wrote:
| That is how I'd read it. I would actually say that OP got
| played, successfully.
| skeeter2020 wrote:
| I report to a CTO and certainly can point to people who are
| more like this, but even the most agreeable still pushes
| back sometimes. If you understand how CTOs think and what
| they want/need, it's not someone to poke holes in their
| plans, but propose adjustments and alternatives that fill
| the holes you see. It's almost like good improv
|
| Also CTOs (especially in supposed F500 companies like
| presented here) don't typically drive the project execution
| and interact with the development team in a more than
| cursory basis. THis is another reason I'm super-skeptical
| of the entire story. The smallest company on the current
| list is over 16K employees.
| steveBK123 wrote:
| I worked at a shop where 2 layers of management decided they
| didn't like to see red on RAG status reports and wanted to
| discuss "changing the definition of done" for projects to
| preclude you know.. actually shipping them to prod.
|
| That is when I ramped up my job search to 11.
| zer00eyz wrote:
| > Earlier on, people would tell the CTO it wasn't working out,
| instead of lying and saying the opposite.
|
| I have done this, also have brass balls and dont give a fuck.
| EDIT: I mean tell the truth, so rare to not hide the fuck up.
| See MS security memo.
|
| > There wouldn't be marathon whip-cracking over the holidays,
| especially not after the team was already burning out.
|
| Ha ha ha ha ha... Ok this is partly true. IF you work in a BANK
| or in a FAANG then yes. If you work in any company that has
| "startup culture" forget it. The thing is that skin in the game
| (real skin) will change your attitude about work pretty quick.
| I dont think there are many companies where you will get it and
| have the opportunity to see that.
|
| > But the way this story is told, it sounds like the
| manager/lead outright lied repeatedly up the chain of command,
| which is generally considered very-bad, in both healthy and
| unhealthy companies.
|
| Do you know how many times I have been the cowboy who got some
| shit done in the dark of night cause it needed to happen? Most
| of the people I know who are good have gone this route. Hell I
| have seen these sorts of things happen AT A BANK.
|
| Bend all the rules past breaking but tell no one. As long as
| you aren't making a huge fiscal bet (aka more than the company
| or your teams value) then your gonna get away with a lot. You
| either do it and get promoted or you get a new job (cause you
| limited your ability to get promoted).
| neilv wrote:
| > _If you work in any company that has "startup culture"
| forget it._
|
| Depends what "startup culture" is.
|
| I actually did an early startup work marathon over Christmas,
| to help pull off a minor miracle, and make a very hard launch
| date successful.
|
| But during the same period, I also managed the
| tasking/planning to shield a key teammate who'd gotten sick,
| and take stress off of them.
|
| > _Bend all the rules past breaking but tell no one._
|
| I think that depends on the company, and the kind of rule.
|
| In some companies, rules tend to be there for a reason, and
| if you break a rule, you generally have to disclose that, and
| maybe discuss it (ideally beforehand).
| fnord77 wrote:
| > Earlier on, people would tell the CTO it wasn't working out,
| instead of lying and saying the opposite.
|
| That's the part of the story that gets me. Everyone is acts so
| gutless.
| pojzon wrote:
| > Not my circus not my monkeys
|
| Some ppl just dont care coz in one year they will be in a
| completely different place
| pmlnr wrote:
| > In a healthy company/organization
|
| This mythical beast, where can one find one? I haven't, in the
| past 25 years of work.
| exe34 wrote:
| Scotland. The home of the true Scotsman.
| rrr_oh_man wrote:
| They do exist, temporarily, in the space of 10 to 50
| employees, and are often led by people who have been burnt in
| the past.
| wormius wrote:
| Former company of mine got a board member who pushed his
| "solution" on us, and it fucked up so much of our ordering
| processes, things we didn't even SELL were being shown. It took
| a year and a half to fix this, meanwhile it also meant we were
| unable to reverse a sale because "underwear" was shipped out
| and we can't cancel it (meanwhile, we don't sell underwear,
| just networking services). So we had to wait for the system to
| close out the ordering process and THEN they could assist the
| customer. Of course, that board member left a year later,
| Probably very pleased with himself for suckering our idiot CEO.
|
| But that's ok cuz I got laid off of there, and I have no
| sympathy for that bumbling company. Idiots trying to outsource
| "solutions" that only added more pain for everyone.
|
| Sometimes these are actual problems that need solutions but
| half the time ... It's just more crap to make themselves feel
| like they're "saving money but not building in house". Yeah
| just now you have to pay contracts to support the crap you
| never built in the first place. Good job. Golden parachutes for
| all the leaders, I guess.
| wordofx wrote:
| It wouldn't happen today because front end development is such
| a mess.
| flarg wrote:
| Even the healthiest large companies do this sort of thing, I've
| worked in a few and heck I've sold to a few too. Low code
| solutions that somehow need a team of contractors to deliver
| business functionality, delayed projects that drop key
| integrations to deliver something on time but functionally
| useless, CTOs whose next job depends on giving work to
| supplier. Worst of all, organisations that insist that they buy
| not build but then have larger software teams than their
| suppliers.
| bruce511 wrote:
| Developer interactions with management suffer from huge
| information imbalances, and a lack of trust.
|
| For example, I'm working on a project now to update a code base
| running on a (very) old compiler. We've been working for a year,
| and large chunks of the system are done. One (fairly major) part
| is yet to be completed.
|
| Management doesn't understand the process, or have confidence
| that the project will ultimately be successful. I don't blame
| them for being skittish, software projects (especially
| conversions) have a long history of failure.
|
| We had weekly meetings with them on progress - which are now
| twice-weekly (because that will speed things up.) Mostly they
| don't attend directly, a middle manager acts as a go-between.
|
| The developer view is that of course this will work (personally
| I've never been in doubt on that front) but the time-scale is
| uncertain because the system is large and old. But we're talking
| months left, not years. Yes, I'm aware of the 80/20 principle,
| but we're well into the 20% already.
|
| Of course to management it's a binary state, done or not-done.
| It's hard for them to guage progress. There's no "trust" in what
| we say.
|
| Which makes sense to me. We might have done 0 work for a year. If
| all we did was the meetings -they wouldn't know-. (Its a fixed
| price job, so it doesn't make sense for us to drag it out.)
|
| Of course the risk is all on them. They've spent a bunch of money
| and are nervous. They made (good) tech decisions (based on the
| advice of outside people who understand the tech) but they feel
| very uncertain. Ultimately if the project fails they'll take a
| hit (not so much us.)
|
| There's no easy fix here - you can't just argue that managers
| should be technical (the tech is not their core business), and
| more "consultants" won't make them feel warm and fuzzy. The best
| we can do is push through and deliver.
| trueismywork wrote:
| > They made (good) tech decisions (based on the advice of
| outside people who understand the tech) but they feel very
| uncertain.
|
| If they took advice of internal people and then made the same
| internal people work on it, this trust issue might get solved.
|
| Ultimately by showing lack of trust in their developers, they
| are showing lack of trust in their management skills for having
| selected the correct developers. They are doing one core part
| of their job very badly.
| ikiris wrote:
| They probably didn't pick devs that they trusted, they picked
| the ones they thought were the cheapest.
| trueismywork wrote:
| And so again failed at their jobs.
| bruce511 wrote:
| I think very few execs care about the cost of individuals.
| Firstly it's not their money, secondly they're not rewarded
| for "hiring cheap" but they are penalized for their failure
| to perform.
|
| Throw in that hiring in general is hard, and that hiring
| technical people when you are non-technical is even harder,
| and it's hard to have lots of confidence right out the
| gate.
| ethbr1 wrote:
| The problem with hiring good developers is that you need good
| developers and a solid corporate tech culture to hire them.
|
| If you don't have anyone you can trust to interview technical
| folks, how will you avoid hiring bad developers?
|
| And similarly, if you hire good developers but your corporate
| culture is bad, they'll leave, and eventually the only
| remaining developers will be bad ones.
|
| It's very hard for non-tech companies to hire and retain
| quality talent.
| bruce511 wrote:
| Alas, it's almost never that simple.
|
| Firstly because the tech team has varied enormously over the
| last 25 years. Some have been around a while, some are new.
|
| Secondly because middle management (and for all I know upper
| management) has cycled a lot over the last 25 years. (We've
| had 3 different middle managers on this project in the 2.5
| years since the project was first proposed.)
|
| So, speaking generally now, it's common for the people who
| did the hiring not to be the ones who now have trust issues.
|
| Equally decades of failed software projects (industry wide)
| have lead to a (well deserved) reputation for IT not being
| trustworthy.
| morgante wrote:
| If management has _no_ visibility into the project progress,
| that seems like a pretty major problem.
|
| It absolutely shouldn't be "binary." Any year-long project
| should have tractable progress metrics. Upper management
| doesn't need to be technical, but someone in the chain
| absolutely should be capable of translating progress into a
| digestible format.
| roenxi wrote:
| It is a major problem, but it is the big unsolved problem of
| software engineering that has resisted a remarkable number of
| attempts by unreasonably capable people. Under normal
| conditions the metrics you are talking to boil down to "the
| dev says we're making progress". The level of formality with
| which they say that changes, but not the underlying process
| of how the metric is generated.
|
| The only way to improve on that is for managers to go in to
| git and check what is happening. Technical managers can get
| deep into tracking progress. Non-technical managers cannot.
| morgante wrote:
| > It is a major problem, but it is the big unsolved problem
| of software engineering that has resisted a remarkable
| number of attempts by unreasonably capable people.
|
| That seems like a cop out. Knowing precisely how long a
| project will take is famously hard, but knowing the rough
| progress being made towards milestones is absolutely
| solvable.
|
| Git is the best place to look, but you don't need that
| level of detail to see new things being shipped.
|
| Everywhere I've worked (from small startups up to Google)
| it is absolutely the norm to have clear milestones to work
| towards on at least a quarterly basis.
| roenxi wrote:
| > knowing the rough progress being made towards
| milestones is absolutely solvable
|
| Yeah, but the process for knowing that is ask the dev and
| they will tell you. Or ask the PM who will ask the dev.
| Or ask a tech lead who will ask the relevant dev. Or read
| the spreadsheet entry that the dev updated. All roads
| lead through conversation with the dev working on a
| feature. There are occasional exceptions, but they are
| rare.
|
| If the dev is willing to lie, or honestly mistaken, or
| just too inexperienced to estimate how they are doing
| then it is close to impossible to gauge progress.
|
| > That seems like a cop out
|
| You would probably believe the number of people who say
| that.
| bruce511 wrote:
| When you build a building, it starts by digging a hole and
| then filling it up. Then you see walls go up etc. Although
| progress is visible, visible can lie.
|
| Obviously the project had milestones. But it is in the nature
| of big conversions/updates that you will encounter things you
| don't know. We're in that stage now of killing the unknowns.
|
| It's not a linear process and the quantity of them is
| unknown. So at this point metrics become hard. (We hit all
| the targets for the "knowns", and we continue to squash the
| unknowns, so the dev team is confident, but management is
| nervous.)
|
| Progress is easy to digest. But (for now) there's no easy
| "finish line" to see, which makes their lives hard.
|
| There's no "quick fix" here where "better paperwork" would
| improve things. As much as you (and indeed management) would
| like that.
| zer00eyz wrote:
| >> One (fairly major) part is yet to be completed.
|
| Break this down. Break it down into granular chunks even if
| they are a month long. Divide everything up into sub tasks.
| Even if they aren't perfect even if you have rough edges.
|
| Name every chunk something friendly and fun. I recommend
| classic dances... tango, cha cha, waltz.
|
| Call a meeting with your managers (including the high up ones).
| As for middle managers to start attending (auditing) daily
| standup. Make everyone STAND for them (so they stay short) and
| track against the tasks on the list in the wave.
|
| Again, a piece being added, or a piece being late isnt going to
| freak any one out as long as you are close....
|
| We both know that going live is gonna be the big hurdle just
| dont tell them that till your ready.
| bruce511 wrote:
| >> We both know that going live is gonna be the big hurdle
| just dont tell them that till your ready.
|
| Yeah. There are over 5000 stores that this will roll out to,
| so it'll go slow there. Fortunately there's a dedicated
| (separate) testing team so thats good.
|
| >> Break this down. Break it down into granular chunks even
| if they are a month long
|
| Part of the problem is that it's not easy to break down at
| this point. We are aware that "it doesn't run". (There are
| underlying classes which affect things.) What we don't know
| is "how many class issues are outstanding". We knock them
| off, and we move to the next one. We "feel" like its close
| now. But any attempt at quantification is simply speculation.
|
| We have tried -not- to introduce speculation into the process
| because that's not data. When we're pushed on providing
| speculate data (when will this be done?) we ecplain why
| that's impossible for us to determine and suggest (to the
| middle manager) that he guesses instead. He tends to not push
| too hard there.
|
| Part of building trust (at least as far as him) is in not
| making-stuff-up. We're clear on what we do know, and clear on
| what we don't know.
|
| Obviously I don't know yo what extent that is passed on
| upstream. Upstream are keen on dates, targets, reports on
| "accomplishments", all the usual management. "We don't know"
| is good data for them, but not what they want to hear, and
| perhaps not helpful to them.
| morgante wrote:
| > We are aware that "it doesn't run".
|
| ...what? You have an application that literally doesn't run
| and you've been working on it for months?
| mewpmewp2 wrote:
| Presumably there is some legacy integration or blocker
| why it doesn't run.
| Sponge5 wrote:
| Even so, working as an engineer on a project that doesn't
| run as a whole for more than a week, let alone months..
| It's very understandable that management is nervous.
|
| Cut things away until you have something that runs is
| step one...
| bruce511 wrote:
| It's probably an over-simplification to say "it doesn't
| run".
|
| Firstly, this is a conversion of existing code to a later
| version of the compiler. (a 25-year later version). So
| it's not "writing a new app" - it's making it all compile
| (and run) under the new compiler.
|
| To be clear - it does compile. That was a pretty small
| part of it. And it does "run" in the sense that the Exe
| starts, gets through authentication and so on. All the
| Utilities run, and the 2nd-largest system is running.
|
| The primary program consists of around 15 threads all
| running simultaneously. The code was originally written
| using a co-operative threading model, and it's now going
| to use a preemptive model. The program that "doesn't run"
| is effectively (not yet) starting all the threads
| correctly, in the right order, and at the right pace.
| (There is a lot of cross-thread communication and cross-
| thread UI interactions.)
|
| So yeah, it's a giant big ball of smoosh. This is not a
| project for the faint-hearted. But we're actually nearing
| the end of the tunnel now - every day progress is being
| made.
|
| But until we can show the "whole program" running, to
| management progress seems to be binary. (It either works
| or it doesn't.)
| rrr_oh_man wrote:
| _> But until we can show the "whole program" running, to
| management progress seems to be binary. (It either works
| or it doesn't.)_
|
| That's insufficient communication from delivery (= you),
| imho.
|
| When a tunnel gets dug, you also don't always know what
| you're going to encounter (surprise water table? rock?
| skeletons?), but you make a plan to the best of your
| current knowledge, track your progress against it, and
| adjust where needed.
|
| _If you cannot do that_ , it looks like you're just
| trying to power through the project blind based on gut
| feeling alone.
| VyseofArcadia wrote:
| > We had weekly meetings with them on progress - which are now
| twice-weekly (because that will speed things up.)
|
| I've been on more than one project with delays. Delays make
| management nervous. I understand that, but having more meetings
| about it will _never_ make things go faster.
|
| Having a half-hour check-in with the PM every day so that they
| can "provide me with support and give me what I need to get the
| project back on track" is not helpful. There is nothing they
| can give me that I need other than fewer meetings. There are no
| obstacles but time, and the only reason that is an obstacle is
| because upper management insisted on an unrealistic timeline to
| begin with.
| gnicholas wrote:
| I'm curious if the three guys who got the holidays off knew that
| the author was lying to the CEO. Seems like it would be best not
| to tell them, so they can't get in trouble. But I imagine they
| found out after the fact!
| discordance wrote:
| and did the author eventually tell the CEO that they replaced
| the CTO's preferred vendors stack / work with their own
| solution?
| snowwrestler wrote:
| > I dial in every morning for the mandatory death march status
| call with the CTO and I lie.
|
| > "The team is working hard. Today we hit milestone integration
| point #73."
|
| > "The team made good progress yesterday, we finished another web
| service."
|
| > Every day I showed up and told the big boss that we were hard
| at work on stuff that we had already completed over the previous
| month.
|
| I think it's a really important detail that he was lying about
| work that was already done. That looks like "underpromise and
| overdeliver" from a certain angle.
|
| I'd feel worse about lying about work that's not done yet.
| Certainly riskier, and maybe not the best feeling for the team
| when they get back: "Here are your tickets, I told the CTO they
| were already done, so hurry up."
| AntiMS wrote:
| Once upon a time where I worked...
|
| We had a _terrible_ release management system. (For IBM iSeries
| folks, it was Turnover.) And we used it for everything. Java code
| included. In particular, we used it for database migration
| scripts. And you know how database migration goes. You keep
| adding files and you never remove any. And there gets to be quite
| a few very quickly at the beginning of a project. And the folks
| in charge of setting up the release management system for our
| database migration scripts did so in such a way that we had to
| list out each one individually. Every release, we had to type
| like 50 database migration script filenames one-by-one. With no
| tab completion. (Not to mention the Java .war files we were
| deploying as well.) And by "release", I mean every release _to
| the dev environment._
|
| (Now some of you who know of Turnover might know of a janky
| Eclipse fork that would let you create Turnover forms in a drag-
| and-drop way rather than through the green screen, but there were
| reasons we didn't want to go that direction. Long story.)
|
| As soon as I figured out how much of a PITA this would be every
| single day, I decided to do something about it. I wouldn't ask
| for permission. I'd ask for forgiveness (if it came to that.) So
| I set about writing a way to automate this. That way involved
| running the dumb terminal emulator (the "green screen" app
| tn5250j) in Xvfb and simulating key strokes to it. God was it a
| nasty hack, but it worked reliably and God was less painful to
| deal with than what we had before.
|
| Part of why I didn't ask permission was because I wasn't entirely
| sure I could make it work and I didn't know if the boss would ok
| a project that _may_ pay off given our tight deadlines. But once
| it _did_ work, I didn 't keep it a secret and the boss praised me
| for it. Still don't know he'd have let me undertake that project
| had I explained and asked permission ahead of time, but
| everything very much worked out with that project in the end.
|
| Here's to lying to your boss. Don't ever feel bad for saving your
| boss from themself.
| cpeterso wrote:
| Instead of hiding the project until completion, you could
| (after a little covert research) share the idea with the boss
| and time box the development: if the first increment of X days
| or a week continues to look promising, then attempt the next
| increment as long as the boss still has an appetite for your
| idea.
| datadrivenangel wrote:
| Do this after you've built it.
| MobiusHorizons wrote:
| never underestimate how little appetite management (or anyone
| really) can have for good ideas when they are stressed (eg a
| time crunch).
| cwbriscoe wrote:
| Java was tacked on to AS400/iSeries so I can understand how it
| would be painful with any Change/Release management system. I
| would much prefer to stick with the old crufty RPG/CL on those
| systems. Tacking on "new" tech to old "green screen" systems is
| just a bandaid. Should have went to a modern OS at that point.
| Try doing JSON/CRUD apps on TSO/MVS. Not fun.
| hylaride wrote:
| I've not had to do this often or in awhile as over the past
| decade until very recently it's been a tech workers market and
| I've had more power, but I've spent (sometimes personal) time
| in past jobs to automate these kinds of things.
|
| What I eventually learned to do in Kafkaesque organizations is
| do it anyways. If it works, ask for permission to spend time
| developing it, stressing how much time it'll free up. If it
| never gets approved or shot down, I use the solution anyways
| and use the time savings to focus on other things (which can
| vary on actual work which I present as spending "non-toil" time
| on, to taking mental health breaks).
|
| At some level it's dishonest, but that's what happens when
| organizations stifle initiative.
| devsda wrote:
| That was interesting and correct me if I misunderstood.
|
| So, their CTO asked the team(of 3 members) to work through the
| Christmas week even when they had been working like crazy for
| weeks and are on the verge of burnout. The author asks them to
| take the week off while lying to the CTO that the team has been
| hitting milestone xyz. The dev team came back fresh from holidays
| and hit the milestones.
|
| There are some management lessons in there on what to do, what
| not to do, how/why developers get insane deadlines and how they
| end up with burnout.
|
| I was expecting the lie to be about a technical or design
| decision since "CTO" was mentioned and how that saved the day.
| VirusNewbie wrote:
| This story is all fake, right? I mean, I've worked at multiple
| Fortune 500 companies, nothing works like this story says it
| does.
|
| >. Keep in mind that early in my career,
|
| And the CTO is calling you directly? The _CTO_ of a Fortune 500
| company? The 'review process' for a vendor pitch is the CTO
| asking his immediate staff?
|
| The system that needs 3 people a few months to build is being
| handled by the CTO???
| yakshaving_jgt wrote:
| Tbh I would believe a story about three people building in a
| few months what 20 people struggle to build in two years.
| VirusNewbie wrote:
| sure that's fine, but it's the part where the CTO is directly
| managing a guy who leads a team of 3 (and/or would decide to
| put 3 people on it).
|
| My org chain has like 4 VPs lol.
| raincole wrote:
| When you read any story from an anonymous person about an
| anonymous organization and an anonymous project you can safely
| assume it's fictional.
|
| Not this story, but any story. We can still discuss over it,
| just like we can discuss the plot of Harry Potter.
| dctoedt wrote:
| Reminiscent of the scene in one of the later episodes of _Band of
| Brothers_ : In the last weeks of the European war, Major Dick
| Winters is ordered to send a patrol to cross the Rhine, in rubber
| boats, during the night -- for the second night in a row. The
| patrol's quite-dangerous mission would be a repeat of what the
| same soldiers had done the previous night: to capture German
| prisoners and bring them back for interrogation. Winters
| concludes that the repeat mission would be a pointless risk of
| his men's lives. So he disobeys his orders: he tells his people
| to get a good night's sleep and report to him in the morning that
| they did the repeat mission but were unable to find any
| additional German soldiers to capture. Winters's soldiers were
| visibly relieved.
| move-on-by wrote:
| I would not want to work with anyone at either the Fortune 500
| company or the vendor. Extremely dysfunctional and unhealthy work
| environment. Lying to the boss, secret projects using 360 hours
| of engineering time- not even including all the nights and
| weekends mentioned. This is not good. This is not right.
| geraldalewis wrote:
| I think this glamorizes and engenders an unhealthy relationship
| to work. "Rock star" and "ninja coder" works the same lever Steve
| Jobs used in the 70s to take advantage of smart people without
| enough sense of self worth.
|
| And don't lie to people.
| smrtinsert wrote:
| This is the worst of the technology. It's not sustainable will
| ruin lives and relationships. I appreciate the authors pride from
| overdelivering, but I think that speaks to some other need that's
| not a healthy thing to want from a job - not to mention all that
| time was lost instead of spending it with friends and family and
| creating real memories. Finally, to be completely objective about
| it, the team donated their time free of charge, literally
| throwing their value away to correct someone elses mistake behind
| their back. Not a good move, especially if something goes very
| south.
|
| It's time for our industry to do better and not champion
| attitudes like this, especially in an era of consolidation where
| megacorp gets away it to this day and somehow sells it as a
| positive.
|
| We have to do better.
| nu2ycombinator wrote:
| Build up to the lie is better than the lie. I would never brag
| about these kind of lies to be honeest
| nu2ycombinator wrote:
| Build up to the lie is better than the lie. I would never brag
| about these kind of lies to be honest
| andrewstuart wrote:
| These days you get to work on a single Jira ticket that has been
| sliced so fine you barely need to write a single line of code,
| with morning standups in which you are expected to describe every
| moment of your day the previous day and every moment that you
| anticipate in your upcoming day with four people tugging their
| beards and harrumphing if you describe the slightest challenge.
|
| Doing something "different" would get you a warning, doing
| something major without full work breakdown, buy in, analysis,
| tickets and micromanagement would get you fired.
| rendall wrote:
| It seems like everyone lied to that CTO. If you are, or become a
| CTO, be the CTO that no one feels the need to lie to you.
| thih9 wrote:
| Off topic, I'm distracted by the accompanying photo, the model's
| expression and the code being displayed at the back of the
| monitor. Looks like scroll-stopping AI stock photos are the new
| "YouTube faces".
| ornornor wrote:
| Everything that is wrong with contemporary software development,
| in one blog post. At least the author was not in an adversarial
| relationship with their devs, so not everything I guess.
| DeathArrow wrote:
| >Mind you, most of us had already been working 60-80 hour weeks
| for the past 6 months
|
| I would change the workplace by that time.
| naugtur wrote:
| In my first adult job out of Uni I was working for a startup
| building a suite of tools for usability tracking/testing and
| alike. One of our main offerings was gonna be something similar
| to what HotJar is nowadays. We were busy with other stuff and I
| considered the requirements for the tool somewhat impossible ;)
| So it got outsourced.
|
| The outsourcing company was a tiny local software house. They
| delivered on every single requirement in under 3 months. Despite
| my better judgement I was impressed.
|
| Until we gave ot to an actual customer. After some back and forth
| with initial errors (relatable) it started running on a small
| portion of traffic. A week of running the tool on their website
| was 100GB of file storage and 100GB of storage behind postgress
| db.
|
| Utterly unsustainable.
|
| A few weeks later we had a "do what you want" sprint. I mean the
| engineering team decided (I know, different story tho) every 10
| sprints we get one to do whatever we think makes sense for the
| product.
|
| So a brilliant new intern and I got to come up with new
| requirements to fulfill the same usecase but without the need to
| store colossal amount of data per visit.
|
| We wrote a new thing in 2 weeks and had a working demo. We used
| the next month to productize it.
|
| My initial.design was presenting user behavior as scenes, sort of
| like a comic book, instead of animating stuff to pretend it's a
| video. Over time product got that too tho.
|
| When the startup folded (yet another story) the technology behind
| that tool was the thing that got sold.
|
| Moral of the story? Whether you lie or not, bottom-up decision
| making can be pivotal to software products if you're lucky.
| garganzol wrote:
| The story misses a continuation. What happened after CTO found
| out that the system was silently replaced behind the covers?
| IMHO, this is the most interesting part. I bet that the CTO was
| crushed by his ego.
| dikei wrote:
| So, you launched your complete rewrite, without any testings and
| still make ~100% compatibility with an existing vendor solution.
| Call me skeptics.
| rk06 wrote:
| they were 100% compatible with their needs. which is possible.
| as the vendor was bad fit
| JodieBenitez wrote:
| > As has been typical in my career, when the vendor said they had
| a product, what they really meant was they had something vaguely
| resembling a product that vaguely matched what we needed, and
| with heavy customization they could torture it into doing what we
| needed.
|
| How many times have I been accused of wanting to "reinvent the
| wheel" while facing this exact situation ? I can't count.
| pojzon wrote:
| Stories like those always get big response on havker news coz for
| all the smart ppl we have here there are 10x of not smart ppl not
| here.
|
| And we all work with them on various levels in the organization.
|
| Remember - being smart is both a gift and a curse.
| motbus3 wrote:
| If you are a "delivery driven" person who cancels holidays to
| keep working, I would say to you, from own experience: stop being
| stupid.
|
| I know, that, specially when you get recognised for the hard work
| it is hard, but you will regret every minute.
|
| If you work for a company that counts on your holidays and
| vacation to sell their products, you are helping to create the
| problematic world with have today. If many do that, more will
| need to do. If none do it, and act like it is an absurd to
| request it (and it is) nobody is forced to do it and the company
| is forced to do real estimates even if that hurts your fav CEO
| pocket
| winrid wrote:
| this is probably why they are grumpy now :)
| louwrentius wrote:
| The messiah complex is rampant with both developers and
| operations people.
|
| The are addicted to feeling valuable and important.
|
| When they get home from work, they have nothing else to do.
| rozenmd wrote:
| My hack was to start my own product, that way (at least for
| two hours a day) I get to play messiah for 100% of my own
| equity
| intelVISA wrote:
| Own product is great, although it becomes difficult to
| justify bikeshedding variable names and a possible 3rd Rust
| rewrite when you should be grinding out more hours on
| marketing and sales.
| doublerabbit wrote:
| Or writing documentation for your product.
| resource_waste wrote:
| Did you make money?
|
| I'm there. Everyone else is patting me on the back.
|
| I wish I would have been a video game hedonist blissfully
| unaware of the world.
|
| Side note: You have less friends as Messiah but more power.
| I am extremely social, but its really obvious that I'm a
| 1%er and even 10%ers can't handle that. We have different
| hobbies. I shape the world/no hobbies, they have more
| traditional hobbies like fixing and driving fast cars.
| Basically my friends are other business owners or high
| status people and we complain about labor quality, margins,
| and not having time.
| rozenmd wrote:
| Yeah, doing alright - might end up employing me
| eventually.
| sshine wrote:
| It's not that I have nothing else to do. It's that the
| dopamine hit of fixing a thing that affects my team often
| outweighs any other choice.
|
| Working out frequently, getting a family, getting a side
| project off the ramp, and reducing to part-time have all
| helped me with my addiction to feeling valuable and important
| when nothing else is gained than becoming known for fixing
| stuff in weekends free of charge.
| motbus3 wrote:
| I will help you. The truth is that you are an asset. Even
| if they make you feel important, you are as important as a
| good chair. They will replace you without thinking twice if
| they want.
| chpmrc wrote:
| This is not a great take. I have plenty of things to do
| outside of work and I will still do what's "right" in my
| mind, especially if there's enough evidence that it will make
| my and other people's life easier in the long run.
|
| There are plenty of people like that in a company but they
| normally don't cluster together, so it feels like "nobody
| else cares". That's false. At times that's how exactly how
| products, or even entire companies, are saved. Because a
| bunch of individuals who think like that get together and
| work hard to accomplish something.
|
| Whether that effort is recognized or not depends on the
| company. If it's not then, I agree, it would be irrational to
| keep pushing. But you can't know until you try.
|
| (Edit: to be clear, I'm not advocating prioritizing work over
| anything else, that really depends on you, but there's a fine
| line between "working hard" and being obsessed. The latter
| will more often than not result in a net negative in most
| cases. The same level of effort and/or prioritization should
| be applied to all areas of life)
| Simon_ORourke wrote:
| I heartily agree, but it's poor form when the threshold for
| Messiah is so low.
| resource_waste wrote:
| I think this is due to my environment. That 'Insecure
| Overacheiver' idea resonated with me.
|
| Had 1-2 childhood events that shaped you, and now you are
| afraid to do anything except 'be high value'.
|
| I'm aware of it, I'm even aware of philosophies like
| Absurdism, good luck changing me. Its either in my DNA or
| faux-PTSD.
| flibble wrote:
| [edit: I retract my comment that it's bad advice to not cancel
| holidays to work hard. I misread the comment that I replied to
| -- I had thought the commenter was saying don't work extra hard
| in your role as it's never worth it. That's not what the
| commenter said though. In my experience, people who produce
| more value in the world are more valuable and get rewarded more
| than those who don't.]
|
| I think this is poor and dangerous advice for anyone who wants
| to get ahead in life. If you are happy to coast by and not
| achieve much in life, sure, don't work hard. But if you want to
| be one of the few who either rise to the top in your field or
| to create value in the world, then don't feel bad about wanting
| to work hard. People generally learn by doing and those who do
| a lot learn a lot. Of course, don't prioritize it over things
| that are important to you (physical health, family etc) but
| don't feel it's wrong to prioritize it above stuff isn't
| important to you (eg Netflix and YouTube shorts).
| intelVISA wrote:
| Working hard is the only reliable route to excellence, the
| tough part is making sure you don't get exploited along the
| way - 50% equity or walk.
| refurb wrote:
| This is the sound advice.
|
| Nothing wrong with working hard, but make sure you get
| something about of it.
|
| If you're being asked to cancel a holiday because some
| clown can't get anything done without setting realistic
| timelines, don't do it.
|
| But if you take a job where your boss says "we need to get
| this done by this date and we need people who are willing
| to get it done even if that means sacrificing work-life
| balance" and you get paid like you should for a job like
| that, then do it.
| fineIllregister wrote:
| One can work hard and still not cancel holidays for work.
| Plenty of people work through holidays and don't "achieve
| much in life". I've known many people in higher positions who
| use all of their time off.
| pjc50 wrote:
| There's several game studios out there whose last two tweets
| were "we've just won an industry award for our game!" / "our
| studio is being shut down immediately".
|
| It's worthwhile working for yourself if you do think you're
| learning, but in today's corporate environment loyalty is
| just showing your willingness to be exploited.
| josephg wrote:
| I think the difference between someone who "gets ahead in
| life" and someone who doesn't usually isn't the number of
| hours spent in the office. Usually its more related to how
| well you make decisions in your career, and the relationships
| you build along the way.
|
| Go to therapy. Learn about yourself. Work on your
| communication skills. Figure out what matters to you and
| invest in it. (For most people, family and friends are high
| on that list).
|
| By all means work hard, but be strategic about it. Martyring
| yourself for your company won't make people respect you.
| rowanG077 wrote:
| I definitely thinks it's a factor. You really don't see CEO
| who worked part time during their rise to power. Maybe
| there is something to that.
| starluz wrote:
| Agreed but there is a big energetic difference between a
| future ceo personality working long hours vs a supporting
| staffer who is just sacrificing themselves inefficiently
| thinking someone will care. People care about results and
| the appearance of some effort. Long hours are a basic
| requirement but healthy emotional boundaries are what get
| someone to the top.
| sebastiansm wrote:
| Work hard != Work on your free time
| binarymax wrote:
| Don't ruin your health for someone else. People who throw
| themselves on this fire in BigCo don't get recognition or
| reward, they get abused by the political animals that will
| take advantage.
|
| Work hard for yourself to build your own. But don't think for
| one moment that death marches will result in a swift rise to
| the top.
| atoav wrote:
| What do you mean by "getting ahead in life"? That you pass
| more time doing stuff at work so you are closer to your death
| without having done the things you like, spent time with the
| people you love and visiting the places that fill you with
| joy? Or do you mean money? I am pretty sure if you are good
| at your job and you are not in a dying profession there will
| be enough places that show you the respect you would extend
| to them.
|
| Shilling for work place abuse and unpaid overtime isn't
| getting you ahead in life the same way begging for forgivness
| with an abuser will make your life better.
|
| If your corp can't manage people's time realistically, why
| would you expect them to manage _anything_ realistically? Get
| out and go to a real place that knows how to run projects.
| holoduke wrote:
| Achieving a lot in life is not necessary about working hard.
| Its more about working smart or having a bit of luck. None of
| the successful (money wise) people arround me worked really
| hard. The working hard sentence is really nonsense.
| dasil003 wrote:
| I don't think it's nonsense but it's incomplete. A lot of
| people work really hard and achieve nothing notable. A lot
| of people sort of phone it in and do alright just by shrewd
| positioning (or luck). There is no substitute for combining
| both though: work smart and hard.
|
| The trick is to make sure you're always investing in
| yourself. Even when you're working for others you be either
| "learning or earning", ideally both.
| itsoktocry wrote:
| > _I think this is poor and dangerous advice for anyone who
| wants to get ahead in life._
|
| Oh yeah, every new-comer to the tech world thinks like this,
| and 99.99% of them don't get any further "ahead" in life than
| the rest of us. In fact, many end up further behind.
| insane_dreamer wrote:
| > one of the few who either rise to the top in your field or
| to create value in the world
|
| "rising to the top" is pure ego-inflation
|
| "create value in the world" -- you'd better make sure that
| you're creating value for the world in something that's
| important and meaningful to you, not just "create value for
| shareholders" (who don't give a f about you) which is what
| "creating value" means 90% of the time if you're in industry
| steveBK123 wrote:
| Unless you are getting the economics of saving the day (you are
| a large equity holder / partner) then structuring your life
| completely around work is a fools errand.
|
| Communicate your holiday plans, arrange coverage, put it team
| calendars, do hand-offs.. and then take it. Projects come & go,
| dates slip on their own. If you move holidays for project dates
| you will never take holidays.
|
| The only exceptions would be if you are in a role with
| seasonality and its generally understood end of year / end of
| quarter / tax time / something is well known busy season and
| its in poor taste to disappear during it.
| itsoktocry wrote:
| > _The only exceptions would be if you are in a role with
| seasonality and its generally understood end of year / end of
| quarter / tax time / something is well known busy season and
| its in poor taste to disappear during it._
|
| This is exactly how you get guilted into working during
| vacation; everything is sold as an exception.
| Dalewyn wrote:
| I think the point there is vacation schedules can differ
| wildly from the seeming social norm depending on the
| occupation.
|
| Some lines of work simply require you to be working when
| everyone else is on vacation.
| portaouflop wrote:
| This is fine IMO if you get compensated. For example my
| old job I got double baseline pay for Sundays and holiday
| work. This was fair.
|
| Nowadays working in software I sometimes do stuff on the
| weekend - but only because I know I can take longer
| breaks during the week since part of the work is already
| done.
|
| "Good enough" is my goal and it should be generally. IMO
| Norway has the best working culture in that regard,
| although I only know if from the outside/stories.
| steveBK123 wrote:
| Right it's not about moving holidays its about planning
| them for a reasonable time if you have strong seasonality
| to your job.
|
| If your job is some giant e-commerce retailer and you
| probably shouldn't take Black Friday or the week before
| Christmas off. If you work in accounting or some
| operations role then quarter end is likely bad. If you
| work in tax, then late March thru April probably bad.
| Etc.
|
| There's plenty of time in the year to take off around
| whatever your jobs regular busy season is. Don't set
| yourself up for failure.
| rciorba wrote:
| The seasonality is not an exception. It's not a case of
| "just this once". It's a well understood thing of "every
| year, before the tax deadline we have crunch-time, so don't
| plan on going on holiday in that time". The repeated,
| unplanned, "just this once" exceptions are a whole
| different thing.
| bcrosby95 wrote:
| I don't know if it's normal, but my sister is a CPA and
| while tax season is a thing, so is working 1-4 hours per
| day in the summer.
| mikepurvis wrote:
| That's really the key. I don't resent working into the
| night if I'm a) engaged by an interesting an worthwhile
| problem and b) know that I can cut out early next week
| and go for a bike ride after school with my kids.
|
| Endless crunch is a problem, and I don't crunch to meet
| made up internal deadlines or for work that is
| administrative nonsense.
| pc86 wrote:
| We're talking about real seasonality, not "we have to
| launch this quarter" fake board room seasonality.
|
| If you want to do people's taxes for a living you have to
| acknowledge that Feb/March/April are not times where it is
| appropriate or acceptable for you to schedule a 3-week
| vacation. This is not the same as "we do database updates
| in August so no summer holidays."
| randomdata wrote:
| I thought we were talking about real seasonality? A tax
| deadline arbitrarily chosen in the legislative chamber is
| as much fake seasonality as summer database updates or
| product launches.
| OJFord wrote:
| If that database update is well know to be every August
| or that product launch is something like Apple's WWDC
| then sure, that's the distinction people are making.
|
| If it's just we want to launch our latest product in the
| second week of June, because that's the one-off date we
| came up with when we started the project, that's
| different. It's not seasonality it's just failing to
| account for staff availablity/unrealistic planning.
| peaseagee wrote:
| If you miss your database update or product launch
| deadline you can't get arrested for it (in the _vast_
| majority of cases). Yes, all deadlines are arbitrary, but
| the consequences for missing them are different for
| different deadlines!
| randomdata wrote:
| Being arrested is still just the arbitrary choice of
| people. It's not real in the sense defined earlier. It is
| not like, say, needing to harvest food before winter sets
| in.
| barkbyte wrote:
| Stop being deliberately stupid
| burnished wrote:
| How is one of those more real? They are both actions that
| people undertake to accomplish an objective, but there is
| nothing tangible or factual about either, which appears
| to be your working definition.
| randomdata wrote:
| What makes you think any are more real than any other? If
| you had taken the time to read the thread you would have
| learned that the whole idea of a fake deadline is
| nonsensical.
| banannaise wrote:
| Look, I love Baudrillard as much as anyone, and we can
| talk about simulacra all day, but it's simply not
| germane. We're not talking about whether these
| restrictions are societal constructs but rather whether
| they are predictable, reasonable, and controllable.
|
| The tax deadline is predictable. A two-month restriction
| from holidays is relatively reasonable. The deadline is
| not realistically controllable. (Your employer cannot
| eliminate tax filing.)
| mrighele wrote:
| In fact if you are working on a sector with high
| seasonality nobody is going to have to skip vacation during
| holidays, because those days you are not going to have
| vacation to begin with
| paulcole wrote:
| > structuring your life completely around work is a fools
| errand.
|
| Structuring your life completely around _anything_ is a fools
| errand -- work, video games, family, food, etc.
|
| Unless it's not. Maybe the only thing you care about in the
| world is your family and you'll ignore everything else. Maybe
| video games are your truest passion and you'll do whatever it
| takes to play them 80 hours a week.
|
| Maybe I love CRUD apps and Jira as much as my next door
| neighbor loves his wife. Who's to say?
|
| If you want to devote your entire life to one thing, go nuts.
| It's probably going to have some consequences whether that
| thing is work or not.
| joncrane wrote:
| I structure my life around my gym routine, my sleep
| schedule, and my main hobby/passion!
| kqr wrote:
| > Unless you are getting the economics of saving the day (you
| are a large equity holder / partner) ...
|
| Even if you are a large equity partner it's at best short-
| sighted. I have written about this before[1] but the gist of
| it is that even when individual heroics saves a project it
| has robbed the project manager of valuable feedback regarding
| how the planning was deficit.
|
| [1]: https://two-wrongs.com/hidden-cost-of-heroics.html
| ericmcer wrote:
| Its useful to do the math around what your equity would be
| worth, if you are the 50th hire you are probably getting less
| than .1%, so even a crazy moonshot billion dollar acquisition
| would leave you with a few 100k at most. Grinding yourself
| down for a slim chance at making that amount isn't worth it.
|
| I have had managers say things like: "this could be the last
| job we ever work" as if none of us are capable of doing math.
|
| That said we are all a bit prideful so exhausting yourself to
| get that fleeting feeling of having achieved something clever
| and good is definitely on the table.
| steveBK123 wrote:
| This is why I said large equity holder.
|
| Most startups unless you are founding team this is not the
| case.
|
| Certainly sub-1% ownership is far from large.
|
| A situation where you have sub-$1M equity that is illiquid
| for a decade until a hoped-for exit is not large equity.
| HeyLaughingBoy wrote:
| > exhausting yourself ... is definitely on the table.
|
| No. It's not.
| duxup wrote:
| For some people it is a chosen lifestyle I think.
| what-the-grump wrote:
| >If you are a "delivery driven" person who cancels holidays to
| keep working, I would say to you, from own experience: stop
| being stupid.
|
| You should put that on a coffee mug and sell it. It would make
| a great gift to a bunch of people that I know.
| acimim_ha wrote:
| If I won't do it, somebody else will. And we're back and square
| one.
| billy99k wrote:
| Companies will also never remember your hard work when it comes
| to layoffs. My cousin worked until 1am almost every day from
| September 2023-January 2024 to complete a poorly managed
| project. He only had Christmas off because the director thought
| employees would sue as it is a religious holiday. He missed
| important events and lost about 20 pounds, because of stress.
|
| The company had a hard deadline to move over to a brand new
| system. They had 5 years notice and decided not to start it
| until the year before. If they didn't make the deadline, it
| would mean millions of dollars in costs because it was outside
| the contract.
|
| Him and his team made the deadline. His reward was being laid
| off a few weeks later as his position was eliminated. Now he's
| over 50 and trying to find work in a terrible time to look for
| a job.
| not2b wrote:
| I remember a company meeting where a series of employee
| recognition awards were given out, and the story for about four
| awards in a row was an employee who spent nights and weekends
| heroically fixing a giant mess, at least enough to make a
| deadline. In a couple of cases the employee who got the award
| was also partly responsible for the mess. After about the
| fourth one the top managers in the room finally got it that the
| company had a problem.
| octopusRex wrote:
| I remember an awards occasion where the employees who
| received the recognition for actually heroically fixing a
| mess could not make it to the stage because they had been
| laid off.
|
| Awkward silence ensued. ...
| rowanG077 wrote:
| Why should that person sacrifice themselves when they are happy
| working? Just so other people are not held to that standard?
| That seems like a management issues. Don't expect the same
| things from everyone.
| sonicanatidae wrote:
| With 30+ years of personal experience, my qualified statement
| to the next reader is that the above is 100% accurate.
| asp_hornet wrote:
| Am I understanding the story correctly? a year plus, no doubt
| horribly expensive engagement with an external vendor was
| replaced with a few weeks skunk works project buy an internal
| team member who executed it by lying up the chain of command and
| there were no repercussions.
| pftg wrote:
| Great story, nicely written. The goal is to show off ;) But
| really nice to read.
|
| Definitely, this is a bad example and precedent to build toxic
| and non-cooperative environments. And instead of solving the
| issue it make it worth.
| excusemyfrench wrote:
| Why do companies keep on treating employees like they do ? Just
| read this article.
| cnotv wrote:
| Nice funny joke for European people.
| cnotv wrote:
| Nice funny joke for European people, when it comes about extra
| time and holidays.
| ccppurcell wrote:
| This is not about lying but being, quite literally, economical
| with the truth.
|
| Just as you don't spend all your money at once, don't tell your
| boss everything you've achieved at once. Or not always anyway. I
| had to write a monthly progress report for one recent job. I kept
| a document of headlines for this, and put only two or three into
| each report. I kept some back for rainier months. This also
| helped me discuss my "objectives" since I often could predict at
| least one thing I would achieve in the next few months.
| AndyMcConachie wrote:
| Fuck this work environment.
| ChrisMarshallNY wrote:
| I can relate to the feelings; if not the actions.
|
| The biggest issue with this approach, is that it _absolutely
| requires_ the local team to be _really good_. Not Dunning-Kruger
| good, but _actually_ good.
|
| Those teams are _very_ rare; especially these days. I have found
| that most companies deliberately avoid hiring these types of
| folks. They can be tough to manage.
|
| I was incredibly fortunate to have worked in such a team, but as
| I have left that silo for a number of years, I've also come to
| realize what a rare privilege it's been.
|
| If you don't have one of these teams, then this kind of thing
| would be incredibly reckless. Even with a good team, it's still a
| huge gamble. I would not have done this, myself. It would have
| been too risky. I also had _very_ technically competent managers,
| and would not have gotten away with it.
|
| Brings to mind people like Nick Leeson, of Barings Bank fame
| (Google him). I'm sure he was saying "I've got this!", right up
| to the end.
| joshstrange wrote:
| Saved whose day?
|
| The shitty vendor who delivered crap?
|
| The CTO who surrounded himself with yes men and was clearly
| completely unaware of anything happening in the company?
|
| The devs who were worked to the bone, but don't worry I gave them
| a week off?
|
| The protagonist who lied to everyone to hit an arbitrary date for
| a company that clearly doesn't give a shit about them?
|
| This story made me cringe at every turn. I'm a hard worker and I
| have put in extra hours to make a launch go smoothly for a client
| here and there but this story is pure insanity. I'm willing to
| put in the extra time on occasion because of the "relationship" I
| have with my boss and knowing that I can always tell them the
| truth. In fact that's a core concept of having a no-blame
| culture, you only get that IF everyone is telling the truth.
|
| Lying like crazy to meet a deadline for an idiot CTO is quite
| literally insane. If you find yourself in a situation like this
| then GTFO of there and find a better place to work.
| deely3 wrote:
| > The devs who were worked to the bone, but don't worry I gave
| them a week off?
|
| Thats the part that piss me off the most. What devs get from
| this? Feeling of "pride and accomplishment" and burnout?
|
| > And we hit our dates in January, went live with a great
| launch, and were rock stars for a bit. Maybe more like Herman's
| Hermits than The Beatles. But it still felt good.
|
| Thats the part where "we" definitely means "me".
| tootie wrote:
| And the CTO comes out looking like a genius for getting an
| optimal solution he didn't even know existed.
| liampulles wrote:
| "Because the CTO had a yearly turnover of his direct reports,
| every status call about the project took some variation of "great
| idea, boss" even though literally no one involved thought it was
| even a good idea."
|
| IMO it is still ones job to voice the concern, even if it gets
| you in trouble. At least if you want subsequent complaints to be
| taken seriously.
|
| Personally, if I get in a situation where even voicing issues
| gets me in shit, that's a red flag to go find another employer.
| chuckwolber wrote:
| In principle you are correct. In reality there is probably a
| lot more to this story, especially if someone is not in a
| position to easily change jobs.
|
| Dysfunction presents you with a choice - do the job you were
| hired to do and make the project succeed or do the job you were
| hired to do and voice your concerns. You cannot do both, not in
| a dysfunctional environment. The result is predictable in both
| cases and telling people that it is morally virtuous to always
| do the latter is naive. Sometimes humans just want to do a good
| job and see something succeed despite the circumstances.
|
| Yes, we would _ALL_ be better off if people _ALWAYS_ voiced
| their concerns and let the chips fall where they may. But in
| reality the CTO is the CTO because he was probably good at
| blaming other people for his problems and stealing credit to
| make himself look good.
|
| Life is short, and people have bills to pay. I feel like anyone
| who has had to learn how to be successful in the presence of an
| inflexible person will have an intuitive sense of what I am
| saying here.
| Havoc wrote:
| Don't roll the dicey on your own career and reputation (lying
| through your teeth) to work around some shitty organisational
| dysfunction.
|
| Sure it could work out OK but that's just bad strategy.
| amykhar wrote:
| I was quite disappointed to see the author only has one blog
| post. I was kinda hoping for more war stories.
| xyst wrote:
| All of that could have been avoided from the start if someone had
| the balls to just tell this brain dead cto how stupid the
| original idea was and pitch the in house development. Plan
| accordingly and deliver in a relaxed state with no deception or
| unethical business practices.
|
| But since this is an f500, cto prob has an ego despite not having
| touched a terminal in years or decades. So it's necessary to
| stroke the ego or become a yes-person; otherwise get 86'd.
|
| Collectively, we need to stop bending to the will of C-level
| executives. Let their stupid ideas fail so they get replaced.
|
| Halfway decent engineers will always find new work. A majority of
| the time workers are not impacted by failures of leadership. In
| past jobs for F50 companies, VP/Director/SVP positions changed
| hands frequently, almost on a quarterly basis. C-level positions
| changed less frequently but it happened a couple of times with
| enough bad quarters
| gadders wrote:
| This hits hard:
|
| "Of course by customizing their "product" we cleverly combined
| all the downsides of vendor software with all the downsides of
| custom software. We simultaneously achieved the holy grail of bad
| ideas: an inflexible vendor package that would have to be forced
| into doing something it wasn't designed to do but would also be
| forked from their main product codebase - guaranteeing sooner or
| later it would be end-of-lifed once the vendor realized how
| expensive it was to keep maintaining."
|
| Don't ever do this if you can avoid it. Quite apart from the tech
| angle, the vendor will also rip you off for every change.
| xyst wrote:
| I have worked at companies where they were okay with getting
| "ripped off". Most firms would rather farm out the work to
| vendors since they often have high turn over and rely on low
| paid contractors. Knowledge is lost repeatedly every quarter.
|
| It was at that point I realized I was in the wrong business.
|
| Find a whale, hook them on a product, book many hours of after
| work (squeeze them when a quarter is light or need to pump the
| books)
| DanielHB wrote:
| A lot of enterprise software requires so much customizing by
| design. I call it the "army of consultants problem"
| vegancap wrote:
| Just think what kind of psychopath you'd have to be to demand
| everyone cancel their Christmas holidays. I honestly think at
| that point they should have all just quit, and let the project
| fail to shine a light on the utter failure of the CTO.
| MrBrobot wrote:
| Forgive me, I struggle with reading (attention) so I tend to
| skim... but from what I picked up, this vaguely sounds similar to
| a situation that lost Title Source a $700M lawsuit over
| intellectual property. Became intimately familiar with the vendor
| product, and used the same team to re-write a competing
| (replacement) product that was then sold to the client? Is that
| right? I wonder what kind of stipulations for use / re-work
| existed in that contract.
| mathattack wrote:
| Is anyone surprised that part of the problem was MongoDB? (Or
| that replacing it wasn't hard?)
| nXqd wrote:
| Impressive, I believe this is so true in every scenario. You
| cannot just force people to work, a break between hard problems
| works very well.
| titzer wrote:
| > In September we encountered a show stopper bug. The vendor
| product stored every customer transaction as a json record in a
| giant json document. So as test data accumulated, performance of
| the product got slower and slower.
|
| For the love of god, how could they not have thought of using a
| _database_?
| jessegavin wrote:
| I _REALLY_ enjoyed reading this. Great story. Please write more
| stuff GrumpyOldDev!
| freudenbringer wrote:
| This sounds kind of stupid and not rockstar-like at all. Imho a
| rockstar is someone who has integrity. And the integer (lol)
| thing to do would have been to tell that CTO to go take a hike.
| It is not your responsibility to compensate for extraordinary
| stupidity nor to single handedly lift the weight of all your
| coworkers. You are making this agonizing system work in the first
| place.
| giancarlostoro wrote:
| What bothers me about MongoDB limits is clearly this vendor was
| using MongoDB incorrectly.
| mattpallissard wrote:
| I'm genuinely puzzled why the lie was needed. They do some shadow
| work and build an in-house solution to replace a vendor. I get
| that. But why lie after it's done? Why not "Uhh, hey boss, we're
| already done."
|
| Or did I misread something?
| unnouinceput wrote:
| CTO had personal connections with the vendor. I suspect
| personal means the wife or sister was there and they had this
| as a family business. You know "here is money from my company
| that go to your company and each of us will get a big pie off
| it" type of shady deal.
| Fin_Code wrote:
| If they said they were done then the next work would be
| demanded with holidays cancelled. By padding they got time off.
| dimgl wrote:
| > Adding a new transaction involved reading the entire json
| document out of the database, then appending the new record to
| the end.
|
| This... doesn't seem right. I understand the issue is with the
| vendor, but there are lots of MongoDB controls to avoid this.
| Even in nested documents this should not be necessary.
| failrate wrote:
| Sounds like everybody was lying to the Emperor about their new
| clothes.
| sage76 wrote:
| > Many of us who really enjoy software development feel a bit
| like rock stars.
|
| For a bunch of supposedly smart people, I am always disappointed
| at how easy it is to exploit developers.
|
| The devs did the deathmarch, and the vendor and CTO gain the
| accolades, enabling their bullshit.
|
| For any dev who thinks they are a "rockstar", they should have
| been privy to some conversations I have overheard among product
| managers and senior management. They would have been disabused of
| this "rockstar" notion really fast.
| skeeter2020 wrote:
| This is either a parody, a self-unaware remembering or an
| outright lie. It's got all the elements: stupid CTO (how'd he
| even get this high? sucks at programming but good at politics),
| Lying vendor (everyone there is so stupid and terrible!),
| sycophant employees (they just tell the CTO what he wants to
| hear!), heroic dev team and of course our savior, the author.
|
| I questioned the "young and foolish" / "grumpy veteran" position
| when they started talking about json and mongo (maybe replace
| that with a text file and proprietary binary format), and yes,
| this sort of shit happens to varying degrees all the time, but
| I'm pretty sick of the everyone but developers, and more
| specifically MY team - or even just me, is an idiot - "I'm the
| only one who cares and does the right thing" - which this was
| definitely not. Question for the audience: most of you work for
| big, non-startup and likely non-software companies; when you look
| around can you honestly say "nobody else cares, just me"?
| madduci wrote:
| Once someone told me that the only people that will remember that
| you were working hard and for longer hours will be your spouse
| and your kids.
|
| Stop working overtime and over weekends. A company demanding
| working on weekends and cancel holidays is a huge red flag
___________________________________________________________________
(page generated 2024-05-09 23:02 UTC)