1. 2

    That read like an IBM ad and didn’t actually address why devs shouldn’t have to a complicated deploy process.

    1. 2

      Because it is most likely an ad in disguise.

      1. 3

        I love how it claims to be based on “reason” and still resorts to “bs” to get things done. Political commentary as code.

        1. 3

          Reason is a syntax for OCaml. BuckleScript is the compiled bridge to JS.

          1. 1

            Yes. I just like the way the names play out.

        1. 3

          Wow, this is impressive. Super fast, too. Excellent concept and execution.

          1. 1

            Thank you. ?

            1. 1

              Not sure why this is a question.

          1. 4

            “If a pure function mutates some local data in order to produce an immutable return value, is that ok?” – Rich Hickey

            https://clojure.org/reference/transients

            1. 3

              LOVE this quote:

              “It doesn’t matter how often you have stand-up meetings, when it comes to the central method of communication, long-running branches represent dead silence. Long-running branches are the worst.”

              1. 10

                How is it a popularity contest? I mean, I think they are good metrics, they simply don’t measure popularity. Furthermore, I think that you rarely get to see other people’s karma, since it is not displayed in regular conversations, but in profiles.

                I’m specially shocked by the “competition” part. Are we going to do a ranking in Christmas? No one is going to bash you because of your karma, just relax and enjoy the conversation :)

                1. 5

                  Furthermore, I think that you rarely get to see other people’s karma, since it is not displayed in regular conversations, but in profiles.

                  I didn’t even realize it was possible to see it for other users.

                  1. 8

                    Then let me blow your mind: https://lobste.rs/u?by=karma

                    1. 2

                      Ok so there was a ranking after all. Dammit.

                      1. 1

                        Great now I have that Eve/Gwen Stefani song stuck in my head…

                        1. -1

                          It’s the usual distribution these things have

                          ********************************************************************************
                          ****************************************************************
                          ****************************************************************
                          ******************************************************
                          **********************************
                          ******************************
                          ***************************
                          **************************
                          **************************
                          **********************
                          *********************
                          *****************
                          *****************
                          ****************
                          ****************
                          **************
                          **************
                          *************
                          ************
                          ************
                          ************
                          ************
                          ************
                          ************
                          ************
                          ***********
                          ***********
                          ***********
                          ***********
                          **********
                          **********
                          **********
                          **********
                          *********
                          *********
                          *********
                          *********
                          *********
                          *********
                          *********
                          *********
                          ********
                          ********
                          ********
                          ********
                          ********
                          ********
                          ********
                          ********
                          ********
                          ********
                          ********
                          *******
                          *******
                          *******
                          ******
                          ******
                          ******
                          ******
                          ******
                          ******
                          ******
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          *****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ****
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          ***
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          *
                          
                          1. 4

                            Looks almost like a Zipf-Distribution…

                            Quite interesting, maybe someone should study this a bit (or apply Machine Learning until study pops out).

                            1. 3

                              It would be nice to post long tail posts like this externally on a paste service like gist.github.com. I know you wanted to visualize the distribution but it just makes all of us scroll a lot of screen estate for little benefit.

                              1. 1

                                Ok, I’m sorry if it bothered you, but I felt the act of scrolling really gives a feel for the long tail.

                      1. 1

                        If you look past the headline, this is really cool technically as well. They implemented a general string-wise sequential CRDT library https://github.com/atom/teletype-crdt. I wonder what other cool projects one could hack together with this as a base.

                        1. 1

                          It appears to be based on protobufs, which is a really interesting binary messaging format: https://grpc.io/

                        1. 12

                          I disagree with this post. I’m also a professional and my time is valuable too. However, two of the three suggestions they made are taking significant time away from me and my team for evaluating a candidate that potentially can’t even write code to solve a simple task. Part of an interview process is to filter out people before it gets to that point, so we’re not wasting employees time.

                          1. 10

                            I think coding challenges are optimised for candidates who are looking for a job. I’ve been in that boat once, and when you’re actually looking for a job your “valuable time” is of course bet spent trying to get said job (by doing coding challenge or whatever else).

                            Most of the time, though, I’m being recruited. I’m not going to do a coding challenge for a recruiter.

                            1. 1

                              Taking an entire day to work with them (unpaid) still strikes me as really weird.

                              1. 1

                                Think of it as a great way to find out if these are people you would want to work with every day before you actually have to do that.

                            2. 8

                              I disagree with this post. I’m also a professional and my time is valuable too.

                              I have the same problem with it as a hiring manager– how do I screen out socially capable but inept developers– and I share the author’s opinion when I’m the candidate– this tells me nothing about why I want to work for you. Each side wants the other to make an unequal commitment so it amounts to a single round game with that candidate. As a candidate with a choice of games, I don’t want to play this one and it signals disregard for/trivialization of the candidate’s investment and work history. For the hiring side, this plays out multiple times and there is investment in posting, screening, reviewing, etc. so regardless of this round my total investment is higher but not visible.

                              So what have I personally done? When I’m the candidate, I refuse to do the coding challenge and say, like the author, check my repos and talk to my references (unless the problem catches my interest, then I might). I have that luxury. When I’m the employer? Up front I explain how it works and what timeline they can expect as part of a 15-minute phone screen for basic info with someone technical. Then I arrange a round of 45-60 minute calls: a technical call with someone on the team and a social/technical call where I try to get them to talk with me about their work in detail and many of the non-code aspects of their job, habits, tools, designs, etc. They’ll probably have a call with my manager or another peer. Then, if I’m satisfied but not sure, I bring them in or have a video chat and they do a quick coding test. This wastes less of their time, makes my commitment visible, and seems to work but it is not a scalable process.

                              1. 7

                                I have a portfolio and some github projects. This is where most of my hiring emails come from. So when a company doesn’t spend the time to check that out, and they want me to implement some trivial thing that doesn’t generate value for them, I don’t have time for them either.

                                I’ve had companies pay me to be a consultant for a week before giving me an offer, which was a nice way to learn about who they are. On the other hand, sometimes companies give me job offers now before I know anything about them, and I have to pump the brakes and talk to more of them before I feel comfortable going into something long-term.

                                1. [Comment removed by author]

                                  1. 6

                                    They didn’t ask for the hiring managers time, they asked for developers time. Either way, these people have other job responsibilities too and their time is important to defend.

                                  2. 1

                                    …evaluating a candidate that potentially can’t even write code to solve a simple task.

                                    In the post, they talk about how they have a blog, numerous GitHub repositories, etc. At that point it should be obvious they can code. The interview then should be more about “fit” or whatever, IMHO.

                                    1. 5

                                      They aren’t the only candidate we would interview and in my opinion, it is better to have a consistent process. If every candidate had a similar level of public presence to evaluate then maybe that would be different.

                                      1. 7

                                        So, again IMHO, at that point you’re basically throwing out someone with passion and talent due to bureaucracy. If I come to you with decades of experience/conference talks/published papers/lots of open source software to review/whatever…and you ask me to spend 30 minutes doing trivial work, you’re basically implying that I’m lying to you and/or that your company cares more about process than people.

                                        Again, this is IMHO.

                                        1. 7

                                          I’m saying that you’re not the only person applying for the job and I need to treat everyone the same, so we’re not giving preferential treatment.

                                          1. 3

                                            I know, but…maybe you should give preferential treatment to people who are obviously better candidates. :)

                                            1. 9

                                              Some of the best engineers I know have zero public presence. Some of them are extremely humble and don’t like public flashiness. Some of them have families and maintain a strong work-life balance with non-tech stuff. Never assume those with a strong public presence are giving the world the whole picture. You still want to drill into the parts of their personality that they don’t highlight.

                                              1. 4

                                                Why does having a public portfolio make someone an obviously better candidate? What makes a candidate obviously better? Arbitrary social metrics? Ability to speak quickly about technical topics? Ability to talk bullshit without it sounding like bullshit?

                                                How do you know a candidate is obviously better without having them go through the same process and pipeline?

                                                1. 3

                                                  How do you know a candidate is obviously better without having them go through the same process and pipeline?

                                                  If the code in their GitHub account is as good or better than what would be tested by my coding test, why subject them to that? Ask harder questions, ask questions about the things that the coding test wouldn’t cover (including “soft” things that would judge a good fit), etc.

                                                  Why does having a public portfolio make someone an obviously better candidate?

                                                  Which surgeon would you rather have? The one nobody’s ever heard of, or the one who has published articles on the relevant surgical procedures, who goes to conferences to learn more about surgery, who obviously is passionate enough about medicine that they would study it even if they weren’t getting paid?

                                            2. 8

                                              There are, unfortunately, a lot of liars out there. I won’t say that industry hiring practices are anywhere near ideal, but as an interviewer it was astonishing how many people with great optics were incapable of coding. Someone would speak with great passion about all their projects and yada yada, and id be fairly convinced they could do the job, then I’d ask the most basic question imaginable. Splat.

                                              I guess it helps if you choose to believe the test isn’t meant for you, but for all the other pretenders.

                                              1. 7

                                                Even more surprising to me is that people who can’t actually code are somehow able to sustain careers as developers. It started making a lot of sense to me why good developers are in such high demand after I had the opportunity to do some interviewing and found that a frustratingly large amount of applicants can’t actually code, even if they look great on paper and are currently employed as developers.

                                                I think it’s incredibly risky to hire a developer without seeing code that they have written, be it from open source contributions or a coding test if necessary.

                                                1. 3

                                                  Onsite nerves can kick in. It sure as hell did for me. I hate white boarding and I lockup. Totally brain freeze. That said, if it’s a basic one like writing a loop…well, they somehow lied their way into the onsite. Thing is, a take home coding challenge can weed out those people pretty fast. If they do that and come in and fall flat on their face before the whiteboard I don’t totally discount them. Anyway, there’s no perfect solution. There is always the potential to hire someone that is great at coding interviews and then sucks at real world problems.

                                                  1. 2

                                                    This is exactly my company’s experience. Half of the candidates would just bomb out on the C++ test even though they have studied it at high school/college/university and worked with it at their job for 5-10 years. How?!? Because they were either doing Java, not C++, or they were actually managing a team that did C++ and never had to touch it themselves (Well since leaving school at least).

                                                    1. 1

                                                      What I don’t understand is why this is so hyper-specific to developers. You never hear UI designers talking about processes like this.

                                                      1. 6

                                                        Really? I’ve heard UI designers talk about it a lot.

                                            1. 1

                                              This is a great idea. Would love to see it for JavaScript.

                                                1. 3

                                                  I have learned this the hard way too many times. I’m a slow learner, apparently. I’ve never really been forced to do it for work, but I’m naturally a night owl and late at night is usually when I experiment with tech. However, I found that I’m much more prone to oversights and avoidable missteps. Stay in school kids.

                                                  1. 1

                                                    Is data-science too broad?

                                                        1. 5

                                                          New to me! :)

                                                        1. 2

                                                          Man, this was an incredible read. Thanks @pushcx.

                                                          1. 9

                                                            I’m never going to not upvote this.

                                                            Check out the 99% Invisible episode about Engelbart. Really insightful to hear the context surrounding such an amazing achievement. http://99percentinvisible.org/episode/of-mice-and-men/

                                                            1. 4

                                                              This is my favorite podcast - bar none, and I listen to a LOT of podcasts!

                                                            1. 1

                                                              Dropbox, and Edward Snowden, have made it very clear that they do not value your privacy. Move your content to Spideroak.

                                                              1. 1

                                                                Uh, how are there negative points for this post when there are no downvotes? @irene? How is this spam?

                                                                1. 1

                                                                  It was downvoted as spam - in an incognito window, I see “+1, -2 spam” at the end of the second line.

                                                                  Is that not what you see?

                                                                  It would probably be productive to ask people why they feel that way. My suspicion is that it’s more of a business-oriented article than the site is really fond of.

                                                                1. 5