Hacker Newsnew | past | comments | ask | show | jobs | submit | mekane8's commentslogin

This was a beautiful read. I work from home 100% but I do enjoy occasional trips into the office to see people in 3D. I completely relate to the decompression time of the commute - I used to have a 20 minute bus ride (no transfers) which was perfect.

Saving my brain from attention fracture via smartphone is a big theme for me right now as well. That's a whole other effort, but I appreciate the use of workday routine as a countermeasure against phone addiction.


This was a well-written article, I appreciate the simple journalism on display. A reporter dedicating themselves to an area, showing up faithfully and reporting their observations without bias or personal commentary. What else could we ask for? I read it on the AP app and appreciated still having a source for this kind of thing.


I graduated college in 2003 and I remember the excitement at good job prospects among my CS degree peers growing right along with the bubble. I remember being pretty depressed going into our last semester.

One of my favorite "historical" pieces from the era is "Mother Earth, Mother Board". https://www.wired.com/1996/12/ffglass/

Not specifically about the bubble, but lots of fun tidbits from the internet in those days.


I believe pretty strongly in the "testing pyramid" - that you should have a broad base of unit tests, with fewer integration tests and even fewer e2e tests. Source (also from Google): https://testing.googleblog.com/2015/04/just-say-no-to-more-e...

I think good unit test coverage is essential for good maintenance, but you can't cover _everything_ with unit tests. You definitely need integration and e2e tests to ensure bigger picture correctness. I have found that value one gets out of the different kinds of tests as you proceed up the pyramid get higher the closer to release you are, and are most valuable post release. During development they become obsolete too quickly due to changes in how things work. But locking in an already-released version to avoid regressions is great.


I think the real question for me is, suppose you come into maintainership of a legacy application with 100k lines of untested code, where do you start? I think the classical TDD view is "every new change, you add a test for, and so test coverage grows over time."

And that's fine, but I think it's much more valuable before making any functional changes at all, to impose some high level smoke tests that run the entire thing, and do a handful of common, end to end user flows.


Yes, that gels with what I was saying - use e2e tests for "big picture" assurance that the system is correct. Use unit tests for super fain grained assurance of individual business rules, etc. All of the legacy projects I've ever inherited have lacked unit tests, and are theoretically functioning correctly, so the e2e tests make sense there.


Yeah, I'm a big fan of the Outside-In approach (I think it's from Michael Feathers's work).

The idea is that you test something at the very end of whatever you're working on, and ensure that it's identical to the original. You can then make larger changes to actually test the code properly while confirming that the overall system still works.

Super, super useful with ML things where running stuff can take a very looooonnnnnngggg time.


I personally like and get value out of stubs and mocks in my unit tests, but I think they suffer some of the same issues as code without tests - it's hard to know the original intent and it's hard to constrain later contributors into doing the correct thing. I can mock up an external part of the system for my unit tests and be confident I'm only testing the behavior in my module, but someone who comes along later won't have the same picture in their head and will come to different assumptions. Integration tests are definitely the way to go here, when you are wanting to ensure your unit works correctly in conjunction with external systems. But that doesn't make the unit tests bad, just insufficient.

I'd probably phrase it as "Stubs and Mocks do not make sufficient tests", not that they necessarily make bad tests.


I wholeheartedly agree that the experience of being a Google customer / user has degraded significantly. I'm not sure the omission of the topics you mentioned can be corelated exactly to that degradation, but it's an interesting idea. My assumption is that all the changes do go through proper UX and user testing, but the reason for them is questionable. I certainly haven't asked for hardly any of the changes. I also assume that the book focuses on the purely technical side intentionally.


I love the way you phrased this and I experienced exactly the transformation you described!


They were asking about forced sterilization though


Agreed, especially the stuff about end users. Of course you want to prevent bugs that will impact users, but many of the other things being discussed have nothing to do with whether there is a non-technical person using the software.


Yes, I agree with this. Everyone is welcome to write their own messy code while in the "get it working" phase, but it needs to be cleaned up and made somewhat verifiable before it is shared with others. I currently work with and mentor software development interns, some of whom are aspiring data scientists, and we make sure to give them training on how to write clean code.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: