218 karma · joined January 16, 2013
Do you have the same concerns about your compilers? Your web servers? "More code, more liability" is a very sloganeering/cargo-cult take.
On one hand it rubbed me the wrong way personally, but that's not a big deal and something I could get over, but on the other hand I was regularly having to explain to team members in other regions why promotions in Mumbai were happening so much faster than everywhere else. It was a people and perception problem, but still had people who couldn't let it go.
If I had to pick one of the three, it would absolutely be Python for ubiquity. I believe the thing that makes someone confident and capable in a language is writing a lot of code, and Python makes it really easy to explore a broad range of problems-domains which means you can follow whatever interests or whims you have which will hopefully encourage you to write more code.
`abort: please use 'sl init --git .' for a better experience`
What's going on here? I couldn't find info in the `sl init --help --verbose` output or in the Sapling website.
This is a huge management mistake. Teams need a direction, consistency, and time to execute. During that time managers often need to keep things on track and keep up team morale, but also need to know that they have to step back and be more passive while the team is executing. Constantly changing things means the teams are distracted, probably a little frightened, and not operating where they could be.
1. It is a problem representative of the work the person will normally do in the job (we use an extract of our actual data for it) 2. We provide clear guidelines and criteria for success. 3. They are allowed to implement a solution in any language they choose, using any tools they choose (we ask everyone to bring a laptop with their preferred dev environment, but we do provide one with some common tools for them if they can't). 4. They are allowed to use Google and open-source libraries to help them with the solution (we want to see how they really solve a problem) 5. We are there to interact with them and answer domain specific questions, as well as to offer advice if they are stumbling on something to help them move forward.
I've really, really gotten a lot of good mileage out of this. The range of skills that I've encountered over the years has really surprised me. The problem is pretty straight-forward, and usually involves parsing some JSON, looking at the data, and matching disparate sets of the data together. The basic O(n^2) solution can be done in about 20 lines of code and there is some nuance to the datasets that require them to think through the problem and not what they have memorized in their head. I've had programmers with years of experience from places like LinkedIn take 20 minutes just trying to read a file in from the file system, and I've had people who are self-taught developers crank through a really good solution in the same time. I like being able to see how people are writing code, how quickly they are able to lookup information they might need, and listen to the types of questions they have when trying to solve the problem.
A few years ago I instituted an "interviewing code of conduct" for my teams with a few tenants that we've refined over the years, but the first one was "We will treat every candidate with respect and empathy in our interview process". The team has adopted some attitudes and techniques to do so while also not compromising on the talent or skills we are looking for. We've gotten very positive feedback on our interviews, so we think it's working.
The only thing, imo, that this does is harm the relationship between people developing software who would like to be paid for it and their customers. If you charge people money for something it behooves you to keep releasing fixes and point releases for it regularly, not to disappear and release a paid upgrade with the things fixed that should be part of the current release. I don't know of any legal or moral obligation to do it, but it certainly is a good business move for the ecosystem.
One advantage of her Javascript replace is that she can drop it on any machine with a Javascript runtime and it will work, unlike sed.
And the real truth is, she wrote something that solves a problem she has, which is the measure of her success, not someones arbitrary comments.