News for hackers. Stuff that matters.
Re:Philosophies for Software Engineers by amelius on Saturday February 13, 2016 @11:23AM (#11094517)
> and humans are harder to deal with, ultimately, than computers are

I cannot imagine this to be true. Take for example the Paxos algorithm. There are few people who can fully understand it. Yet you are saying that some businessperson is doing work that is more difficult than dealing with the intricacies of distributed computing?

The only reason the businessperson is making more money is because he has maneuvered himself into a better position.

Re:Philosophies for Software Engineers by jasode on Saturday February 13, 2016 @12:52PM (#11094882)
>Take for example the Paxos algorithm. There are few people who can fully understand it. Yet you are saying that some businessperson is doing work that is more difficult than dealing with the intricacies of distributed computing?

Coincidentally, I just went through the Paxos and Raft algorithms last week. Yes, they are complicated but a lot of the complexity is the proof that covers every possible edge case for conflicts and failures. I'm also currently working on populating a multi-threaded Merkle hash tree and the complexity is hitting the limits of what my brain can manage. Nevertheless, I'll eventually make it all work.

Humans, on the other hand are much more difficult. When I was fresh out of school, I definitely thought of the business guys as "the useless suits" and the programmers as the real value-added employees. But since I've tried running my own business and not made much money at it, I've come to appreciate that a few business people out there really have talent for juggling the incentives and motivations of team members.

Whereas moving computer code around in Paxos and multi-threaded hash trees will have an eventual solution, dealing with humans to solve a business problem seems like the social version of trying to prove P=NP.

Re:Philosophies for Software Engineers by amelius on Saturday February 13, 2016 @02:51PM (#11095410)
I think you are biased because you are currently putting (for the sake of the argument) 100% of brain power into your programming work, and 0% of brainpower into business decisions. If you are like me, you think about your Paxos implementation even when in the shower, and while commuting.

Now imagine that you didn't have to do that programming. You would have 100% of your time to make business decisions, talk to people, etcetera. Suddenly, what the businessperson does is not so hugely impressive anymore. Or at least, that is how I look at it.

Re:Philosophies for Software Engineers by abduhl on Saturday February 13, 2016 @03:16PM (#11095495)
Have you tried this? In other words, have you abandoned 100% of your programming work in order to try soft skills?

Were you just as successful as your archetype businessperson?

If you haven't then how you look at it is just a construction of your imagination created to fellate your own ego.

Re:Philosophies for Software Engineers by amelius on Saturday February 13, 2016 @05:27PM (#11095946)
Even if the businessperson would be 5x as effective as I am on "soft" problems, I would still be 10x more effective than this businessperson on "hard" problems :)

So, to return to the original argument: should I simply accept that business-people make more money than I do? ...

Re:Philosophies for Software Engineers by jasode on Saturday February 13, 2016 @06:07PM (#11096143)
>100% of brain power into your programming work, and 0% of brainpower into business decisions.

>Suddenly, what the businessperson does is not so hugely impressive anymore.

I took a 10 year hiatus from programming and spent 100% brainpower on the business. At the time, I thought I had progressed into being a "businessman" and stopped programming (like Bill Gates).

With that experience, I'd emphasize again that executing business activities such as interfacing with clients, managing employees, and reading the signs of a fickle market to prioritize what software to build and make money is harder than any computing algorithm I have ever worked on including Paxos.

I suspect you're elevating software programming above business tasks because of caricatures like Dilbert PHB (Pointy Hair Bosses) and shows like The Office. Well those stereotypes are true because most "businesspeople" are clueless idiots. But that's just Sturgeon's Law[1] at work: the majority of every profession (programmers included) is less than mediocre.

Creating a business and running it such that it doesn't devolve into bankruptcy is as every bit as creative and as difficult as computer programming. With software engineering, you deal with bits and bytes and defined tradeoffs (this network as X latency, that disk array as Y response time, etc). Yeah, juggling all that is complicated but at least it's mostly deterministic. You add 5 to an integer and you don't worry if a stray cosmic ray is going to randomly flip a bunch of bits around such that the integer now says 48390. The cpu doesn't conspire against you to debug the code.

On the contrary, the following business factors are non-deterministic:

-- humans, such as a fickle marketplace and customers that you can't the minds of

-- humans, such as employees with their own needs & wants that don't necessarily align with the business. Hiring good people is hard, etc

Each human is a like a bundle of bytes in a RAM that have their bits being randomly flipped by cosmic rays. There is no deterministic wetware "debugger" to run on a bunch of people so that everyone works together to make the business successful.

Running a business is as hard (or harder) than computer programming. So is managing a hedge fund to return +10% instead of losing investors' principal. Those activities are "hard" in a different way from algorithms. I don't see why programming is elevated above them as being harder.

>should I simply accept that business-people make more money than I do? No

I'm trying another business venture and I'd be perfectly fine with stepping back to just being a CTO and hiring a CEO that has a higher salary than me. The higher salary is what it will take to attract somebody competent. (Of course, I'd have more equity but that part is worth $0 if I'm the CEO.)

[1]https://en.wikipedia.org/wiki/Sturgeon%27s_law

Re:Philosophies for Software Engineers by dennisgorelik on Saturday February 13, 2016 @10:47PM (#11097048)
> just being a CTO and hiring a CEO that has a higher salary than me

Do not hire CEO. Instead find a co-founder that would work as CEO for equity.

You are unlikely to make a good CEO hire, because you do not have enough expertise and CEO motivation in case of high salary would be misaligned.

Re:Philosophies for Software Engineers by whatshisface on Saturday February 13, 2016 @12:24PM (#11094752)
The "business guy's" job is exactly to manuver things into positions. He specializes in making more money! You hire him to do that for the company, but the good ones have side projects.