skysight-inc/HackerNews huggingface dataset:
> In the course of your job you probably have to explain concepts to your co-workers and to non-technical people, right?

I love how this is becoming the norm for engineers. I still run into engineers that seem to just code by themselves in a cave all day and the only human they communicate with is their (often non-technical) manager once every other month.

Communication is one of those skills that feels effortless if you're used to it, and like an nonstop anxiety attack if you're not.
As a near-Junior level developer myself sitting at two years of experience I've found myself wondering the same thing. I've put out my resume across the country and found few companies willing to look at it and even fewer positions. Most are looking for mid-tier to senior developers. Even worse I've kept in touch with friends who despite having far more internship experience than I ended up having quite a bit of difficulty find a job post-grad.

Though my current company has had large success in poaching interns into junior devs because we have a strong and genuine sense of teamwork + effective mentoring.
IRL that would be John Swinton! (https://en.wikipedia.org/wiki/John_Swinton_(journalist))
Average Toronto home value is $775k to the Bay area's $825k. Don't know how the other stuff compares though.
When I hire, It's ONLY junior devs.

I prefer just out of University before they can get bad habits. Training a dev takes me 6-12 months for them to break even productivity wise.

When we have had intermediate or seniors hired they would not listen to anyone else or care if their software was easy to maintain in the future. I run a small team of 6, I have had 0 turnover for 3-4 years.

I don't want devs who "get it done" I want devs that enjoy the work and want to share it.
I have had the opposite experience.
Strategic Pair Programming is the perfect way to describe the right answer here.

Essential for onboarding and cross skilling. But mandatory for everything ? Awful idea.

Not everyone learns or benefits by watching someone else type.
I mostly disagree with this article, but not entirely. I do think there's a trend by the bigger companies to look for senior talent, but there are plenty of firms that rely on one or two senior devs with a team of junior/mid-level devs and I'd say most smaller companies still hire and train junior developers. I'm in the Chicago area and it's possibly unique in its diverse market of employers and thus able to support all manner of dev team make-up.

I'd also say that many junior devs are offshore and are given test and support tasks, and this is especially true in larger corporations.
also the legalization of abortion, increase in food and medical subsidies for expectant mothers and young families, and the general rise in wealth.
> My company was just like basically “give these people something to do so they can learn something.” But that’s really not a lot to go on.

That really is how it works though. You need to start doing before you can learn.
> I appreciate now that technologies have a surprisingly short lifespan

That's pretty much only true in the Javascript ecosystem. Every other areas of the technological stack usually see lifetimes in the decades.

> Stepping aside from pure technical decisions, the life-blood of being a CTO is people management

Not really, no. That's the job of a CTO at a start up, not at a larger company. I'm not sure the author of the article has actually learned the right lessons from his experience.

At the end of the day, CTO of a start up is not really a CTO role in my opinion. It's a technical co founder. You just happened to be the most senior person of the team at a point in time and you inherited a few leadership responsibilities in the process.

I've seen a lot of start ups fail because they fail to recognize that fact and didn't realize that after a few years, they needed a different CTO than the co founder, someone who understands that role at scale and the many tasks it implies that are not necessarily relevant to the early years of the company.
One reason I see especially in larger companies that there is specific hiring headcount allocated. Always it doesn’t specify if the allocation is for junior/mid/senior level. So to optimize your team’s output, you tend to look for the mid/senior and not even consider junior people.
Moore's "Law"
It's interesting both that this myth is so relatively new (they traced its origin back to 1936) and that it apparently spread entirely inside the scientific community, not the Catholic community where it seems entirely unknown.
Of course tests costs time. You are often writing twice the amount of code and there is the amount of time it takes for most CI systems to run all of the tests (often tens of minutes, but I've worked on hours).

But the reason we do it is because it increases quality.
What do you call the person running the company of 10 people? I guess "team lead" would be a non inflated title, or just "manager"? It would be pretty strange to have to explain that title to anyone outside of the company though
Blue light has a dark side (2012)
I haven't really had time to go through everything, so I was just going by what I remembered from the interview. The idea that they were sharing zero-days seemed like a big deal but I didn't really see which one he was referring to skimming those earlier, so I didn't bother linking. The other point he harped on a lot was them taking marching orders (for instance, that the application should be localized for Farsi during a time when the US was looking to promote dissenters in Iran).

I am reading the book now so I feel like I'll have a better judgment once I've finished. I didn't find your Twitter exchange very illuminating either way.
Freebsd already has ZFS enabled by default?
Google is bad at product.
This sounds reasonable enough, but on the other side, so is the observation that often people who get into and get through top 10 schools are actually ones that did not work hard.

The point of using interviewing.io online technical interview as the first step of the process is that it makes your "I'd be happy to give everyone a shot" take far less time than alternatives. Still can't get unlimited time or perfect fairness, but it's better.
"Attackers used a hidden Unicode character in the file name that reversed the order of the characters, thus renaming the file itself. As a result, users downloaded hidden malware which was then installed on their computers"

Feels like Telegram should be on the hook for protecting against this. It does work with email too, and not really Telegram's fault. Nonetheless, the expectation for them to deal with it seems reasonable to me.
That's true but it also misses the point: A portion of the limited money-pool you could have used for their raise is already gone, spend in the extra costs (direct or opportunity) of the training period.

There isn't much of a "raw mercenary economics" argument for training (which the MBA types prefer), you've got to talk about intangibles like loyalty, goodwill, social connections, etc.
The new payment type will be called "Osko", which can only be used with a PayID. The old payment types will apparently continue to operate the same as ever.

Banks may offer smaller maximum transaction sizes for Osko, or delay the first payment to a new account by up to 24 hours, in an attempt to reduce fraud.
>The other problem is most Sr.s don't want a Jr. coming in and making negative contributions. Sr.s are frequently the ones doing the interviews. They see most Jr.s as "What's a computer?" level talent that will start fires in production systems.

A system where a Jr can easily start fires is a system that's bound to fail. It means whatever you use for production is incredibly fragile and bound to be broken even by a more senior developer making a single mistake.
I doubt this will be very effective as smoking cessation. I wonder if they even have any smokers or ex-smokers (domain knowledge) on staff.

None of that matters for the bottom line though. This seems like diet and exercize fads for people who want to lose weight, lose some, then gain it back and try another fad.
I find this view (and the replies) interesting. One thing that I've experienced after writing tests a lot is that once you know the patterns, implementing TDD becomes effortless. Eg (python)

Need to test interfacing with an SDK correctly?

Sure, patch the SDK methods and ensure they are called with the proper parameters

Also, for extra coverage, add a long running test that makes actual calls using the SDK. Run these only when lines that directly call the SDK change (and ideally there should only be a few of those).

Need to mock a system class?

Sure - Here's the saved snippet on how to do that

---

This of course applies only if you repeatedly access projects that use the same stack. If you don't then I understand that it can be pretty hard. But basically over time, writing tests must become easier else that's a sign that something in the process is not working correctly. Knowledge isn't being transferred. Or things aren't being done uniformly.

Ideally once you get past a certain point, testing should be just a selection of patterns from which you can choose your desired solution to implement against a given scenario.

I accept that I could be missing something here so please take what I say within the context that my thinking applies to work that can be described as technologically similar.
“Lead exposure in childhood may have played a small role in rising and falling crime rates in the USA but it is unlikely to account for the very high percentage of the decline suggested by the ecological studies” [1]

[1] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3829390/
It's not clear to me that you're referencing data asymmetries in the same sense Akerlof does.

"Lemons" discusses a buyer and seller having different levels of knowledge about a product, not necessarily one another. The result, in the essay, is that buyers presume lower-quality product, and something of a self-fulfilling prophecy emerges in that sellers are aware that high-quality product won't trade on the market.

This is one of several types of Gresham's Law dynamics, where Gresham's Law can be generalised to describe both asymmetries of information and constraints on complexity.

The knowledge of the counterparty case verges more on one of control, in being able to know the other party's interests, motives, and/or vulnerabilities. That's ... well outside the scope of "Lemons", and has far more to do with power and control dynamics.

(Though it might also result in presumptions on the part of customers of such a monopoly.)

Part of the answer, in both cases, is to provide more information or trust through various mechanisms, including regulation, audits, etc.

The part of the ISP market which is as described in "Lemons" is in knowing what information is or isn't collected, and how it's used. The inability to do so does lead to race-to-the-bottom tendencies, a phenomenon also frequently described as "a (sort of|kind of) Gresham's Law".

Searching for variants of that phrase within Google Books is quite interesting. Examples include: legal citations, neighbourhoods, immigration/immigrants, coin, politicians, divorce law, environmental regulations, mass / popular media, television, bicycles, software, consumer electronics, and more.

See also: the Tyranny of the Minimum Viable User
https://www.reddit.com/r/dredmorbius/comments/69wk8y/the_tyr...

I've also explored Gresham's Law quite a bit:
https://www.reddit.com/r/dredmorbius/search?q=%22gresham%27s...
https://news.ycombinator.com/item?id=16358148
Do people generally find mother jones a quality information source? it has always seemed to me to be a over the line into left-wing-nut territory - willfully misleading to appeal to their market.

I'd put it as basically a mirror of fox news on this chart :

https://www.codlrc.org/content/news-sources-journalistic-qua...
That's not very far off from general prestige. Harvard is too low, but only UCSD, UW, and maybe CMU wouldn't be on the list if it were that instead. And flipping it around missing from that list are University of Chicago, Johns Hopkins, and maybe Northwestern. (Also Caltech but it's tiny.)

For Phd programs there are some real surprises, but for undergraduates there's not much in the way of major specific strength differences. That's largely because the strength of an undergraduate program is mostly a function of the strength of the matriculants not faculty.
I’m the cofounder of a YC-backed Computer Science academy (https://LambdaSchool.com/computer-science), and we’ve noticed a few things:

1. The junior dev market is flooded. It’s also flooded with people that cannot code. We’ve done quite a bit of analysis, and we’re talking 10% can write fizzbuzz.

Bootcamps are pumping people out as fast as they can collect money, and while some are solid juniors many are just completely lost. I’ve seen some code bootcamps with <10% placement, and their curriculum is 11 weeks of HTML and CSS and 1 week of jquery. Then they’re told to pound pavement for React roles. It’s worse than you think. Truly.

It’s also 95% of the same people who can’t code applying to every single job in existence. Remarkably many somehow get hired. Bootcamps as a whole have 100% earned their negative reputation. I can only imagine the learning curve encountered by some bootcamp grads.

As an aside, it’s not only bootcamps that pump out people that can’t code. Some CS programs are equally guilty, but probably not as many of them, and having four years to write code if you’re even a tiny bit self motivated is an enormous advantage. You give me a moderately intelligent person and I tell them to write code for four years and they’ll be hireable by the end for sure.

2. Many excellent companies, especially startups, have no appetite for junior developers whatsoever. Junior devs take a long time to integrate by definition, and rapidly moving companies don’t have the resources to care. It’s much, much easier to place juniors at mammoth companies that actually dedicate resources to training. A lot are just paying huge recruiter fees and bonuses to go after the people with experience.

3. Once you get even six months of experience the whole world opens up. I’ve never seen job security so quickly gained as a developer that has spent one year anywhere. Promotions come fast, offers come faster, and the big companies that actually are dedicated to investing in juniors see them poached for $30-50k extra by companies that don’t.

4. People that can still code absolutely do get hired, and quickly. We are dangerously close to 75% of the class that graduated 3 weeks ago being hired or contracted.

All that said, we take it for granted that we’re in an industry where people go from cold start to 6 figure salaries in 3-6 months. I’ve not aware of that ever having happened in the history of the world. It’s no longer write a couple lines of code and raise your hand for a job like it used to be, but software development is still an incredible industry to be in, and with a couple of years of experience you’ll reliably be complaining about salaries and working situations that almost any other industry would kill for.
Until they sell you off to Frontier. Frontier decided all the movies I bought from Verizon weren't mine anymore. No compensation, no apologies.
Having recently had to do a lot of hiring and also played too much FIFA, I couldn't help but wonder if a argument couldn't be made for software engineering job contacts to work more like soccer player contracts. One issue is you might hire a junior dev, train them and just when they start to provide value BigCorp makes them an offer they can't refuse and you are left with the bill. If on the other hand the was a contract where a new employer had to pay some amount of money to the previous employer that might help with the situation. Hiring a upcoming super star and coaching them might turn from a risk into a business model in itself. Of course there are lots of potential issues that would need to get figured out, but at least for junior devs this might be a net win.
I have to disagree on the topic of systemd.

A lot of what it does definitely needed changing — although systemd implements that change suboptimally.

Take the logind concept:

In the past, Linux screensavers were simply a fullscreen window in front of everything else. They crashed? Your system unlocked.

With logind, you have one tiny separate daemon that spawns your original X session, and the screensaver. As long as the screensaver is active, that screensaver replaces the X sessions's display.

If the screensaver crashes, it gets restarted, or, if that fails, you get in a lovely TTY font "open a tty, login as your user, and type loginctl session-unlock".

And this is secure. If something fails, your session won't accidentally unlock.

Other features include an IPC protocol that allows per-message security — user A can send messsage type 1, but user B can only send message type 2 (although, did that verification language have to be JS? T_T)
The minor use that occurred to me is Slack's "You're all up to date :tada:" when you pull up at the bottom of a channel to load new messages.

Another link was posted suggesting that Apple's reversed this stance. If not for that, would Apple have been making Slack get rid of the party popper because the user didn't type it? It sounds like yes.
Ask HN: What are the best resources to improve American English?
Hello HN,

I am a developer from Asia. I'm migrating to SF in a few months. I want to improve my American English speaking. What are the best resources?
Thanks for reading and we're glad you liked it! Definitely reach out if you think there's something else we could write about that would be helpful. Content marketing is harddd.
Having gone through a bootcamp, I can also say there's the "we know what we're getting," factor. The job I got hired into afterwards, they knew I would be competent to a certain degree because they'd already hired out of that bootcamp before, and the bootcamp had pretty strict standards about who made it to Career Day. That was a definite factor in my getting hired.

Not to say this would or wouldn't justify various tuition rates - but it's definitely part of the equation.
I got the idea for Clip Grip after watching everyone post jars to social media last summer. I figured that an adjustable handle attachment would provide people a fun and colorful accessory to enhance the jar drinking experience. After I prototyped the idea and began advertising, I received several messages from people with arthritis and disabilities saying that it would help them spill less while drinking.
I think there are a handful of other reasons to persue a side-project-after-work, but mostly they'll be highly self-motivated and individualistic. That's not a bad thing; it may just mean that it's not going to be something you spin into a business, but it's something that solves a need in your life, and as such you don't take very seriously.

If it means you're still learning something a little extra, that's great! If not, that's okay too.
That's a good point, and I think there are definitely things we do today which we will look back on in disgust, too.
> You're in league with wannabe terrorists, misguided natsec journalists, blackhats, child pornographers.

Stop this FUD. You can make the same argument about safes, VPNs, disk encryption, paper, roads, etc. etc. ad nauseam.

What are the specific exploits in Tor which are “easy as shit” to use? If you’re unable to be specific, why is that?
Are companies hiring differently, or are we just defining the terms differently?

"Junior developer" used to refer to someone who can program but who doesn't have a lot of practical experience.

Today "junior developer" refers to someone who can't program but who has a CS degree or went to a bootcamp, and there are more of those today as a proportion of the talent pool than there have ever been.

I think this failure of academic institutions to teach practical skills is diluting the talent pool, causing companies to favor more experienced engineers because they've been getting burned and don't trust their own (or academic institutions') ability to determine in advance whether a candidate will be a productive programmer or not.
Absolutely. Whenever we go to fast food and it inevitably sucks, I always quip, "they aren't paid enough to give a shit, and I don't blame them."
Then their naive users would abandon them en masse because Facebook and YouTube won't work right. The thing to hate is that useful settings like this aren't in a more readily accessible preferences dialog for the rank and file to discover. You have to be told it's there or go spelunking through about:config.
Changelog Note – A very simple note-taking app
Someone technical enough to notice would notice, I think that’s a small portion of people who are being preyed on by Big Privacy.
Ruby2.4-alpine

What I feel is one should stick to a proven ruby version rather than keep updating to the latest release always. I tend to stick to whatever ruby version I started the project till I find things breaking due to non-backward-compatibility.
This is the answer, but they just won't listen. Management at so many firms have convinced themselves that developers leave because of all these magical reasons that aren't either

1) they're dissatisfied with their pay and you're not listening

2) they're dissatisfied with their working conditions (bullpens or open offices anyone?)

so they'll never keep their best people and they'll never learn.
Submit HN: How do I progress from junior to mid-level developer?
I've been a junior developer at a large Bay Area company for slightly more than 2 years. I've implemented basic features and I've fixed lots of bugs. I've read most of the standard "required reading" textbooks such as Code Complete, Pragmatic Programmer, Clean Code, Refactoring, etc. I'm trying to learn more about the domain I work in (security).

But that's about it. I don't feel like I've become a significantly better developer between years 1 to 2. Year 0-1 was filled with a tremendous amount of learning, 1-2 seemed like a plateau with minimal growth. I don't see a bright future for myself at this company because I'm polishing my resume and didn't add many new skills. My team essentially maintains a legacy system. Bugs are never-ending, but I don't want to do this for the rest of my career.

I'm actively looking for another job, but I seem to be "too junior" for mid-level positions, but too experienced for "new grad/junior" positions. I don't know what to do next.
Markdown support would be nice, though. GitHub flavored.
> doesn't address the legitimate need for keeping your browsing history private from overzealous, data-mining ISP's

I think the point of the article is that an arbitrary VPN provider is really no different than an overzealous, data-mining ISP. Unless people can trivially join some sort of anonymized, decentralized mesh network, they are going to be forced to trust a third party at some point.
NYT only mentions the professor and not the first authors which got me annoyed. If you love the science and work so much, might as well include the names of the first authors right? Disclaimer: one first author is a friend.
Is there any news source truly in the middle, high quality and not low volume? I find myself having to read the left version and right version, then approximate the truth.

Your referenced chart has NPR in the middle, for example. I do enjoy them, but the left bias seems obvious to me.