Compensation tends to be tied to perceived impact. The perceived impact of a manager with 10 reports who are all focused and delivering individually is much higher than the impact of a manager with the same number of reports where half the team meets few of their goals.
The first manager is ultimately going to be seen as more effective and will get larger bonuses and will be more frequently promoted and ultimately grow the scope of what they own. That they happen to get paid more than individuals reporting to them is entirely appropriate based on their overall impact.
That managers sometimes blame the people on their team for the failure of the team is bad management (and worse if the people above them blindly accept that) but I don’t think you can assign all blame to a manager just because they happen to be the manager and certainly not because of their relative pay.
The world running on top of C and Linux being popular have nothing to do with this. Have you looked at what TIOBE claims to measure? They very specifically say it’s not about the number of lines of existing code. It’s supposed to be a measure of the popularity of the language.
“The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.”
I’ve never worked at a startup. I know very few people who have been involved in the startup world. I have exclusively used C and C++ in my professional work (with a tiny bit of python for scripting).
Yet I haven’t know anybody who primarily or even occasionally used C in their work for over a decade. I know they exist but the majority of C programmers moved on to C++ a long time ago.
There are areas like kernel and driver development where C is still in widespread use but these jobs represent a tiny fraction of developers.
Any language popularity metric that ranks C as the second most popular language is massively flawed.
I would suggest that rather than just listing things that didn’t work out, people also discuss what they learned from the experience and how they would act differently if they had a chance to do it all over.
TIOBE’s methodology and rankings seem very dubious to me. When was the last time you met someone who primarily programs in C? (I was one of those people for 14 years, but that was a while ago).
Yes it’s not at 1.0, but my point when I mention to people actually doing deep learning that Swift is coming and has support for native differentiation and static typing, the response is underwhelming to the point that I wonder if either of those features provide enough pull to get people to ever drop Python for Swift.
Swift was open-sourced 18 months before Google announced support for Kotlin.
There was probably several months or more of debate and work within Google by the time of the announcement, but it seems reasonable that during those 18 months they would have also considered and rejected Swift.
They would need it to interoperate with their existing stack. They chose Kotlin where they reasonably could have chosen Swift and then worked to extend it to work with their existing stack.
Judging by what I would argue has been a lukewarm reception to Swift for Tensorflow, I think it would a very hard sell to convince people within Google to support Swift as a first-class language in the rest of their ecosystem.
They could for example start by adopting Swift for server-side programming for Google cloud and they seem to be putting no effort
into that, at least public-facing effort.
Yes, any new language needs to start somewhere, but it’s interesting to think we need new languages for existing domains and that they have any chance of success to begin with.
Consider that by many accounts JavaScript, Java, and Python basically dominate in terms of number of developers and mindshare. These languages all arrived 25-30 years ago. I know some rankings claim C/C++ are far more popular than JavaScript but I just haven’t seen evidence of that in recent years.
Other widely used languages include C, Objective-C, C++, C# and Ruby. The first three are older than the aforementioned languages, and Ruby is from the same era as Java/JavaScript, and C# isn’t far behind that.
In terms of newer languages, the only ones I can think of offhand that seem to have serious traction are Swift and to a lesser extent Go. Some people might throw Kotlin in there, but I’m not sure how much actual traction it’s getting. Rust has been gaining traction slowly for ~8+ years and I’m hopeful it has a bright future but I don’t see a lot of actual projects using it today.
The point is that it’s really hard to succeed if your primary reason to exist is to make existing practice slightly better. It’s very hard to displace any of the existing languages in the space of general purpose programming.
You need to have libraries. You need to have at least syntax coloring support for several editors. You need language server support for VS Code. You need to generate Dwarf. You probably need a repl or website that allows interactively playing around with the language to get people started. You need enough mindshare that teams can actually hire from a pool of candidates once they get a project underway. You need a compiler with good diagnostics, books, StackOverflow answers for the top N questions people will run into, bloggers who are enthusiastic, etc.
Someone posted this on HN recently and I think the speaker does a good job of breaking down the challenges and examining why some languages have found success while others (notably functional languages) have languished on the sidelines:
This is pretty much the first question I ask every time I see a new language pop up.
The fact is the “language” part of a programming language is the easy part. The hard part is the ecosystem, tooling, mindshare, etc.
If your differentiation is “it’s 35% easier to do task A with my new language vs the next best alternative” then I am afraid you’ve lost me and I suspect most potential users.
The effort involved in learning your new system isn’t going to be amortized out by the benefits unless the benefits are very substantial.
This is coming from someone who really lives to learn new languages and is spending time most everyday working through new problems in new languages out of personal interest. For your average “just wanna get the job done” type you have an even more uphill battle.
Having said all that, it can be a great learning experience to build a new language and it’s always possible you’ll influence changes in preexisting systems that do have an existing user base, so I don’t mean to sound too discouraging to aspiring language designers.
I recently purchased Say What You Mean which is about Nonviolent Communication and Mindfulness. I’ve only read the introduction but it really resonates with me.
Actually connecting with people rather than just talking past them and having them talk past me is something that I find very appealing at this point in life after realizing how much people seem to ignore what I am actually saying (and realizing I am almost certainly doing the same to them).
Large company. Team of 12. Do very specialized work.
On call: Never and never have been in 25+ years across multiple large tech companies.
Seriously considered looking into a job at Facebook where this would have been required and it was definitely one of the considerations that made that position very unappealing.
Have a friend whose father was scammed out of thousands of dollars. The ploy was that an "attorney" from another state called to say how the college-aged grandson was in trouble and that the fastest way to make bail and retain said attorney was to purchase thousands of dollars in gift cards that are redeemable online and then read the redemption codes off. He ended up buying something like $15k in gift cards in one place and read them off, and sure enough the scammer hung up right after getting all the info.
It all sounds obviously fishy to you and I, but an intelligent but panicked elderly man concerned about his grandson's wellbeing fell for it. They don't need very many victims to make it worth their while.
Was given these when my Dad was clearly failing to thrive and had given up. He basically stopped caring about living after my Mom died, although it wasn’t entirely clear at the time.
Separate out management for a moment. So an engineer who gets paid 50% more than another deserves 50% more blame for a failure?
I thought HN was a place where people attempted to form good arguments based on fact, not one where people let emotion rule the day.