Engineers often like to think of themselves as libertarians.
But I've met enough that when you even begin to scratch the surface, they tend to be very technocratic... believing there must be a better way to organize something if only *they* could be trusted to run something.
This is more and more true in places with a higher emphasis on academia.
Academics suffer from what I like to call systems thinking. Having spent enough time there, they almost always try and solve every problem by modelling and then playing with it numerically.
This results in the idea that we should trust in such models above and beyond people's choices. To use an engineers mentality, they tend to like centralized big computers instead of distributed systems:P Kinda odd isn't it.
There is nothing 'scientific' about it. Science can't tell you what values or policies you should follow, but they tend to like to frame it that way.
I personally credit this kind of systems thinking for the recent financial collapse. At no point in history has there been so much sophistication and modelling in the financial system. Yet of course people are still in the system for their own self-interest, their own biases, still gaming it, models were incorrect or imperfect. And of course who gets to be in charge and make decisions based on the models...
When Greenspan made his point about the 'market failing' it was a classic systems thinking mistake.
The banks have a vested interest to enhance share holder value, so they would be in the best position to regulate themselves... as their institution's purpose is to enhance share holder value... which means keeping the bank in good shape.
It's like saying car drivers have a natural interest to prevent accidents. Therefore, they should be allowed to regular themselves.
I won't get into saying whether we need more/better/less regulation. But I will say this. We as a society have decided we like to have stable banking. The government backs and insures banks. It then has a duty to regulate them. Just like your car insurance company regulates you by charging you more for more risk, denying you coverage if you're too risky...
I see the same thing all the time on so many policies. When it comes to education policy or health policy, many think we can generate expert panels on all of these to deliver excellent healthcare and education. Meanwhile, the centralization of power that comes with unions and medical associations and payment and politics and facing parents with different beliefs and facing people who are facing death or illness... basically anything human is something they choose to ignore.
Which is very common for technocrats... and hence engineers. Just like the Euro. These big systems designed by technocrats and engineers and scientists will eventually fail because they're ignorant for anything related to humanity.
It's like they try and solve a complex equation... but they ignore the biggest variable... humanity.
Government is more than the elected people. It is the civil service. It is the well connected corporations. It is the bureaucracy....
That is where the real power is in most democracies. And that in turn gets reflected in low voter turnout as people rightly determine their vote means nothing. If those with the most to gain simply form groups of special interest and voting blocks, they can consistently gain the power of politicians.
It is why it is dangerous for societies when societies become socialized enough that a substantial... even a minority of people are employed by the government or protected by government.
That is the nature of socialism and government run systems. They become self-interested.
Could I imagine a theoretical socialist system that didn't run into these problems? Of course. But in every country it is tried, there is always a concentration of power into those tied to the big government to the detriment of everyone else. Solutions would actually be about constraining democracy and putting in place constrains on government to prevent the gang-like nature of politics.
I fully support helping the poor. I just don't support the government running things as monopolies always exist to benefit themselves. I think it ends up creating a gang based society and higher costs on the poor.
I actually think most cities handled the occupy protests quite reasonably. I'm sure some were more restrictive than others, but for example in Toronto they basically took over the park and were camping out there. At some point people were getting upset and the park itself was being destroyed (grass and flowers trampled).
So they planned to remove them. The court basically acted as a kind of arbitrator there. Allowing them to protest between certain hours, but not sleep there. But recognizing that the occupy protest could not simply have exclusive use of the park.
It will always be a 'complex' arbitration like issue when public use is concerned. There's no real answer except to grind through the bureaucracy and reach some kind of general agreement.
Considering PHP was a 'language' built for server-side scripting, it is hardly just a 'language'. There would have been almost no reason to 'invent' PHP just as a language on its own.
A programming language in general usage is a function of both its syntax and its libraries and even its tools. A discussion of a programming language just on its 'syntax' would be a fun discussion for a few in academia I suppose. But for the rest of the world, it includes everything.
In the same vain as those who used to rant about operating systems being just the kernel. It's not. It's about the whole platform and can ever blur into common applications.
Most often, what is discussed is the basic install provided in the prepackaged form.
You can protest all you want on your own property.
You cannot be a nuisance on someone else's property. really no different from a stranger going into your backyard and destroying your garden and throwing a party.
Oh, but it's a 'public space'... owned by everyone! Well that never has any easy answers. If two group want to use a park. One wants to play soccer. Another wants to play football. Who gets to use it? I don't know. So the government decides by schedule or arbitration what gets to happen.
Why should these occupy folks get to use public space to the exclusion of people who want to use it to walk their dog, play in the parks...
The numbers for 2011 are there and they are higher. but they are projected right now, so I stuck with the 2010 numbers.
In terms of jobs, automation is what is 'killing us'. It is not the cure. I don't ever suggest we should stop automation. Only that there is less productive work to be done and we need to start understanding how that affects work distribution, work loads, equality, economic growth...
Let us assume the article is correct? So how does this help any industrialized nation?
The US has 300,000,000 people. Apple employes 60,000 people... many of whom work in retail. Apple is perhaps the most successful innovative company right now.
I personally have great frustration with those who simply tout this 'high-end' job. The 'creative class' and all that crap. Okay great, there are these good jobs in innovation. I work in the field. I get it. But there's not enough to sustain 300,000,000 Americans.
There's only room so many innovative companies doing smartphones or consoles or operating systems or solar panels... or whatever. Do you know what is special about design jobs? They only need a relatively small number of people do the design.
As other nations become prosperous, you'll have billions of reasonably educated people competing for these design jobs.
Right now, one might argue Silicon Valley is the epicenter of innovation. Great. And that operates in a state with about 35 000 000 people and an 11% unemployment rate.
Even assuming we had a super amazing education system in California that generated brilliant people capable of doing work... silicon valley is not hiring 3 500 000 people. Heck, I'm pretty sure we saw layoffs at many firms in the news. Some companies are hiring of course... in the thousands perhaps.
My point... innovation is great. It generates a few jobs. It makes some people rich. But it doesn't do crap for the 95% of the population. As a result, we shouldn't be so concerned with the innovation economy or any of that.
Small countries with a few million people like Singapore or Sweden can try and sustain their economies off of innovation, but any large nation... be it the US or China or India will never be able to.
The private sector of these countries will be composed of manufacturing, farming, call-centers, service workers... If you can't design an economic system to work for them, it won't.
Stop living in your little bubble in academia or silicon valley with this religious belief in growth and innovation... and start looking at the numbers.
While mainly true, let's not pretend there's much in silicon that can be replicated.
It is your typical isolated exported oriented bubble. Not everyone can be an exporter. Just like not everyone can be like Germany and export high-end manufactured goods. Not everyone can be like Norway or Saudi exporting oil.
It's also not a large employment model. There's only going to be so many innovative Search companies, OS, smart phones, chip set makers...
And that only works as long as the population is small. Heck, the amazing wealth in silicon valley can't even bring prosperity to a single US state. Much less a large nation.
In the grand scheme of things, Silicon Valley might be great for the advancement of technology and small groups of people, but it does virtually nothing for the economic condition of a large nation.
The more I grow up, the more I see Silicon Valley as a really good coping mechanism for a heroin addict. A nation addicted to needing more and more growth to cover a lifestyle it can't afford. And it has reached a point it can't obtain the next high.
It's not the norm. I often tell my fellow engineers and IT people. It's not that government, finance, and business are evil. It really is that they don't 'know' any better.
Most of my friends are not in engineering/tech. They all have this perception we're all making Google-like salaries, working as professionals... not much different from lawyers or doctors.
Now back in reality... IT/engineering is not a profession. As a group, we are just worker bees. Albeit, well-paid worker bees for some of us.
I was like you when I first graduated. I didn't view it as a 9-5 job. I solved issues quickly, I shipped well. I took emails at varying hours. I had a lot of passion for the products. I quickly realized... it all didn't matter. Unless I wanted to change career paths into product management or something. So I do just work my basic work now and treat it as a job.
So what are my beefs with working extra hours? 1. Management treats us like fungible parts. So well... I've learned to act like a fungible part (9-5 worker) I can't count the number of times our teams have been reorged and thrown different projects different ways. There is absolutely no treatment for knowledge/maintenance of the product/system.
2. Similar to 1, but I'm not about to play super-hero engineer again and again and again for something I know would be better done if was treated as more of a profession. Keep things staffed properly. Keep quality people and engineers. Keep senior people. We just had a reorg at my work and they laid off several very good senior staff. Yeah... of course they want the rest of us to pick up the slack. Good luck with that.
And yes I know this is a feedback loop. If we acted more like professionals, we'd be treated like them. Unfortunately, I can't change the system on my own... and there are enough poor people in the world and immigration to keep a nice supply of fungible parts.
And yes, the world of product management is different. I've drank with you guys enough times:P I have nothing against anyone busines/finance/product. It is more about how engineers/IT folks have treated their own work and profession and not stood up for their interests which in the end align with the interests of an efficient business.
They come with corresponding formal residency like programs. Training is formally built into the job. They come with... shall I say greater goals. Doctors take an oath to help the patient. Teachers as well have professional duty to teach. Both have formal quality and legal controls. Neither generally operates as a 'general' worker under a corporation.
I can't under-emphasize these points.
Could software be a profession or craftmen like guild? Yes! Could we engage in 'doing' and 'managing' ? Yes!
Can we do it while working under a corporation without any formal legal or powerful professional association? Nope.
Surprised in an article that long, this wasn't mentioned:
The ability to wage war without the morality of individual soldiers. While soldiers are certainly capable of immoral actions like raping and indiscriminate slaughter that a machine not, it is also that humanity that can lead them not to follow orders, stop fighting...
Today, this is probably much more important in domestic issues. Imagine the recent Arab Spring if the Arab dictators had access to such robots. They could effectively control their population indiscriminately.
The Egyptian military is still composed of regular Egyptians. They follow orders and get paid, but at the end of the day they are regular people; family, neighbors... Mubarak couldn't just tell them to slaughter Egyptians on mass.
Imagine a psychopath like Hitler in charge of such an army. Not having to care about defections, unwilling troops...
The ability to command a powerful army in the hands of so few is what is truly scary.
Because they want people to use their works. If a license is restrictive that people/business don't want to use your works, then people rethink their license.
It also happens that many open source like products are used and supported by businesses. Again, they don't want to sabotage their ecosystem.
Well as things even out, more and more developers will gravitate towards the thing that gives them their share.
I recall reading a while back an article about why Enterprise Software was often so complicated... especially before 'cloud computing'. It's often not that there wasn't a better way to configure and deploy the software. It's that the people who would actually deploy the systems were consultants or administrators who naturally didn't want to lose their cut.
Why would a consulting firm recommend a simpler/better product that would basically put them out of business? The software company had to leave enough complex work for the consultants to do to get them to push the software out in the field.
This is much like how mutual funds often paid financial advisers with fees for them to 'push' their funds.
Now of course disruptive technologies or methods can occur. ETFs and online brokerages came along and have cut into the easy money many financial advisers got used to.
Similarly the 'cloud' disrupts the software sales process by allowing companies to sign up easily for online services. You don't need to pay consultants to push and install your software.
Now, developers of applications are actually the ones doing real work. They're not just middle men as in the case of financial advisers. At the end of the day they would like to be paid. A platform that doesn't pay attention to that will not get the most attention.
Assuming that is the case that Apple has done something right with their platform/marketing that makes it more likely that users will pay up, then yeah... I'd probably target Apple as well.
Everyone contributing must their cut.
Now sure, if you're a developer who doesn't care about being paid that way... then you won't. But if we take the report as accurate, a lot of developers are targeting IOS for that reason. And maybe Android should pay attention. Because if Android is always seen as non-revenue stream, eventually the money folks will say... why bother making an app for it.
Now as you rightfully point out, ad based apps might not be affected. But there are plenty of specialized apps out there from enterprise application to medical devices...
Yep. I'm not against process by any means, but it has to be productive.
Considering how much of the success of a project is based on people... it's amazing to see how little 'people process' there is. Processes to make sure you hire/keep skilled people. Processes to develop skilled people (mentorships...)
Once you have the right people developers, then you can make use of the other processes to enhance things.
Fields like medicine, law.... have extensive people processes. Internships, residency, credential screening....
They lack what we would think of as business processes. Simple things like surgeons have check lists for their tools so they don't leave them in patients:P
We tend to have all business process and no people process.
It's not just money. I'm pretty happy with my salary.
What I'd like 1. stability to know my investment in a company is long term. It doesn't help when they lay off senior staff... 2. Professional development, mentor ships... 3. Well run management, projects... but that is highly tied to 2.
A typical software process innovation happens like this: 1. Group of highly skilled and motivated developers create a new process (agile, code review, team programming...) 2. They see the results are great and start writing about it. 3. Other skilled and motivated developers take note of the new developers and start implementing it. The new process gains acceptance. 4. Consultants and the general software community picks up on the idea and starts implementing it. 5. Projects fail as usual as unskilled and unmotivated developers and organization can't execute it.
The team of highly skilled and highly motivated developers that create the new and cool processes would have been able to build a successful project using almost any process... or even no process.
Software processes can enhance a highly skilled team and highly motivated team. They can't do much if you don't have the talent or motivation across the organization.
And why should you worry about intelligent design? It.... like god... can neither be proved or disproved. But
But what intelligent allows is for science to actually function. By discovering 'science' you merely discover how god made things.
Whereas creationism was an actual impediment to science. You *couldn't* study the evolution from ape to man... as the *real* answer was 'god said poof... and here we all are'. Even can be explained by the poof. Dinosaur fossils? God said poof. Impossible to prove or disprove, but definitely an impediment to science.
Intelligent design and other 'design like ideas' basically allows you to study science in depth. Be it evolution or the big bang... and just when you reach a point of randomness... you just say... god is behind that randomness. If there's order to that randomness... god made the order and you discover the equation behind the order.
Now, someone obsessed with proving the unprovable might worry about intelligent design. But for me, intelligent design let's science do it's work. I don't fight it or try and prove the unprovable. Let them be.
Is there a need for new programming languages? Perhaps. But I don't think this is eternal. Programming is just the ability to express algorithms and logic. It's not an infinite space.
I think people moan about new languages when they don't appear to bring anything really new.
Broadly speaking... following one train of evolution.
assembler - abstract out op codes C/C++ - direct hardware access... provides human word abstraction for programming (for loop, switch, variables, classes...) java/c# - virtual machine based, easy library integration (just include the lib)
Those are big significant changes. It is preferable to add new things in these languages via frameworks, new libraries, code generators... for example QT is a huge framework and code generator, but at its core is still C++. You can easily link in any old c/c++ library or source code.
Creating a new language for syntax changes or anything is where I think people begin to moan.
The first step is to define your goals. What do you want out of this?
1. a job 2. learning new skils 3. leadership 4. a chance to grow in the company
If you are the sole IT/programmer person, this is a company in dire need of management with clue as to IT. You could be that change and end up being a manager of IT for this company. You have to work you butt off, fixing things, dealing with budgets and hiring staff. Can you deal with upper management to accomplish everything? That's up to you to decide.
What I won't recommend is killing yourself for a company that is unwilling to learn from its mistakes and do it right. In that case, just treat it as a good learning opportunity, but don't kill yourself. They won't always be able to hire a superhero to come in and keep things running. Or if they do, it will be a well-paid consultant and they will learn their lesson quickly how much it costs.
There is a reason this company has such poor IT systems. You could up being the IT guy in a long line of IT idiots.
Of course it is! Just like healthcare in the US is heavily regulated and relies on various government monopolies (medical associations, patents...) is an indictment of the free market. It can only be solved with an even greater monopoly by making it a universal national system or a national monopoly.
I sometimes wonder if it's that business is *evil* or if they simply don't know. I know it's easy to assume they're evil, but the more I work in this field, the more i think it is simply that they don't know.
Almost all of our business folks come from either a finance background or are a product of the industrial revolution.
Finance... well all they want is to plug in some equations and compare numbers and that's the end of their thinking.
Industrial management is all about GOOD PROCESS and fungible parts. You need a few skilled people to design the process and assembly line... then the people are replaceable cogs. 95% process, 5% people is they key to success in the industrial age. Because R&D costs are typically small relative to the manufacturing costs, R&D was typically allowed to do its own thing. If costs needed to be made, why cut the R&D... there's plenty of manufacturing workers (fungible parts) to cut.
Now what do you when manufacturing is no longer a key component of your business. As in software. When business looks at costs... the only thing they can replace the manufacturing worker with in their minds is... the people in R&D. They're the ones making things. They cannot conceive of a world without fungible parts. Even though the fungible parts have all been automated (the whole point of computing). The compiler does the manufacturing. Yes, there are still some parts that are not fully automated, but that's just waiting to happen.
They simply take all their old industrial age management techniques and try and apply it. Remember it is 95% process, 5% people. This is why you get such an emphasis on project manager, product manager, technical manager, programmer, workflow... They are trying their hardest to just build a process that will make projects successful.
Now some companies do get it. The industrial revolution is over. You need to learn new skills. So the big tech companies for example... get it. It is 95% people, 5% process. It has more in common with a guild of craftsman or a profession. They luckily only need to deal with the madness of finance people. But at least they've rid themselves of industrial age management.
And it is changing. The big companies that DO software do get it and have changed. Increasingly they're making their products into services (yay... cloud computing)... I don't see much of a future in outsourcing itself. Which I guess means if you feel threatened by outsourcing... I'd feel just as threatened being on the outsourcing side.
Off shoring is another issue all together. If they can get very skilled people in another country for cheaper...they will and that is not the same as outsourcing.
Engineers often like to think of themselves as libertarians.
But I've met enough that when you even begin to scratch the surface, they tend to be very technocratic... believing there must be a better way to organize something if only *they* could be trusted to run something.
This is more and more true in places with a higher emphasis on academia.
Academics suffer from what I like to call systems thinking. Having spent enough time there, they almost always try and solve every problem by modelling and then playing with it numerically.
This results in the idea that we should trust in such models above and beyond people's choices. To use an engineers mentality, they tend to like centralized big computers instead of distributed systems :P Kinda odd isn't it.
There is nothing 'scientific' about it. Science can't tell you what values or policies you should follow, but they tend to like to frame it that way.
I personally credit this kind of systems thinking for the recent financial collapse. At no point in history has there been so much sophistication and modelling in the financial system. Yet of course people are still in the system for their own self-interest, their own biases, still gaming it, models were incorrect or imperfect. And of course who gets to be in charge and make decisions based on the models...
When Greenspan made his point about the 'market failing' it was a classic systems thinking mistake.
The banks have a vested interest to enhance share holder value, so they would be in the best position to regulate themselves... as their institution's purpose is to enhance share holder value... which means keeping the bank in good shape.
It's like saying car drivers have a natural interest to prevent accidents. Therefore, they should be allowed to regular themselves.
I won't get into saying whether we need more/better/less regulation. But I will say this. We as a society have decided we like to have stable banking. The government backs and insures banks. It then has a duty to regulate them. Just like your car insurance company regulates you by charging you more for more risk, denying you coverage if you're too risky...
I see the same thing all the time on so many policies.
When it comes to education policy or health policy, many think we can generate expert panels on all of these to deliver excellent healthcare and education.
Meanwhile, the centralization of power that comes with unions and medical associations and payment and politics and facing parents with different beliefs and facing people who are facing death or illness... basically anything human is something they choose to ignore.
Which is very common for technocrats... and hence engineers. Just like the Euro. These big systems designed by technocrats and engineers and scientists will eventually fail because they're ignorant for anything related to humanity.
It's like they try and solve a complex equation... but they ignore the biggest variable... humanity.
Government is more than the elected people. ...
It is the civil service.
It is the well connected corporations.
It is the bureaucracy.
That is where the real power is in most democracies. And that in turn gets reflected in low voter turnout as people rightly determine their vote means nothing. If those with the most to gain simply form groups of special interest and voting blocks, they can consistently gain the power of politicians.
It is why it is dangerous for societies when societies become socialized enough that a substantial... even a minority of people are employed by the government or protected by government.
That is the nature of socialism and government run systems. They become self-interested.
Could I imagine a theoretical socialist system that didn't run into these problems? Of course. But in every country it is tried, there is always a concentration of power into those tied to the big government to the detriment of everyone else. Solutions would actually be about constraining democracy and putting in place constrains on government to prevent the gang-like nature of politics.
I fully support helping the poor. I just don't support the government running things as monopolies always exist to benefit themselves. I think it ends up creating a gang based society and higher costs on the poor.
I actually think most cities handled the occupy protests quite reasonably. I'm sure some were more restrictive than others, but for example in Toronto they basically took over the park and were camping out there. At some point people were getting upset and the park itself was being destroyed (grass and flowers trampled).
So they planned to remove them. The court basically acted as a kind of arbitrator there. Allowing them to protest between certain hours, but not sleep there. But recognizing that the occupy protest could not simply have exclusive use of the park.
It will always be a 'complex' arbitration like issue when public use is concerned. There's no real answer except to grind through the bureaucracy and reach some kind of general agreement.
Considering PHP was a 'language' built for server-side scripting, it is hardly just a 'language'. There would have been almost no reason to 'invent' PHP just as a language on its own.
Actually interestingly enough, WIkipedia also generally compares PHP to ASP.
http://en.wikipedia.org/wiki/PHP
A programming language in general usage is a function of both its syntax and its libraries and even its tools. A discussion of a programming language just on its 'syntax' would be a fun discussion for a few in academia I suppose. But for the rest of the world, it includes everything.
In the same vain as those who used to rant about operating systems being just the kernel. It's not. It's about the whole platform and can ever blur into common applications.
Most often, what is discussed is the basic install provided in the prepackaged form.
In that way, PHP is indeed comparable to ASP.NET.
You can protest all you want on your own property.
You cannot be a nuisance on someone else's property. really no different from a stranger going into your backyard and destroying your garden and throwing a party.
Oh, but it's a 'public space'... owned by everyone! Well that never has any easy answers. If two group want to use a park. One wants to play soccer. Another wants to play football. Who gets to use it? I don't know. So the government decides by schedule or arbitration what gets to happen.
Why should these occupy folks get to use public space to the exclusion of people who want to use it to walk their dog, play in the parks...
And this concludes private property 101.
as opposed to what?
Concentrating all power into one group called government, which naturally leads to a dictatorship by design?
If you're going to correct my approximated numbers... you might as well do it right :P
In 2010, the population was:
308 745 538
http://2010.census.gov/2010census/popmap/
The numbers for 2011 are there and they are higher. but they are projected right now, so I stuck with the 2010 numbers.
In terms of jobs, automation is what is 'killing us'. It is not the cure. I don't ever suggest we should stop automation. Only that there is less productive work to be done and we need to start understanding how that affects work distribution, work loads, equality, economic growth...
Let us assume the article is correct? So how does this help any industrialized nation?
The US has 300,000,000 people.
Apple employes 60,000 people... many of whom work in retail. Apple is perhaps the most successful innovative company right now.
I personally have great frustration with those who simply tout this 'high-end' job. The 'creative class' and all that crap. Okay great, there are these good jobs in innovation. I work in the field. I get it. But there's not enough to sustain 300,000,000 Americans.
There's only room so many innovative companies doing smartphones or consoles or operating systems or solar panels ... or whatever. Do you know what is special about design jobs? They only need a relatively small number of people do the design.
As other nations become prosperous, you'll have billions of reasonably educated people competing for these design jobs.
Right now, one might argue Silicon Valley is the epicenter of innovation. Great. And that operates in a state with about 35 000 000 people and an 11% unemployment rate.
Even assuming we had a super amazing education system in California that generated brilliant people capable of doing work... silicon valley is not hiring 3 500 000 people. Heck, I'm pretty sure we saw layoffs at many firms in the news. Some companies are hiring of course... in the thousands perhaps.
My point... innovation is great. It generates a few jobs. It makes some people rich. But it doesn't do crap for the 95% of the population. As a result, we shouldn't be so concerned with the innovation economy or any of that.
Small countries with a few million people like Singapore or Sweden can try and sustain their economies off of innovation, but any large nation... be it the US or China or India will never be able to.
The private sector of these countries will be composed of manufacturing, farming, call-centers, service workers... If you can't design an economic system to work for them, it won't.
Stop living in your little bubble in academia or silicon valley with this religious belief in growth and innovation...
and start looking at the numbers.
While mainly true, let's not pretend there's much in silicon that can be replicated.
It is your typical isolated exported oriented bubble. Not everyone can be an exporter. Just like not everyone can be like Germany and export high-end manufactured goods. Not everyone can be like Norway or Saudi exporting oil.
It's also not a large employment model. There's only going to be so many innovative Search companies, OS, smart phones, chip set makers...
And that only works as long as the population is small. Heck, the amazing wealth in silicon valley can't even bring prosperity to a single US state. Much less a large nation.
In the grand scheme of things, Silicon Valley might be great for the advancement of technology and small groups of people, but it does virtually nothing for the economic condition of a large nation.
The more I grow up, the more I see Silicon Valley as a really good coping mechanism for a heroin addict. A nation addicted to needing more and more growth to cover a lifestyle it can't afford. And it has reached a point it can't obtain the next high.
It's not the norm. I often tell my fellow engineers and IT people. It's not that government, finance, and business are evil. It really is that they don't 'know' any better.
Most of my friends are not in engineering/tech. They all have this perception we're all making Google-like salaries, working as professionals... not much different from lawyers or doctors.
Now back in reality... IT/engineering is not a profession. As a group, we are just worker bees. Albeit, well-paid worker bees for some of us.
I was like you when I first graduated. I didn't view it as a 9-5 job. I solved issues quickly, I shipped well. I took emails at varying hours. I had a lot of passion for the products. I quickly realized... it all didn't matter. Unless I wanted to change career paths into product management or something. So I do just work my basic work now and treat it as a job.
So what are my beefs with working extra hours?
1. Management treats us like fungible parts. So well... I've learned to act like a fungible part (9-5 worker) I can't count the number of times our teams have been reorged and thrown different projects different ways. There is absolutely no treatment for knowledge/maintenance of the product/system.
2. Similar to 1, but I'm not about to play super-hero engineer again and again and again for something I know would be better done if was treated as more of a profession. Keep things staffed properly. Keep quality people and engineers. Keep senior people. We just had a reorg at my work and they laid off several very good senior staff. Yeah... of course they want the rest of us to pick up the slack. Good luck with that.
And yes I know this is a feedback loop. If we acted more like professionals, we'd be treated like them. Unfortunately, I can't change the system on my own... and there are enough poor people in the world and immigration to keep a nice supply of fungible parts.
And yes, the world of product management is different. I've drank with you guys enough times :P I have nothing against anyone busines/finance/product. It is more about how engineers/IT folks have treated their own work and profession and not stood up for their interests which in the end align with the interests of an efficient business.
But you're not a lawyer or politician :P
And those kinds of jobs are professions.
They come with corresponding formal residency like programs. Training is formally built into the job.
They come with... shall I say greater goals. Doctors take an oath to help the patient. Teachers as well have professional duty to teach.
Both have formal quality and legal controls.
Neither generally operates as a 'general' worker under a corporation.
I can't under-emphasize these points.
Could software be a profession or craftmen like guild? Yes!
Could we engage in 'doing' and 'managing' ? Yes!
Can we do it while working under a corporation without any formal legal or powerful professional association? Nope.
Surprised in an article that long, this wasn't mentioned:
The ability to wage war without the morality of individual soldiers. While soldiers are certainly capable of immoral actions like raping and indiscriminate slaughter that a machine not, it is also that humanity that can lead them not to follow orders, stop fighting...
Today, this is probably much more important in domestic issues. Imagine the recent Arab Spring if the Arab dictators had access to such robots. They could effectively control their population indiscriminately.
The Egyptian military is still composed of regular Egyptians. They follow orders and get paid, but at the end of the day they are regular people; family, neighbors... Mubarak couldn't just tell them to slaughter Egyptians on mass.
Imagine a psychopath like Hitler in charge of such an army. Not having to care about defections, unwilling troops...
The ability to command a powerful army in the hands of so few is what is truly scary.
Because they want people to use their works. If a license is restrictive that people/business don't want to use your works, then people rethink their license.
It also happens that many open source like products are used and supported by businesses. Again, they don't want to sabotage their ecosystem.
Well as things even out, more and more developers will gravitate towards the thing that gives them their share.
I recall reading a while back an article about why Enterprise Software was often so complicated... especially before 'cloud computing'. It's often not that there wasn't a better way to configure and deploy the software. It's that the people who would actually deploy the systems were consultants or administrators who naturally didn't want to lose their cut.
Why would a consulting firm recommend a simpler/better product that would basically put them out of business? The software company had to leave enough complex work for the consultants to do to get them to push the software out in the field.
This is much like how mutual funds often paid financial advisers with fees for them to 'push' their funds.
Now of course disruptive technologies or methods can occur. ETFs and online brokerages came along and have cut into the easy money many financial advisers got used to.
Similarly the 'cloud' disrupts the software sales process by allowing companies to sign up easily for online services. You don't need to pay consultants to push and install your software.
Now, developers of applications are actually the ones doing real work. They're not just middle men as in the case of financial advisers. At the end of the day they would like to be paid. A platform that doesn't pay attention to that will not get the most attention.
Assuming that is the case that Apple has done something right with their platform/marketing that makes it more likely that users will pay up, then yeah... I'd probably target Apple as well.
Everyone contributing must their cut.
Now sure, if you're a developer who doesn't care about being paid that way... then you won't. But if we take the report as accurate, a lot of developers are targeting IOS for that reason. And maybe Android should pay attention. Because if Android is always seen as non-revenue stream, eventually the money folks will say... why bother making an app for it.
Now as you rightfully point out, ad based apps might not be affected. But there are plenty of specialized apps out there from enterprise application to medical devices...
Yep. I'm not against process by any means, but it has to be productive.
Considering how much of the success of a project is based on people... it's amazing to see how little 'people process' there is. Processes to make sure you hire/keep skilled people. Processes to develop skilled people (mentorships...)
Once you have the right people developers, then you can make use of the other processes to enhance things.
Fields like medicine, law.... have extensive people processes. Internships, residency, credential screening....
They lack what we would think of as business processes. Simple things like surgeons have check lists for their tools so they don't leave them in patients :P
We tend to have all business process and no people process.
It's not just money. I'm pretty happy with my salary.
What I'd like
1. stability to know my investment in a company is long term. It doesn't help when they lay off senior staff...
2. Professional development, mentor ships...
3. Well run management, projects... but that is highly tied to 2.
A typical software process innovation happens like this:
1. Group of highly skilled and motivated developers create a new process (agile, code review, team programming...)
2. They see the results are great and start writing about it.
3. Other skilled and motivated developers take note of the new developers and start implementing it. The new process gains acceptance.
4. Consultants and the general software community picks up on the idea and starts implementing it.
5. Projects fail as usual as unskilled and unmotivated developers and organization can't execute it.
The key to software development is that is starts with the people. Success in software is 95% people, 5% process.
http://slashdot.org/comments.pl?sid=2560806&cid=38280588#
The team of highly skilled and highly motivated developers that create the new and cool processes would have been able to build a successful project using almost any process... or even no process.
Software processes can enhance a highly skilled team and highly motivated team. They can't do much if you don't have the talent or motivation across the organization.
Unfortunately, there is a pretty high correlation between what an application does and how big the binary is.
If it does less things... it has fewer dependencies, less code... and you won't hit that problem.
Alternatively, if more things were add-ons/plugins that needn't be linked with the main binary, this wouldn't be a problem either.
welcome to the innovation economy :)
And why should you worry about intelligent design?
It.... like god... can neither be proved or disproved. But
But what intelligent allows is for science to actually function. By discovering 'science' you merely discover how god made things.
Whereas creationism was an actual impediment to science. You *couldn't* study the evolution from ape to man... as the *real* answer was 'god said poof... and here we all are'. Even can be explained by the poof. Dinosaur fossils? God said poof. Impossible to prove or disprove, but definitely an impediment to science.
Intelligent design and other 'design like ideas' basically allows you to study science in depth. Be it evolution or the big bang... and just when you reach a point of randomness... you just say... god is behind that randomness. If there's order to that randomness... god made the order and you discover the equation behind the order.
Now, someone obsessed with proving the unprovable might worry about intelligent design. But for me, intelligent design let's science do it's work. I don't fight it or try and prove the unprovable. Let them be.
Is there a need for new programming languages? Perhaps. But I don't think this is eternal. Programming is just the ability to express algorithms and logic. It's not an infinite space.
I think people moan about new languages when they don't appear to bring anything really new.
Broadly speaking... following one train of evolution.
assembler - abstract out op codes
C/C++ - direct hardware access... provides human word abstraction for programming (for loop, switch, variables, classes...)
java/c# - virtual machine based, easy library integration (just include the lib)
Those are big significant changes. It is preferable to add new things in these languages via frameworks, new libraries, code generators... for example QT is a huge framework and code generator, but at its core is still C++. You can easily link in any old c/c++ library or source code.
Creating a new language for syntax changes or anything is where I think people begin to moan.
The first step is to define your goals. What do you want out of this?
1. a job
2. learning new skils
3. leadership
4. a chance to grow in the company
If you are the sole IT/programmer person, this is a company in dire need of management with clue as to IT. You could be that change and end up being a manager of IT for this company. You have to work you butt off, fixing things, dealing with budgets and hiring staff. Can you deal with upper management to accomplish everything? That's up to you to decide.
What I won't recommend is killing yourself for a company that is unwilling to learn from its mistakes and do it right. In that case, just treat it as a good learning opportunity, but don't kill yourself. They won't always be able to hire a superhero to come in and keep things running. Or if they do, it will be a well-paid consultant and they will learn their lesson quickly how much it costs.
There is a reason this company has such poor IT systems. You could up being the IT guy in a long line of IT idiots.
Of course it is!
Just like healthcare in the US is heavily regulated and relies on various government monopolies (medical associations, patents...) is an indictment of the free market. It can only be solved with an even greater monopoly by making it a universal national system or a national monopoly.
You don't know anything do you? /s
I sometimes wonder if it's that business is *evil* or if they simply don't know. I know it's easy to assume they're evil, but the more I work in this field, the more i think it is simply that they don't know.
Almost all of our business folks come from either a finance background or are a product of the industrial revolution.
Finance... well all they want is to plug in some equations and compare numbers and that's the end of their thinking.
Industrial management is all about GOOD PROCESS and fungible parts. You need a few skilled people to design the process and assembly line... then the people are replaceable cogs. 95% process, 5% people is they key to success in the industrial age. Because R&D costs are typically small relative to the manufacturing costs, R&D was typically allowed to do its own thing. If costs needed to be made, why cut the R&D... there's plenty of manufacturing workers (fungible parts) to cut.
Now what do you when manufacturing is no longer a key component of your business. As in software. When business looks at costs... the only thing they can replace the manufacturing worker with in their minds is... the people in R&D. They're the ones making things. They cannot conceive of a world without fungible parts. Even though the fungible parts have all been automated (the whole point of computing). The compiler does the manufacturing. Yes, there are still some parts that are not fully automated, but that's just waiting to happen.
They simply take all their old industrial age management techniques and try and apply it. Remember it is 95% process, 5% people. This is why you get such an emphasis on project manager, product manager, technical manager, programmer, workflow... They are trying their hardest to just build a process that will make projects successful.
Now some companies do get it. The industrial revolution is over. You need to learn new skills. So the big tech companies for example... get it. It is 95% people, 5% process. It has more in common with a guild of craftsman or a profession. They luckily only need to deal with the madness of finance people. But at least they've rid themselves of industrial age management.
And it is changing. The big companies that DO software do get it and have changed. Increasingly they're making their products into services (yay... cloud computing)... I don't see much of a future in outsourcing itself. Which I guess means if you feel threatened by outsourcing... I'd feel just as threatened being on the outsourcing side.
Off shoring is another issue all together. If they can get very skilled people in another country for cheaper...they will and that is not the same as outsourcing.