Hacker News new | ask | show | jobs
by mcv 1372 days ago
> THE tool necessary to check if software eng are at work exists; source control.

Careful. I don't commit every experiment I run, and some features or bugs require quite a bit of experimentation. I once had a client who refused to pay for a day on which I did a lot of work, but didn't commit it to source control.

2 comments

Write it into the contract daily deliverables are not the goal which is software that aligns with the original agreed upon design/spec/goals.

Also it’s illegal to not pay at least minimum wage for “piecemeal work”.

I refuse to take hourly contract work. Half now, half upon delivery. Customers need to put some real skin in the game.

My projects are too complex and unpredictable to estimate up front. I now work for larger clients than just pay their bills fairly reliably.
Supporting anecdote: I develop API integrations with third-party software used by our clients. Part of that means testing various APIs that may have quirks or be poorly documented, and sometimes inspecting the way our clients have chosen to arrange their own data in those APIs.

This can lead to a lot of little scripts like `list_thingies.sh` or `get_thingy_by_id.sh`, so that if something goes weird I can easily provide a small repro-script to another person with some confidence it'll be helpful even if their company has a very different tech-stack.

However all those unpredictably one-off experiments and tools for inspecting remote data shouldn't be part of whatever I check in for our production code, not least because they often have some credentials embedded in them. (Especially when the thing being tested is whether we're authorizing our client correctly.)

That said, we've been discussing how we might want to keep them in a separate "random exploratory shit just in case it's relevant again someday" repo.

> That said, we've been discussing how we might want to keep them in a separate "random exploratory shit just in case it's relevant again someday" repo.

You definitely should. If they're useful, not just to you but also to others, then you want them backed up and accessible. Just remove those credentials.