4 ms·
Come on, Antirez is a x10 programmer, he coded one of the most brillant software of the last decade. It's so well done I use it as an example in my trainings, m
by sametmax 10y ago
Come on, Antirez is a x10 programmer, he coded one of the most brillant software of the last decade. It's so well done I use it as an example in my trainings, making people compile it to stop being afraid of building from source because I know it never fails and it's so damn simple.
And programmer reading anything on his blog, or anything on HN for that matter, is not an average programmer anyway. The simple fact you are interested in your work singles you out.
Guys, you need to come out of your super power bubble and come to work down here. Where people uses PHP, SVN, and don't know what an environment variable is. Where they work for money, not for passion. Where Vi is scary and they pay the licence for Oracle even if their DB has one table.
This is the huge majority of the devs : plumbers.
I find it disrespectful when people don't realize this, because it means they live a life ignoring a vast majority of dev tool users.
Not only those people are numerous, but they create a lot of wealth because they are so many.
Don't assume:
- devs know the command line
- devs know how to setup a server
- devs know how to use a package manager
- devs know how to version control, unit tests...
And above all, if they don't know how to do that, don't assume they can't do their job. Because according to their employer they do. And they are paid for it.
They won't do a graceful reload, they won't compress their css and won't escape the user input. But the website will be online, serving customers.
This is why on my blog I have articles explaining what's javascript, what's RSS, how to setup the Windows PATH, etc. Because for important tutorials on Python, I can reference those, not assuming people know what I'm talking about.
- struppi 10y agoWhile I agree with almost everything you wrote - I found that original post awesome and there are many great lessons in it - I don't see what this has to do with my comment. Also, I don't get what I seemingly did not realize (mostly helping clients with legacy code on legacy platforms in legacy organizations to improve their quality and teamwork), or why this is disrespectful...
- sametmax 10y ago> For most of my past clients, the skill / output of their programmers was not the bottleneck Of course it was not. If you are antirez, you will mostly work with people on projects which, by nature, will involve talented programmers. > Improving how the team works together / how work flows through the system probably has a bigger impact than raw programmer output But only a person good enough can do that. This is catch-22 > Improving the quality of your software (minimizing defects and rework) will improve the output of everyone in the team Yes, but it requires a really good dev to create and execute a plan to progressively enhance it. Instead of doing another from scratch which will also fail. > I have heard of cases where removing the "top programmer" from a team made the whole team more productive Yeah I heard of people stopping vegetables and living fine as well. And "top programmer" <=> "top dev". You can be very good at software and terrible with people. My point is, the entire article is build on assumptions from the "top programmer" perspective. All that goes to the water when your team is composed of: - a senor waiting for retirement - an apprentice fresh out of a community college - a new dad who needs money and hates his job - a legacy spaghetti code project coded by 3 different teams 10 years ago - and no 10x programmer to be found It will work. But say goodbye to best practices, and all the rules Antirez is stating.
- Chris2048 10y ago> Come on, Antirez is a x10 programmer, he coded one of the most brillant software.. "x10 programmer" doesn't mean "great programmer", it means specifically "programmer 10x better than average", so simply writing great software isn't enough - the strongest man in the world might still not be 10x as strong as the average man.
- jkdufair 10y ago"But the website will be online, serving customers" ..., frustrating them, leaking their data, and wasting their time.
- sametmax 10y agoOh yes. We tend to wrongly assume the goal of most companies is to do correctly their job. It's not. Their goal is to make money. And a lot of businesses do so while providing terrible services or products. Plus people working for them have their own agendas : family, play, not get blamed, etc and won't do anything about it. It's not specific to software. How many of you have experienced : - a completely broken by design shower - those "easy to open" packages that are impossible to open - kitchen ware taking centuries to wash because obviously nobody designing them never bother to use them - laptop with horrible sound - shoes that destroy you feet after 2 hours of using them ? Doing your job well is the exception, not the rule.
- fnord123 10y agoSo you're saying that 10x developers definitely exist, it's just a disappointing state of affairs. Like how the Turing Test was rendered obsolete because online comments (e.g. Youtube) became so bad, the bar to writing a bot that passed as one of them was lowered dramatically.
- sametmax 10y agoLol, I didn't know about the Turing Test state. Hilarious perspective.
- hex13 10y agoMaybe all these "I'm \d+ years old, and I like this song" before each old* song were written by bots. This would explain a lot. *old song, according to Youtube comments is every song recorded before 2016 AD.
- AnAnonyCowherd 10y agoAlright, my turn for anecdata, since I am having this... "discussion" right now. About 3 years ago, I was hired to write a program to partially automate an incredibly complicated engineering workflow. It was a total rewrite of a crufty program that had been running for about 5 years (written by my boss), but which couldn't keep up any more. It took me MONTHS just to truly understand the process, and about a year and a half (after a few experiments) to get to a stable, mostly-feature-complete version. Hundreds of people are now using it every day. I am in engineering, not IT. The executive director in charge of engineering software for the company wants to own all data and processes. He HATES my project. My second week there, his underling told me, to my face, that it was his intention to kill the project I was hired to do. (Yeah, it's like THAT.) The ED convinced my boss' boss to stop me from working on my program, and hand it over to his team. That was 5 months ago. When I was hired, this director restarted his THIRD attempt to write the same thing with contract, overseas labor. They've been at this attempt for as long as I have been here. Their program doesn't work very well. Literally every step (that they've managed to code) takes 3-5 times longer to do with their version. The engineers are refusing to use the tool. My boss, through excruciating effort, has collected feedback on IT's tool, and made a list of things it must do in order to switch to it from mine. This "must-have" list is about 140 items long. The program manager of this competing tool finally "put pen to paper," and estimated that, using EIGHT people, he could code TWENTY-FIVE of the required items in THREE MORE YEARS. Rough math says I'm a 100x+ programmer, and I feel pretty good about that, but I've worked with several people who are sharper. I said all that to set this up: To the parent comment, yes, these people produce software, and use tools, and get paid, and all that. But at what cost? The other group has spent TENS OF MILLIONS of dollars for something that will take YEARS more effort to match something my boss did for a couple hundred grand. You're right, "they" don't know how to do a lot of stuff. The person assigned to pick up my project doesn't understand how work with Azure, doesn't understand the database schema (let alone the process that dictated it), and apparently can't even copy working code from the existing program to derive new features. If you want to give people credit for being able to log into a computer, and run Visual Studio, that's great, but there's quite a bit more to it than that. When these kinds of people are creating software, it'd be better to let the users continue to do everything in Excel themselves. I guess some people would pat the executive director on the back for creating such an empire out of this one project inside a vast Fortune 150 company, but the waste just leaves me shaking my head. And the worst part is watching how my boss, very deftly, and very respectfully, has worked to give engineers a tool that will help them do their job, and improve the process, and how the person actually in charge of such things has fought him for almost 10 years now, trying to force people to use an inadequate tool which doesn't match how they work, just to say he owns it, and there's apparently no one in the company who will or can do anything about the situation, because it would take the CEO to make IT and engineering play nice together, and he could not possibly care less what software thousands of his engineers use, or if they do it all by hand, as long as profits are increasing and the stock price is rising. I know, I know. This is not uncommon in large manufacturing (i.e., non-"IT") companies, but this example is the worst I've seen.
- petra 10y agoWhat do you expect ? you are at HN, and the bubble is strong here. Heck even the large recent trend among app developers and business analysts for low-code tools, tools that require mostly GUI and some code to get pretty complex applications going, offering maybe 5x-10x (or more) boost to productivity - that trend wasn't even mentioned at HN over the last few years, even though it seems like a really important trend, if you develop software or start businesses. That just makes me wish there was a different type of community for entrepreneurs, one that is focused on democratizing creation and simplifying knowledge, in many fields - because those are the building blocks entrepreneurs work with.
- sametmax 10y agoThat's actually a good startup idea, since the corporate world also spend more money that the agile one.
- woah 10y agoWhat are some of these tools?
- petra 10y agoFor enterprise software(and some IOT) Mendix and outsystems are the leaders, but there others : http://agilepoint.com/wp-content/uploads/Q2-2016-Forrester-Low-Code.pdf http://agilepoint.com/wp-content/uploads/Q2-2016-Forrester-L... For the IOT, i believe thingworx is the leader.
- thr0waway1239 10y agoHN is a bubble for sure, but that may not be the reason why low-code tools are not discussed. Suffice it to say that my interest got less and less piqued with every single word in the URL you provided (I was already biased against it before even reading the report), and I couldn't get past the first few pages in the PDF before feeling bored. I recently was looking for Java based open sourced wiki software for intranets. And I read about this software called LifeRay. To most people on these forums, LifeRay is not particularly interesting (based on searching HN for LifeRay related submissions and seeing how many comments a submission gets). The market size for LifeRay might be quite large, I don't know, but it is just not the kind of tech that people are excited enough to comment about. For example, I am fairly sure no one is going to go and read about LifeRay just because they read this blurb. There are many different reasons for the lack of excitement as I am sure you can imagine. But the echo chamber is not the cause of the lack of discussion. Some topics are not just interesting enough, and probably never will be.
- yourapostasy 10y ago> Don't assume:... What kind of dev do you suppose know what you listed? A 1.5X, 2X, or 5X programmer? Surely not a 10X/Free Electron.
- milesvp 10y agoThank you for reminding me of this. I used to tell coworkers these same types of things to remind them to keep things simple, especially since we generally don't pay well enough and struggle to attract top talent. But we've managed to hire so many good devs in the last few years I've started to forget...
- solatic 10y agoBut a lot of what you describe is what most people here would describe as basic competence. We're not talking about something like continuously deploying to multiple regions with architectures that permit high scalability, availability, yadda yadda. We're taking about the ability to create a simple back-end that won't lose customer data (because it has tested backups), obeyed 80/20 rules on cybersecurity, and are reasonably maintainable (code isn't suffocating under centuries of tech debt). Every other engineering discipline has licensing requirements. People think software is special because the industry moves quickly, and indeed I agree that creating a formal, standard licensure body is extremely difficult, bordering on impossible, but think of it this way: If, hypothetically, there was a proper licensure - how many people would be competent enough to earn it? We may think that there's a labor shortage now, but really, it pales in comparison to how bad things could be if all of a sudden everyone had to get licensed. That's the real problem - most "software engineers" are not at a level of competence where they could get licensed, if such a license existed. And the industry's way of dealing with a lack of licensure is to throw more people and money at the problem, because the problem has defied all attempts to think smarter about solving it.