498 karma · joined October 10, 2018
Nginx is fine if you know how to use it, and the remark that it can take more than half an hour to reload (an) Nginx (configuration) is just flat-out bonkers incorrect.
I use a Gorilla Creek-based Razer Thunderbolt 4 Dock in front of the USB-C monitor, which provides the additional convenience of easily swapping out the source device (Windows laptop with Thunderbolt, Intel NUC11 with Thunderbolt, MacBook Pro M1) while keeping all other peripherals connected.
In this setup, the webcam and the USB conferencing headset connect via USB Type A at the monitor's built-in, lower-speed dock, and the keyboard, mouse and high-performance audio interface (plus occasional storage) connect at the (higher-speed) Thunderbolt dock.
The extra work required to properly separate concerns near to a foreign API surface, in my experience, pays for itself: you expected (and wrote tests for) three outcomes, and provided an observability hook for those outcomes, but a fourth raises its ugly head in real life, forcing you to revisit the API docs and add it to your mock. You add references to the API doc relative to those outcomes, and your code can be easily followed and troubleshooted by the next person. What's not to like?
I feel as if I've seen the same arguments raised over and over against mocks, all of which fall back to "I'm too lazy to maintain the state-space of unit tests", which is, quite frankly, not my problem–it's yours. Grow up and be responsible.
I am using a 350-nit Philips Brilliance 329P9H (manufactured by AOC), and, frankly, the size makes a huge difference contra the need for multiple panels. It works well with Windows and macOS devices.
One does not need Thunderbolt on a device like this; anything latency-sensitive or bandwidth-intensive should be connected directly as is. USB-C is fine.
Discussions regarding PE-style certification for software development often get stuck in the mud, but I'd wager that we'll see something emerge in this generation for general development (as it already exists for safety-intensive applications). And crypto may actually increase the demand for formal proofs and other deep CS concepts.
Your CS prof may have made the remark with some degree of disdain, though there are quite a few programmers / developers out there making better money than a college prof (excluding those working in private consultation).
Harvard Business Review is merely trying to soften the blow, in hopes that an entire tier of managers does not wake up to HR invites and separation agreements!
Not mentioned: Lua, which continues to be used in a lot of places.
And did anyone mention Erlang / Elixir / BEAM?
There are too many students in four-year colleges (public or private) who might be better suited for technical / trade schools, or, alternately, traditional career-based training (e.g., the older two-year, non-college nursing school model). This creates a scenario where negative achievement is built into the coursework of larger-sized classes, in order to reduce demand to those students who have the aptitude and initiative to achieve positive results in a smaller class size.
We need to remove the stigma associated with an, errm, associate degree. Nothing about academic credentialing matters at the corporate level when the actual work starts, hence the "or equivalent work experience" callout in most modern job postings.
And–at the opposite extreme–some highly-motivated persons might not benefit from post-secondary education at all, which is the recruitment challenge that many top schools face (i.e., the talent and achievement exceeds the formation and knowledge transfer that can be provided by the school at its price).
I cannot solve the problem of existing debt, for which capped loan forgiveness (as currently proposed) is a first attempt. How does one deal with evil in the world? Don't be evil, for starters.
The second approach relies upon independent inquiry plus personal initiative, a strong requirement for a senior engineer, who may be independently approaching a problem for the first time and understands the value of time spent (e.g., avoidance of rabbit holes, the need to document one's findings, etc.).
As an example–in a company full of senior engineers, the relative merit of time spent to develop training coursework is offset by the cost of getting other, more valuable work done; as a consequence, hiring decisions are often made based on a given candidate's ability to work on one's own, rather than being led.
On the other hand–in a larger company that has a wider variety of experience levels, training and certification are a must-have in order to bring forth capable employees that can rise to individual challenges without hand-holding.
Does that make sense?
The second often morphs into or informs the first.
And lest that sound elitist, the same should apply to training acquired via trade schools.
The same people excoriating the current administration's loan forgiveness are the ones that have conveniently forgotten the effects of the Reagan administration (both at California state as well as US federal level), knowing full well that an educated populace with sufficient critical learning skills (and no debt) is a danger to authority.
I use a NUC11PAHi7, which is basically a Tiger Lake-UP3 mobile chipset minus a display.
In earlier temperament systems, these notes may have been distinct (or in some cases unavailable), as the relationships between notes were based on non-equal, if not more mathematically perfect, ratios.
As for me, a Philips (AOC) PHL 329P9 (4K / 31.5 in) monitor has been a excellent companion, whether macOS, Windows or Linux.
My measure of a meeting's worth is: if you were shackled to a chair for the scheduled duration of this meeting, would you get anything useful done, from a discussion perspective? If not, simply decline the invite; your brain is not important enough to have been productive in that context.
If one is not using vendor locked-in features, it's much easier to switch.