Ask HN: Forced to work with tech that you hate? How do you manage?
I'm beginning to hate the JS/Node/React etc ecosystem. But I am forced to work with it.
Anyone else using tools, tech that they really hate, but are stuck with it? How do you manage to be productive, not be in a constant state of annoyance?
6 comments
[ 3.7 ms ] story [ 28.4 ms ] threadOr stop caring.
I once had a contract to work on a brutal legacy Microsoft C++ codebase, everything COM, ton of macros enforcing inane conventions. I worked at 20% productivity. Billed the hours all the same, not my problem. Whenever I felt over it for the day, I closed my laptop and walked away.
Even IIS/VB lets you write ES3, and you can pass in functions as arguments. That is really liberating.
And finally, what tech would you rather be working in instead?
Oh man is that still possible? I remember doing both server side and client side rendering with the same set of templates and JS with ASP classic (I think?). That was 2008 or something.. JSON handing was a pain though.
I hit a wall getting fantasy-land set up with the same "customize the .js source files a bit" approach, but it was a nice PoC for server-side JS.
Where Google went forward and I stopped short was `eval` n' friends: exporting functions to run on the client. It felt pretty involved, and I was already juggling multiple "Is this even possible" doubts.
rpeterclark/aspunit is super nice for unit testing Classic ASP [1], by the way. That let me abstract IIS VB Let and Set for dictionaries. Combined with the ability to fling function "pointers" around, which opened the way to calling functions by string, lets you support data-driven, custom workflows:
Kind of a "solution looking for a problem" situation, though.[1] https://github.com/rpeterclark/aspunit
This is why programming is paid so well. You get paid to bang your head against the wall and live in Google and Stack Overflow. The trick is in the delayed gratification premise, in that you only see the fruits of your labor after a long period of headaches.