Accordingly, Unix programmers have learned to think very hard about two other properties when designing APIs, command sets, protocols, and other ways to make computers do tricks: compactness and orthogonality.
4,075 karma · joined October 16, 2009
Professionally: backend systems, cloud-native infrastructure, Kubernetes, CI/CD, and developer tooling. Personally: an application developer who enjoys building leverage.
I still enjoy dropping into unfamiliar codebases, building small studies in miniature, and leaving systems a little easier to work in than I found them.
Currently building:
Seevee: an agent-driven resume workbench that treats a career as a conversation instead of a document.
Timerbox: a cross-platform Gio desktop timer inspired by the workflow I've relied on for years.
Blog: dpritchett.net
GitHub: github.com/dpritchett
LinkedIn: linkedin.com/in/danielpritchett
Email: dpritchett@gmail.com
Accordingly, Unix programmers have learned to think very hard about two other properties when designing APIs, command sets, protocols, and other ways to make computers do tricks: compactness and orthogonality.
Maybe face to face has higher communications bandwidth, but it doesn't automatically win in every scenario.
Sure the large tech employers are going to have better salary databases than an individual, but that doesn't mean there's no point in trying to arm yourself with relevant info.
- My company sells products that I design, market, sell, or build
- My company bills third parties for my services
Anything else and you're probably working a support function for a business that is selling something that is not your work. The people who make the products or services that are being sold are profit centers, the rest of the company are cost centers.
I respect patio11 for sharing what he's learned. Remember, he used to work 80 hours a week for a junior dev's wage, and now he has crafted a more comfortable, self-determined lifestyle for himself.
It is surprisingly hard to find explanations for this - the web is choked with articles explaining who's exempt and who's not, but not so many with justifications or reasoning or historical context.
There are plenty of Windows jobs building corporate software (think intranet web apps and desktop GUI applications) and so there are indeed many devs who build that stuff and enjoy doing so on Windows. I imagine there is an overlap between the Indian devs and the Windows-related dev jobs.
Personally, I build OSS-based web applications on Linux. My last machine was a Mac and while I enjoyed it I chose Linux this time around because of the lower sticker price and the better native integration with OSS tools.
I understand what you're saying and I'm a big fan of shell scripting myself, but dependency-free single-binary deployments are very, very convenient.
I upvoted this story because I find the topic interesting even though I don't really agree.
I imagine the 'selling' point was users not even having to know what RSS even means, let alone how to script it.
Try back-loading the employee's contract with increasingly large incentives in the latter stages of the project. Any steps you take that limit the employee's career mobility and agency without employee agreement and compensation are suspect.
Decoupled (compared to Hadoop) systems with distributed data and JIT processing?
I might point to simple aesthetic things like JSON-style hashes of symbols looking funny:
example = { a: :b }
=> { a: :b }
example[:a]
=> :b
Or maybe "the way it imports things mean I wind up grepping code / googling docs rather than just looking at the top of the calling file to see the origin of an imported object, and then sometimes I find myself over-stating the namespace for an object just so Ruby won't get it wrong". Compare to python: from big_library import named_method
I suppose it's a pretty good question and a reasonable proxy for "so you have actually worked in this language for many, many hours, right?"