Actually. I always like clippy. It sure beat going through the pointless windows help file.
Rather, clippy was there and I could type in whatever I wanted and he would point me to the right part of the help.
But yes, the fact that clippy could interrupt you was a problem. Clippy could see the future, he could have learned a lot from Google.
Google provides a simple natural language text box search (as clippy did), but Google largely stays out of your way... it offers suggestions without being in your face.
The other thing that might be a possibility... is that software needs to have bugs from the business end to ensure lucrative service contracts.
Now this is just pure speculation of course... but I used to a work for networking vendor known for superior customer support... and making mega bugs in the servicing contracts as well. I sat there looking at some ridiculous policies in the software realm that almost seemed to encourage bugs in the code as opposed to writing good software.
They were throwing code around to various teams... seemed to value programmers who could be tossed onto a project instead of those who wrote good software...
I left... not my kind of place... I don't like being a janitor cleaning up everything... but lately... I've gone more into technical project management. You know what customers love... they love seeing lots of engineers giving them attention. So it got me thinking if such policies to encourage buggy software are not just stupid policies, but actually active management policies... to ensure customers are willing to pay for lofty service contracts. Get something that works reasonably well to get things working... but make sure the bug fixing phase never ends... and you never lose service contracts. You never just sell a piece of hardware... like a spoon.
And what planet have you been living in? If you want a prescription, can you just get one yourself?
Do you know why you aren't allowed to? Because you're not responsible. You need to expertise of a doctor to diagnose and prescribe things for you. You can't be responsible with prescriptions. And you certainly can't be trusted with your own health data.
Of course that's what the medical associations tell us... to maintain their strangle hold monopoly over health care. That's the real reason they are against any of this. So much of the medical diagnosis could be automated. Everything from image analysis to the various charts they read off.
I agree with what your perception, but the reasons are a bit obscure.
1. Many Asians are coming from poverty or much poorer positions. What this means is you don't say anything to screw up your job. You're easily replaceable by any of the other billion people.
2. Since IT is viewed as a way out of poverty, lots of people pursue it. In the Western World, who went into engineering or computer science? Probably your people with a passion for the work. In India, you have near a 1 billion people just looking around for a good job. They're going into it for a job. It's got little to do with being Indian... and more to do with the sheer numbers of Indians going into the field. The top Indians are just as good as the top western people. The problem is the top indians are hard to see in an ocean of indians just trying to work. Not to mention, historically the top indians left to go to better parts of the world. This is changing now.
3. Management loves Indian workers. I've been in the field long enough to know that management really doesn't care about quality or good design or new ideas. Good managers who actually lead the company to better and more innovative products and services are few and far between. Most are just there playing the work place political game... the same as most workers are just there for the job. So yes, it is better to have an Indian worker who might be an idiot, but does all the things right. He never says no. He'll forgo quality in favor of bug counts and making the bean counters happy.
It is not a question of finding some random software person out there. How is the NHTSA supposed to know who is qualified to analyze the software?
This is the same problem faced by businesses who need a 'software' person. Without having a good software person in the company already, how can they tell the difference between candidates? They can't. They wouldn't know the difference between some web page making script kid and someone who builds high quality firmware.
Can anyone here say making computer engineering a profession? You know with exams and a trainee/residency style program. That way, with the NHTSA or any other organization needs someone, they will have some level of guarantee. I know this is against those in the profession who favor speed and innovation and low barriers to entry... but if the NHTSA needs it... this is what society needs to do. Ditto for banks. Ditto for large companies that hold customer data. They should all be required to have a licensed computer engineer oversee their programs to ensure security and privacy and reliability.
Drives up costs? Hell yeah... but hey, you can't go see the equivalent of Dr. Nick instead of Dr. Hibbard in real life. You need to see the expensive Dr. Hibbard. Sometimes you gotta pay the piper.
Considering banks, large data warehouses... are critical infrastructure for todays society....
It's a problem because people think software is magical.
No one thinks... I have a 2001 Civic. Let me upgrade it to the 2008 Civic. No, you buy a new car.
Yet somehow everyone thinks software should just run forever and be compatible forever and for everything.
Should my Chrysler engine just pop into my Acrua? Even if the parts were free, there would still be incompatibilities. Different nuts and bolts and ocnnectors and wires and who knows what else.
Alright, I am well aware of the differences between hardware and software... I do it for a living... take my car analogy very very lightly. Yet there are real barriers to making things compatible and supporting different platforms. Doesn't matter if it is open source or not. APIs change. Models change. Back end behavior changes even though it shouldn't affect the caller...
And so is it a problem that you can't upgrade your device? Maybe. Is it an unreasonable problem? I don't think so. You get a new device every few years. That is your solution. It is a great opportunity as well and a money maker for the companies.
I've always found making sure you can import and export data easily is a far better way of ensuring transitions. On that end, Google has always had the right idea.
However, one key facet of software IS the lack of such technical leaders. Sure, there are some if you work for some of the larger names like Microsoft or Cisco. But in general, there is not. Even in these companies the attitude is there in some departments that experience is nothing. The idea of throwing people at projects...
Other fields have true professions where this is accounted for. Lawyers have associates and part of their billing actually includes the reality of training the new associate. Ditto for other professions.
Software unfortunately, has not developed in such a manner... for a few reasons.
1. hyper innovation - since there are no barriers to entry in the software field, we've had innovation up the ying yang. So much knowledge is temporary that there is no point in formally learning anything.
2. the supersmart - This is related to 1. We all recognize that a great programmer is about 1000x times more productive that a poor one. The field was lucky to have very smart people going into it. A smart person can pick up things insanely quick. Doesn't matter what profession they go into. This made hyper innovation possible as you didnt really need to train people when you have the best and brightest going into it. Contrast that to now... the talented under 30s are rare and few and far between. The best and brightest know it is a bad field and are staying away...preferring law, medicine, finance... the more usual protected professions.
3. People don't get software. I've always said, there is no implementation phase in software. The compilers take care of it. It is 100% design. Just high-level and low-level design. People that don't get this tend to veer off thinking that software is dummy work. The equivalent of construction work. The real work is in product management and other documents. The source code is the blue print. Related to 2.... they will find out how wrong this is as the 'super smart' no longer enter the field. Or they will just go to India and China and burnout all their super smart people... eventually it will end. Right now, I'm seeing a future (present in some companies) of bunch of C student business like product managers with c student programmers and nothing gets done.
4. Software is largely not owned by its workers. Doctors are independent. Lawyers independent. The big finance/accounting firms are largely partnerships... They know how to run their field. Software is largely a business product and as such suffers from this. Some companies better than others. Both Microsoft and Google give a large degree of autonomy to software. In the end though, they are still just things for business to use.
In any case, there are more reasons, and I think these problems are self-correcting. The poorly run companies will die out. Unable to keep up with change. The companies that hold onto and value and build talent will thrive.
There are some big problems with affirmative action.
I'm a minority who stutters... believe when I say... I have not fulfilled my potential. Yet, affirmative action tries to cast far too wide a net. What it normally does is help people who don't any help.
Do you think Google is going to increase its 'African American' percentage by hiring the kid from the inner city? Or do you think they will hire a middle/upper class african american who really doesn't need any help?
It also has what I would call the 'missed opportunity' problem. It's fine and dandy to just be a worker bee. But if you look at Indians/Asians. One of their strengths is simply dealing with it by building your own. So store X does not cater to indian food... no problem... open up their own indian supermarket. I really feel affirmative action has hurt african americans more than helped. It has prevented them from forming their own community institutions. Instead, they decided to pretty much rely on government... other people to care about their own community.
Their leadership sits around waiting for a utopia where all government institutions (like public schools) are great and everyone cares about everyone. Waiting for utopia does not work. Life is a balance and while the state can provide somethings. If it is not, you have to provide things for yourself. A little history will tell you the state never cares about the poor... when push comes to shove, they will line their own pockets. Just look at california's budget problems? Which is more likely... they cut public sector salaries and pensions... or they cut services that help the poor. My money is on them cutting services for the poor, while keeping their pay and pensions. So don't put all your eggs in one basket. If a public school is not cutting it... demand school vouchers. If a public rec center is not cutting it, build a rec center in your church or work with the community for your own park. If you don't see fresh food at your supermarket... start your own supermarket.
Anyways, back to affirmative action. something like 'african american' is just too wide a net. You might as well throw in poverty, disabilities, religion, cultural group... and in the end, you will have so many groups that it becomes meaningless. Trying to help those who really need help will be impossible. I honestly think the missed opportunity outweights any benefits of affirmative action.
First off, all us engineer or good programmers take a lot of pride in our work... This can sometimes be a problem.
The real issue is that a company had 40K lines of code written and didn't staff it properly to maintain it. First, they should make sure the guy who wrote it didn't leave. Work conditions, payscale.... Secondly, they should have had a transition plan. Either some 'slack' working on the same project.
So that is your starting point. It is not your problem that you inherited this large codebase and have no idea how it works. Don't take it personally if you make a change and crap happens. Just make a change, hopefully there are testers... if you cause a bug, enjoy the CRs... That's how companies want to run their software department. That's how you behave.
You will only learn the code by working with it. You will get CRs, grep files for what you're looking for, make a change and deal with the after effects After a few months, you'll start to get the hang of it. After a year, you'll be good...
That's just life in poorly run software companies:P
Unit testing has two big uses. 1. it formalizes the testing you do anyways and keeps that test. Just today, I had to write a tricky regexp to split some logging apart. I used the unit test just to formalize the testing I'd do anyways (feed in some dummy strings) to verify it works.
2. It forces you to write better code.
2 is a bit flakly... as if someone writes crappy code, unit testing isn't going to make them a better coder. Yet, it does keep me check. There are countless times you just want to rush some code in that works well. Being part of unit testing mindset, you are forced to abstract away file access and database access to support mock objects or stubbing. It forces me to write more object oriented code.
I really that 2 is one of the reasons unit testing leads to better code. It's not the actual testing. But its the testing that forces you to write your code in a certain way. It won't make a bad developer a good one, but it will make a good one more consistent.
Online social networks are not much different from regular life networks
Have you grown out of the high school stage where you sit there pointlessly wondering "why can't everyone be invited to the party?"
Well everyone can't. The house only fits 20 people. You can't be friends with everyone, because there's only 24 hours in a day and you won't get to know anyone a friend without sacrificing time with someone else. Socializing means excluding some others. Just accept that as a fact of reality.
And the same is with guilds. No different than regular groups of people in life... just more exclusive. Like car owner clubs, or sports clubs...
You have nothing to fear but your own denial of reality. Form your own guild and help your buddy out and when it comes time for you guys to enjoy your group, you'll have to exclude people too...
America is the most innovative and one of the richest countries in the world... even on a per capital basis. You know the Chinese also tried cooperation... they even tried mandating it... they called it communism... and they realized it didn't work... then they adopted the American way and now they are growing. Ask anyone who does business with China. They will do everything they can to satisfy the customer and out do their competition. Japan was practically molded by America post WW2 after the USA nuked them into submission.
And there is no more 'cooperation' in Asia than in America. America is much more cooperative than Asia. I'm Asian and the only cooperation we have is to our friends and family who we help out to the expense of honesty, the poor, the greater business...
The natural problem with 'cooperation' in a *political context* is it normally means.... forced 'cooperation'... which normally means a bureaucracy in charge of making people 'cooperate' and those on top making the decisions are rarely pure of heart or capable. Even in places like China, we have farmers being extorted via the use of property taxes so local politicians can get rich. You delusional if you think Asia is more cooperative. It's a veil of cooperation or the greater good.
That all said and this is where I agree with you. We face a similar problem in the West. We have seen the rise of forced 'capitalism'. You mention the legal status of cooperation legally mandated to increase share holder value. What made the US great was freedom... not necessarily capitalism. It includes the freedom to start a company. But it also includes the freedom to start a non-profit. Start a cooperative. Look at all the great private institutions in the US from great universities to non-profit health care institutions like the Mayo clinic... Taxation I think has actually been a detriment in this regard (especially middle class taxation). If you work a normal job, you're pretty much caught on a hamster wheel just trying to get the bills paid. You have a hard time starting a cooperative or a non-profit. You certainly can't save enough. Once you take venture cap or banker's money... well you lose your ability to run it your way. Between the high income taxes and property tax... you're screwed.
It's a strange twist of fate actually. The West's high taxes to fund entitlements and overregulation has created a dependency on the finance sector and debt and legal sector... which has meant they control the economy... the forced capitalism. I'm not arguing about taxation or the morality of taxing people. I don't have a problem with that. I'm just talking how it has worked out in practice and some of the problems with it.
My solution to forced capitalism does not include forcing cooperation:P It would be getting rid of the forced capitalism. Lowering property taxes. Simplifying the legal system. Having a stable currency so people can save and are not dependent on wall street.
There's a very easy solution to this problem. I'm sure they have similar system elsewhere but Interac (debit card) in Canada allows you to pay online. I use it for shopping at ncix.com for example.
You setup an account with the merchant. You do your shopping... add to card... go to checkout... they give you a bill.
You then log into your online bank separately! and from your bank account you transfer money to the merchants account.
The merchant never sees your password and phishing is near impossible because you have to logon to your bank account separately. It's a bit inconvenient, but it's a much more secure system. You don't even have to trust the merchant as they never see your password info. They just wait for the money.
There's no other way to really do it. even if the showed a URL in the Verified by Visa scheme, you would still need to check it... a shady merchant could fake it... About the only other way would be to have some trusted authorities built into the browser (like we do with certificates). The site can request the browser to 'bring up secure payment for visa'... and it handles it with a non-webpage login/payment system.
I don't want to harp on this again... but this is why certain jobs become professions. That said, the situation has kindof self-corrected. New grads aren't exactly flocking into the field. Indian salaries are now maybe 1/2-1/3 of what we can earn... not a tenth.
The problem that we all face is the rest of the world has no idea what we do. What it takes to do what we do. Just like I have no idea what it takes to be a lawyer. Oh you wrote a 3 page letter... jesus... I could do that in an hour. Why am I paying you $1500 bucks?
Actually the legal field is a nice comparison. Consider a programming language akin to any other language like English. You can write English... you should be able to draft a legal document. You can write c#, you should be able to write this program.
This is how the rest of the world views things. I've literally had people I know ask if I could write a program to compete with Google.
And hence, the lawyers formed a professional organization. This is both and good and bad. But what it does do is keep quality up... make sure things are done properly... make sure only qualified people do things... make sure only trained people work on things... and of course... increase pay.
It's not the programming language that is important. It is the domain specific knowledge that is important. It is not that your lawyer knows English. It is that he knows the fine details of corporate or patent law. It is not that your programmer knows C#. It is that he knows the fine details of web services or game modelling...
Yes, a lawyer should be able to write really good English. And a programmer must know the details of his particular language, but in the end, the domain knowledge is key.
One of the biggest problems was when really talented people went into the field, they were able to switch between domains really fast. You could probably throw these same people into medicine or law, and they'd pick up just as fast. But these are not the people now entering the field. Companies are finding out just how valuable a trained and professional engineer/programmer is.
I've gotten more calls in the past 2 years than I have in 'good times'.
are you sure it is just coroporations... or also the thousands of public sector workers working in the IRS who would face redundancy if everything was automated.
Seriously, it's people complain about the private prison industrial complex... then they forget public jails employing union guards are just as bad. Hence, why the caifornia prison guard union fights marijuana legalization at every turn... their job depends on it.
Profit for a corporation is no different than profit (wages) for union workers.
A professional association suits skilled work better. You can speak with one voice in terms of work conditions, quality... But you don't get fixed pay grades, work silos...
Besides being a union doesn't stop a shop from just exporting your job. But being a professional association with legal standing carries some weight. Suddenly, software not written by professional developers cannot be assured quality... and thus cannot be imported:P Yeah, it is a dream I have... for quality reasons of course. You know, like how lawyers and doctors protect themselves.
The problem is the rest of society is not paid a wage-arbitrated market value:P A large part of the economy is the public sector which just negotiates its pay with government and is not market based. Doctors and lawyers limit their market supply and increase their demand via regulations...
As such an engineer faces a severe imbalance in the West. They are talented enough to enter one of these jobs with an inflated pay scale not tied to the market. That is where they are going.
If we were all paid a market arbitrated wage, then there would be no problem. The market would in fact sort out these kinds of issues. Globally, I am probably worth $15 dollars an hour as an engineer. Globally, a teacher is probably worth $8 dollars an hour... There is a reason most western countries have severe structural deficits.
That portion of their society receiving non market arbitraged wages is grown too large relative to the market wages... and have not been corrected. As Detroit's economy collapsed and high paying manufacturing and engineering jobs were lost... should that not have translated to lower wages for the public sector, doctors, lawyers... in that region?
We need to pick one system and stick to it as much as possible. Either we let freedom reign and let people pay others what they think they are worth (market system). Or we have some abstract pay scale where people negotiate their wages with the government.
Either way, it has to apply to most of society equally.
yeah... the day the rest of society operates in total freedom.... we can talk.
I don't see that happening. I see the opposite happening. More protections, regulations... So we better dance to the tune of society... or we will continue to be trampled.
The problem is that fundamentally, every other 'business support' eventually finds that it cannot be ruled by business... and as such makes itself a profession.
Lawyers - check Accountants - check Constructions and other engineering fields - check Trades people - check
Right now, I'm looking at the elevator and it has be inspected by a licensed inspector. Yet, I'm working on software that runs the very internet... and I know they can bring in someone who has no experience and no knowledge and no licensing to build and test the router?
Anyone see anything wrong with this picture?
Even something as simple as network management (CCNA style). No other field would let CCNAs operate routers. They'd all require a skilled person a degree and probably industry certifications (CCNP) to operate a basic router.
You can look at other fields like healthcare. They all turn themselves into a profession so they have something to stand on when faced with 'business'.
There are a lot of things a profession does 1. Ensures people are trained properly. Lawyers go through grad school, become associates, learn under a senior lawyer... Law is complex. You can't throw a new grad lawyer in the middle of corporate law. Yet, in engineering, I've been thrown into an issue where the core internet router of a major city was down... and I (the new grad software engineer) was thrown it to deal with the ISP and diagnose the problem.
2. Ensures Quality. You have a voice if you feel standards are being violated. Short cuts taken that threaten some higher values (security, stability...).
3. A sense of independence You are in charge of this. No business person tells a lawyer how to do their job. Yet I'm amazed when business people decide how to run software or IT. Oh, just throw people at projects... that'll work. Don't value knowledge in the current code base. Sure!!!
I'm fully aware of the downsides of professions... there is no way technology would have been able to progress as fast if it were a true profession. People would use the profession as job protection.
I am fully aware of business' need to make a profit. I don't rant against that. But as all professionals we say... if you let me do my damn job... we'd save you money! Give me 5 professional software developers and 5 professional tests, and we'll do the job of 200. But I suppose being a business person with power trumps making money.
That said, I don't blame business people. I can only blame IT and engineers. We refuse to use professions. When we do get on top/management... we treat our underlings the way we were treated. Too many of us are timid and don't stand up for ourselves. How can we expect not to be trampled over?
The problem. Manufacturing and Engineer get hit first.
Most Western countries face structural deficits largely because the productive parts of their economy are paid globally competitive wages, but the regulatory and public sector are paid wages negotiated abstractly or are protected from global competition (doctors, lawyers). Hence, our huge deficits.
Take Detroit for example. As Manufacturing wages dipped and job losses occurred, you would expect public sector salaries to drop as well. In time, they will adjust...
Eventually this will all re balance. The wage gap (largely imposed by government) is unsustainable. How does a population making 30k-40/year afford doctors and lawyers earning 250k, 80k teachers, 80k transit workers...? the answer is...it doesn't. It made sense when auto workers made 90k... but not anymore.
Taxing the super rich doesn't help either. Just do the math. There just aren't that many rich people out there. Take the CEO of walmart's salary and his stock optins and divide it by the number of walmart employees and it works out to a few dollars each year.
Either through direct wage cuts, or currency inflation or protectionism... this will have to correct itself.
So long as we have free trade, you will get a better deal elsewhere. If we had a true free market... as wages in industry dropped to compensate, public sector and regulatory wages would drop as well... and things would be in balance... home prices would drop... (deflation). Your lower wage would not feel lower. But we don't have a free market, so that is all moot.
It's not just the school system. We have essentially created a two-tier society.
You can have people live their entire lives in the feel 'good' system. Go to public school. Go to public university. Get a job in the public sector, or academia.
They can go through their entire lives in a system that has at is philosophy 'as long as you feel like you're doing good... that is all that counts... and you deserve lots of money for it too'.
Naturally, they end up in the political class and have an over-inflated sense of their worth, because that's the only system they've lived in.
They never have to make real decisions or bare the consequences of their policies. Because well... as long as they tried...
Their work attitude is just sad as well. We just recently had a young new grad join. Lazy and incompetent. But she would rant on upon how the government must have light rail and high speed rail everywhere. I'm thinking... you know... those cost money. Transit workers are expensive, especially when they're unionized. How do you propose to fund this with lazy people like yourself? Of course I didn't say that... but that was going through my mind.
I guess her answer was... tax other people.
The sad part is... the US youth who grow up in the public school system and this mentality... but are unable to leech off others by getting a job in the public sector... now they end up really hitting a wall when reality hits so to speak. It's not unsolvable though. Humans are pretty resilient. The US youth will adapt if given the chance.
The whole internet experience has been a deregulated mess that has somehow gotten along. Even something as simple as SMTP mail is totally insecure. It is prone to spam... yet... we've managed to get by for decades on it. Spam was a problem, we developed solutions. Ditto for things like posting on forums. Where's the accountability for that star wars kid? Shouldn't that video posting have been approved by a publisher before embarrassing him in public like that? What's interesting of course is the world has not come to and end. It's actually worked quite well in its non-regulated manner. I'm not suggesting there have not been any problems... but we've managed quite well.
I had some old forum posts where i used my real name... I didn't want them anymore. I found the list names, contacted people... most got taken down... the ones that didn't... well I realized... who cares. It's not that big a deal.
If we had regulation on it, chances are everything on the net would have been authenticated, lawyers would be all over every post... the internet as we know it would not exist. The internet has developed in this quite careless but 'get it connected, and get it working' kind of way.
Now back to facebook. I don't mind user criticism, but there are increasing calls for government to look into things or enforce things. I'm just a little wary of this. I use the privacy settings on facebook... and I wouldn't post any pictures on there if it didn't. But yeah, people are getting along okay. If you don't want a picture of you on there, tell your friends to remove you. Maybe it's not your friend... there are many ways of dealing with it... and in the end... most people are not malicious and won't post a really bad picture. Theres a possibility things can go horribly wrong... but in general... they have not. Now weigh that against government censorship and monitoring over the internet... which is already happening in places... even in the western world like australia.
I'll side with openness and freedom of the internet despite the inherent problems.
I was speaking more in terms of professional organization... which... yes involve the government. Doctors count of the government to prevent anyone else from treating patients. Ditto laywers...
And with respect to unions? Most western countries have special rules in place governing unions. Unions are not simply voluntary associations of employees gathering together. if they were, it would be fine, but they're not. Unless you are in one of the 'right to work' states, in most union shops, you are *forced* to join the union if you want to work there. The employer doesn't have a choice in this matter. There are special union rules like you can't close down a shop simply because it became unionized...
As I said, while theoretically a union doesn't requirement government... in practice... they make heavy use of government and special pro-union legislation.
Methinks it is about time we got a professional body (or for those so inclined a union). They would set things like standards, work requirements, exams to work in a data center, and of course we can use it to make sure job stay local as the other professions do. I mean how can you trust your data to a non-professional data center. I mean, do you trust people to manage their own medicines?
I say this only have cynically. If you can't beat em, join em. We have to stop pretending we live in a free-market and use the government like everyone else to protect our turf... all in the name of benefiting society... of course.
Everything is complex. That's the basis of every libertarian ideology. Life is too complex for a group of politicians or 'experts' to manage. As a result of this complexity, the reasonable thing to do is to allow people to try different approaches to solve their problems... hence looking down on things like central planning. If you think you have a solution, you are free to prove to the world that it is correct. That is freedom... the freedom to do things to solve the problem.
The alternative is the belief that some group of experts and politicians can capture all the information in the world and formulate working policies to dictate how society should behave. Their track record? Dismal... communism, fascism, corporatism, theocracy... They all seem to fail empirically. For one, it is rare to have such experts actually know everything. Secondly, you have to cound on the experts actually have 'good will' towards the populace and not becoming corrupt or obsessed with their own power and money. Again not a trivial task.
We agree that life is complex and problems are deep. A free society demands those with solutions implement them and prove they are the best... and people will gravitate to the best (or at least good enough) solutions. Think you have a better way to run a school? Open up the school and bring in students and show people that your way is better. That is freedom. The alternative which is what we have now? Have a bunch of experts think they can devise the best education policy, implement it within the public school system where people are taxed even if they don't attend it.
Empirically it is shown to work. School choice for example is available in many countries and places. Society does not collapse (Sweden, Chile, Alberta, British Columbia...). Yet the 'experts' who actually tend to deny empirical evidence tend to go against it in favor of theoretical arguments that society will divide if our kids don't learn together...
I used to be a socialist. Until I looked at the empirical evidence. Now I favor freedom.
Actually. I always like clippy. It sure beat going through the pointless windows help file.
Rather, clippy was there and I could type in whatever I wanted and he would point me to the right part of the help.
But yes, the fact that clippy could interrupt you was a problem. Clippy could see the future, he could have learned a lot from Google.
Google provides a simple natural language text box search (as clippy did), but Google largely stays out of your way... it offers suggestions without being in your face.
Yes, mock my comparison of Clippy and Google :P
The other thing that might be a possibility... is that software needs to have bugs from the business end to ensure lucrative service contracts.
Now this is just pure speculation of course... but I used to a work for networking vendor known for superior customer support... and making mega bugs in the servicing contracts as well.
I sat there looking at some ridiculous policies in the software realm that almost seemed to encourage bugs in the code as opposed to writing good software.
They were throwing code around to various teams... seemed to value programmers who could be tossed onto a project instead of those who wrote good software...
I left... not my kind of place... I don't like being a janitor cleaning up everything... but lately... I've gone more into technical project management. You know what customers love... they love seeing lots of engineers giving them attention.
So it got me thinking if such policies to encourage buggy software are not just stupid policies, but actually active management policies... to ensure customers are willing to pay for lofty service contracts.
Get something that works reasonably well to get things working... but make sure the bug fixing phase never ends... and you never lose service contracts.
You never just sell a piece of hardware... like a spoon.
And what planet have you been living in?
If you want a prescription, can you just get one yourself?
Do you know why you aren't allowed to? Because you're not responsible. You need to expertise of a doctor to diagnose and prescribe things for you. You can't be responsible with prescriptions. And you certainly can't be trusted with your own health data.
Of course that's what the medical associations tell us... to maintain their strangle hold monopoly over health care.
That's the real reason they are against any of this. So much of the medical diagnosis could be automated. Everything from image analysis to the various charts they read off.
I'll bite :)
I agree with what your perception, but the reasons are a bit obscure.
1. Many Asians are coming from poverty or much poorer positions. What this means is you don't say anything to screw up your job. You're easily replaceable by any of the other billion people.
2. Since IT is viewed as a way out of poverty, lots of people pursue it. In the Western World, who went into engineering or computer science? Probably your people with a passion for the work. In India, you have near a 1 billion people just looking around for a good job. They're going into it for a job. It's got little to do with being Indian... and more to do with the sheer numbers of Indians going into the field. The top Indians are just as good as the top western people. The problem is the top indians are hard to see in an ocean of indians just trying to work. Not to mention, historically the top indians left to go to better parts of the world. This is changing now.
3. Management loves Indian workers. I've been in the field long enough to know that management really doesn't care about quality or good design or new ideas. Good managers who actually lead the company to better and more innovative products and services are few and far between. Most are just there playing the work place political game... the same as most workers are just there for the job. So yes, it is better to have an Indian worker who might be an idiot, but does all the things right. He never says no. He'll forgo quality in favor of bug counts and making the bean counters happy.
Away you go, companies love outsourcing.
It is not a question of finding some random software person out there. How is the NHTSA supposed to know who is qualified to analyze the software?
This is the same problem faced by businesses who need a 'software' person. Without having a good software person in the company already, how can they tell the difference between candidates? They can't. They wouldn't know the difference between some web page making script kid and someone who builds high quality firmware.
Can anyone here say making computer engineering a profession? You know with exams and a trainee/residency style program.
That way, with the NHTSA or any other organization needs someone, they will have some level of guarantee. I know this is against those in the profession who favor speed and innovation and low barriers to entry... but if the NHTSA needs it... this is what society needs to do. Ditto for banks. Ditto for large companies that hold customer data. They should all be required to have a licensed computer engineer oversee their programs to ensure security and privacy and reliability.
Drives up costs? Hell yeah... but hey, you can't go see the equivalent of Dr. Nick instead of Dr. Hibbard in real life.
You need to see the expensive Dr. Hibbard.
Sometimes you gotta pay the piper.
Considering banks, large data warehouses... are critical infrastructure for todays society....
It's a problem because people think software is magical.
No one thinks... I have a 2001 Civic. Let me upgrade it to the 2008 Civic.
No, you buy a new car.
Yet somehow everyone thinks software should just run forever and be compatible forever and for everything.
Should my Chrysler engine just pop into my Acrua?
Even if the parts were free, there would still be incompatibilities. Different nuts and bolts and ocnnectors and wires and who knows what else.
Alright, I am well aware of the differences between hardware and software... I do it for a living... take my car analogy very very lightly.
Yet there are real barriers to making things compatible and supporting different platforms. Doesn't matter if it is open source or not. APIs change. Models change. Back end behavior changes even though it shouldn't affect the caller...
And so is it a problem that you can't upgrade your device? Maybe.
Is it an unreasonable problem? I don't think so. You get a new device every few years. That is your solution.
It is a great opportunity as well and a money maker for the companies.
I've always found making sure you can import and export data easily is a far better way of ensuring transitions. On that end, Google has always had the right idea.
This is natural. As it is in many industries.
However, one key facet of software IS the lack of such technical leaders. Sure, there are some if you work for some of the larger names like Microsoft or Cisco.
But in general, there is not. Even in these companies the attitude is there in some departments that experience is nothing. The idea of throwing people at projects...
Other fields have true professions where this is accounted for. Lawyers have associates and part of their billing actually includes the reality of training the new associate.
Ditto for other professions.
Software unfortunately, has not developed in such a manner... for a few reasons.
1. hyper innovation - since there are no barriers to entry in the software field, we've had innovation up the ying yang. So much knowledge is temporary that there is no point in formally learning anything.
2. the supersmart - This is related to 1. We all recognize that a great programmer is about 1000x times more productive that a poor one. The field was lucky to have very smart people going into it. A smart person can pick up things insanely quick. Doesn't matter what profession they go into. This made hyper innovation possible as you didnt really need to train people when you have the best and brightest going into it. Contrast that to now... the talented under 30s are rare and few and far between. The best and brightest know it is a bad field and are staying away...preferring law, medicine, finance... the more usual protected professions.
3. People don't get software. I've always said, there is no implementation phase in software. The compilers take care of it. It is 100% design. Just high-level and low-level design. People that don't get this tend to veer off thinking that software is dummy work. The equivalent of construction work. The real work is in product management and other documents. The source code is the blue print. Related to 2.... they will find out how wrong this is as the 'super smart' no longer enter the field. Or they will just go to India and China and burnout all their super smart people... eventually it will end. Right now, I'm seeing a future (present in some companies) of bunch of C student business like product managers with c student programmers and nothing gets done.
4. Software is largely not owned by its workers. Doctors are independent. Lawyers independent. The big finance/accounting firms are largely partnerships...
They know how to run their field. Software is largely a business product and as such suffers from this. Some companies better than others. Both Microsoft and Google give a large degree of autonomy to software. In the end though, they are still just things for business to use.
In any case, there are more reasons, and I think these problems are self-correcting. The poorly run companies will die out. Unable to keep up with change. The companies that hold onto and value and build talent will thrive.
There are some big problems with affirmative action.
I'm a minority who stutters... believe when I say... I have not fulfilled my potential.
Yet, affirmative action tries to cast far too wide a net. What it normally does is help people who don't any help.
Do you think Google is going to increase its 'African American' percentage by hiring the kid from the inner city? Or do you think they will hire a middle/upper class african american who really doesn't need any help?
It also has what I would call the 'missed opportunity' problem. It's fine and dandy to just be a worker bee. But if you look at Indians/Asians. One of their strengths is simply dealing with it by building your own. So store X does not cater to indian food... no problem... open up their own indian supermarket. I really feel affirmative action has hurt african americans more than helped. It has prevented them from forming their own community institutions. Instead, they decided to pretty much rely on government... other people to care about their own community.
Their leadership sits around waiting for a utopia where all government institutions (like public schools) are great and everyone cares about everyone. Waiting for utopia does not work. Life is a balance and while the state can provide somethings. If it is not, you have to provide things for yourself. A little history will tell you the state never cares about the poor... when push comes to shove, they will line their own pockets. Just look at california's budget problems? Which is more likely... they cut public sector salaries and pensions... or they cut services that help the poor. My money is on them cutting services for the poor, while keeping their pay and pensions. So don't put all your eggs in one basket. If a public school is not cutting it... demand school vouchers. If a public rec center is not cutting it, build a rec center in your church or work with the community for your own park. If you don't see fresh food at your supermarket... start your own supermarket.
Anyways, back to affirmative action.
something like 'african american' is just too wide a net. You might as well throw in poverty, disabilities, religion, cultural group... and in the end, you will have so many groups that it becomes meaningless. Trying to help those who really need help will be impossible. I honestly think the missed opportunity outweights any benefits of affirmative action.
First off, all us engineer or good programmers take a lot of pride in our work... This can sometimes be a problem.
The real issue is that a company had 40K lines of code written and didn't staff it properly to maintain it.
First, they should make sure the guy who wrote it didn't leave. Work conditions, payscale....
Secondly, they should have had a transition plan. Either some 'slack' working on the same project.
So that is your starting point. It is not your problem that you inherited this large codebase and have no idea how it works.
Don't take it personally if you make a change and crap happens. Just make a change, hopefully there are testers... if you cause a bug, enjoy the CRs...
That's how companies want to run their software department. That's how you behave.
You will only learn the code by working with it. You will get CRs, grep files for what you're looking for, make a change and deal with the after effects
After a few months, you'll start to get the hang of it. After a year, you'll be good...
That's just life in poorly run software companies :P
I'll say this much.
Unit testing has two big uses.
1. it formalizes the testing you do anyways and keeps that test. Just today, I had to write a tricky regexp to split some logging apart. I used the unit test just to formalize the testing I'd do anyways (feed in some dummy strings) to verify it works.
2. It forces you to write better code.
2 is a bit flakly... as if someone writes crappy code, unit testing isn't going to make them a better coder. Yet, it does keep me check. There are countless times you just want to rush some code in that works well. Being part of unit testing mindset, you are forced to abstract away file access and database access to support mock objects or stubbing. It forces me to write more object oriented code.
I really that 2 is one of the reasons unit testing leads to better code. It's not the actual testing. But its the testing that forces you to write your code in a certain way. It won't make a bad developer a good one, but it will make a good one more consistent.
so... you have a problem with humanity then?
Online social networks are not much different from regular life networks
Have you grown out of the high school stage where you sit there pointlessly wondering "why can't everyone be invited to the party?"
Well everyone can't. The house only fits 20 people. You can't be friends with everyone, because there's only 24 hours in a day and you won't get to know anyone a friend without sacrificing time with someone else. Socializing means excluding some others. Just accept that as a fact of reality.
And the same is with guilds. No different than regular groups of people in life... just more exclusive. Like car owner clubs, or sports clubs...
You have nothing to fear but your own denial of reality. Form your own guild and help your buddy out and when it comes time for you guys to enjoy your group, you'll have to exclude people too...
What to even say to this.
America is the most innovative and one of the richest countries in the world... even on a per capital basis.
You know the Chinese also tried cooperation... they even tried mandating it... they called it communism... and they realized it didn't work... then they adopted the American way and now they are growing. Ask anyone who does business with China. They will do everything they can to satisfy the customer and out do their competition.
Japan was practically molded by America post WW2 after the USA nuked them into submission.
And there is no more 'cooperation' in Asia than in America. America is much more cooperative than Asia. I'm Asian and the only cooperation we have is to our friends and family who we help out to the expense of honesty, the poor, the greater business...
The natural problem with 'cooperation' in a *political context* is it normally means.... forced 'cooperation'... which normally means a bureaucracy in charge of making people 'cooperate' and those on top making the decisions are rarely pure of heart or capable. Even in places like China, we have farmers being extorted via the use of property taxes so local politicians can get rich. You delusional if you think Asia is more cooperative. It's a veil of cooperation or the greater good.
That all said and this is where I agree with you. We face a similar problem in the West. We have seen the rise of forced 'capitalism'. You mention the legal status of cooperation legally mandated to increase share holder value. What made the US great was freedom... not necessarily capitalism. It includes the freedom to start a company. But it also includes the freedom to start a non-profit. Start a cooperative. Look at all the great private institutions in the US from great universities to non-profit health care institutions like the Mayo clinic... Taxation I think has actually been a detriment in this regard (especially middle class taxation). If you work a normal job, you're pretty much caught on a hamster wheel just trying to get the bills paid. You have a hard time starting a cooperative or a non-profit. You certainly can't save enough. Once you take venture cap or banker's money... well you lose your ability to run it your way. Between the high income taxes and property tax... you're screwed.
It's a strange twist of fate actually. The West's high taxes to fund entitlements and overregulation has created a dependency on the finance sector and debt and legal sector... which has meant they control the economy... the forced capitalism.
I'm not arguing about taxation or the morality of taxing people. I don't have a problem with that. I'm just talking how it has worked out in practice and some of the problems with it.
My solution to forced capitalism does not include forcing cooperation :P It would be getting rid of the forced capitalism. Lowering property taxes. Simplifying the legal system. Having a stable currency so people can save and are not dependent on wall street.
There's a very easy solution to this problem. I'm sure they have similar system elsewhere but Interac (debit card) in Canada allows you to pay online. I use it for shopping at ncix.com for example.
You setup an account with the merchant.
You do your shopping... add to card... go to checkout... they give you a bill.
You then log into your online bank separately! and from your bank account you transfer money to the merchants account.
The merchant never sees your password and phishing is near impossible because you have to logon to your bank account separately. It's a bit inconvenient, but it's a much more secure system. You don't even have to trust the merchant as they never see your password info. They just wait for the money.
There's no other way to really do it. even if the showed a URL in the Verified by Visa scheme, you would still need to check it... a shady merchant could fake it...
About the only other way would be to have some trusted authorities built into the browser (like we do with certificates). The site can request the browser to 'bring up secure payment for visa'... and it handles it with a non-webpage login/payment system.
I don't want to harp on this again... but this is why certain jobs become professions.
That said, the situation has kindof self-corrected. New grads aren't exactly flocking into the field. Indian salaries are now maybe 1/2-1/3 of what we can earn... not a tenth.
The problem that we all face is the rest of the world has no idea what we do. What it takes to do what we do.
Just like I have no idea what it takes to be a lawyer. Oh you wrote a 3 page letter... jesus... I could do that in an hour. Why am I paying you $1500 bucks?
Actually the legal field is a nice comparison.
Consider a programming language akin to any other language like English.
You can write English... you should be able to draft a legal document.
You can write c#, you should be able to write this program.
This is how the rest of the world views things.
I've literally had people I know ask if I could write a program to compete with Google.
And hence, the lawyers formed a professional organization. This is both and good and bad. But what it does do is keep quality up... make sure things are done properly... make sure only qualified people do things... make sure only trained people work on things... and of course... increase pay.
It's not the programming language that is important. It is the domain specific knowledge that is important.
It is not that your lawyer knows English. It is that he knows the fine details of corporate or patent law.
It is not that your programmer knows C#. It is that he knows the fine details of web services or game modelling...
Yes, a lawyer should be able to write really good English. And a programmer must know the details of his particular language, but in the end, the domain knowledge is key.
One of the biggest problems was when really talented people went into the field, they were able to switch between domains really fast. You could probably throw these same people into medicine or law, and they'd pick up just as fast. But these are not the people now entering the field. Companies are finding out just how valuable a trained and professional engineer/programmer is.
I've gotten more calls in the past 2 years than I have in 'good times'.
are you sure it is just coroporations... or also the thousands of public sector workers working in the IRS who would face redundancy if everything was automated.
Seriously, it's people complain about the private prison industrial complex... then they forget public jails employing union guards are just as bad.
Hence, why the caifornia prison guard union fights marijuana legalization at every turn... their job depends on it.
Profit for a corporation is no different than profit (wages) for union workers.
unions no.
professional association yes.
A professional association suits skilled work better. You can speak with one voice in terms of work conditions, quality...
But you don't get fixed pay grades, work silos...
Besides being a union doesn't stop a shop from just exporting your job. But being a professional association with legal standing carries some weight. Suddenly, software not written by professional developers cannot be assured quality... and thus cannot be imported :P Yeah, it is a dream I have... for quality reasons of course. You know, like how lawyers and doctors protect themselves.
The problem is the rest of society is not paid a wage-arbitrated market value :P ...
A large part of the economy is the public sector which just negotiates its pay with government and is not market based.
Doctors and lawyers limit their market supply and increase their demand via regulations
As such an engineer faces a severe imbalance in the West. They are talented enough to enter one of these jobs with an inflated pay scale not tied to the market. That is where they are going.
If we were all paid a market arbitrated wage, then there would be no problem. The market would in fact sort out these kinds of issues. Globally, I am probably worth $15 dollars an hour as an engineer. Globally, a teacher is probably worth $8 dollars an hour... There is a reason most western countries have severe structural deficits.
That portion of their society receiving non market arbitraged wages is grown too large relative to the market wages... and have not been corrected.
As Detroit's economy collapsed and high paying manufacturing and engineering jobs were lost... should that not have translated to lower wages for the public sector, doctors, lawyers... in that region?
We need to pick one system and stick to it as much as possible.
Either we let freedom reign and let people pay others what they think they are worth (market system).
Or we have some abstract pay scale where people negotiate their wages with the government.
Either way, it has to apply to most of society equally.
yeah... the day the rest of society operates in total freedom.... we can talk.
I don't see that happening. I see the opposite happening. More protections, regulations... So we better dance to the tune of society... or we will continue to be trampled.
The problem is that fundamentally, every other 'business support' eventually finds that it cannot be ruled by business... and as such makes itself a profession.
Lawyers - check
Accountants - check
Constructions and other engineering fields - check
Trades people - check
Right now, I'm looking at the elevator and it has be inspected by a licensed inspector. Yet, I'm working on software that runs the very internet... and I know they can bring in someone who has no experience and no knowledge and no licensing to build and test the router?
Anyone see anything wrong with this picture?
Even something as simple as network management (CCNA style). No other field would let CCNAs operate routers. They'd all require a skilled person a degree and probably industry certifications (CCNP) to operate a basic router.
You can look at other fields like healthcare. They all turn themselves into a profession so they have something to stand on when faced with 'business'.
There are a lot of things a profession does
1. Ensures people are trained properly. Lawyers go through grad school, become associates, learn under a senior lawyer... Law is complex. You can't throw a new grad lawyer in the middle of corporate law. Yet, in engineering, I've been thrown into an issue where the core internet router of a major city was down... and I (the new grad software engineer) was thrown it to deal with the ISP and diagnose the problem.
2. Ensures Quality. You have a voice if you feel standards are being violated. Short cuts taken that threaten some higher values (security, stability...).
3. A sense of independence
You are in charge of this. No business person tells a lawyer how to do their job. Yet I'm amazed when business people decide how to run software or IT. Oh, just throw people at projects... that'll work. Don't value knowledge in the current code base. Sure!!!
I'm fully aware of the downsides of professions... there is no way technology would have been able to progress as fast if it were a true profession. People would use the profession as job protection.
I am fully aware of business' need to make a profit. I don't rant against that. But as all professionals we say... if you let me do my damn job... we'd save you money! Give me 5 professional software developers and 5 professional tests, and we'll do the job of 200. But I suppose being a business person with power trumps making money.
That said, I don't blame business people. I can only blame IT and engineers. We refuse to use professions. When we do get on top/management... we treat our underlings the way we were treated. Too many of us are timid and don't stand up for ourselves. How can we expect not to be trampled over?
This is all just re balancing.
The problem. Manufacturing and Engineer get hit first.
Most Western countries face structural deficits largely because the productive parts of their economy are paid globally competitive wages, but the regulatory and public sector are paid wages negotiated abstractly or are protected from global competition (doctors, lawyers).
Hence, our huge deficits.
Take Detroit for example. As Manufacturing wages dipped and job losses occurred, you would expect public sector salaries to drop as well. In time, they will adjust...
Eventually this will all re balance. The wage gap (largely imposed by government) is unsustainable. How does a population making 30k-40/year afford doctors and lawyers earning 250k, 80k teachers, 80k transit workers...? the answer is...it doesn't. It made sense when auto workers made 90k... but not anymore.
Taxing the super rich doesn't help either. Just do the math. There just aren't that many rich people out there. Take the CEO of walmart's salary and his stock optins and divide it by the number of walmart employees and it works out to a few dollars each year.
Either through direct wage cuts, or currency inflation or protectionism... this will have to correct itself.
So long as we have free trade, you will get a better deal elsewhere. If we had a true free market... as wages in industry dropped to compensate, public sector and regulatory wages would drop as well... and things would be in balance... home prices would drop... (deflation). Your lower wage would not feel lower. But we don't have a free market, so that is all moot.
It's not just the school system. We have essentially created a two-tier society.
You can have people live their entire lives in the feel 'good' system.
Go to public school.
Go to public university.
Get a job in the public sector, or academia.
They can go through their entire lives in a system that has at is philosophy 'as long as you feel like you're doing good... that is all that counts... and you deserve lots of money for it too'.
Naturally, they end up in the political class and have an over-inflated sense of their worth, because that's the only system they've lived in.
They never have to make real decisions or bare the consequences of their policies. Because well... as long as they tried...
Their work attitude is just sad as well. We just recently had a young new grad join. Lazy and incompetent. But she would rant on upon how the government must have light rail and high speed rail everywhere. I'm thinking... you know... those cost money. Transit workers are expensive, especially when they're unionized. How do you propose to fund this with lazy people like yourself? Of course I didn't say that... but that was going through my mind.
I guess her answer was... tax other people.
The sad part is... the US youth who grow up in the public school system and this mentality... but are unable to leech off others by getting a job in the public sector... now they end up really hitting a wall when reality hits so to speak. It's not unsolvable though. Humans are pretty resilient. The US youth will adapt if given the chance.
on the other hand...
The whole internet experience has been a deregulated mess that has somehow gotten along. Even something as simple as SMTP mail is totally insecure. It is prone to spam... yet... we've managed to get by for decades on it. Spam was a problem, we developed solutions. Ditto for things like posting on forums. Where's the accountability for that star wars kid? Shouldn't that video posting have been approved by a publisher before embarrassing him in public like that? What's interesting of course is the world has not come to and end. It's actually worked quite well in its non-regulated manner. I'm not suggesting there have not been any problems... but we've managed quite well.
I had some old forum posts where i used my real name... I didn't want them anymore. I found the list names, contacted people... most got taken down... the ones that didn't... well I realized... who cares. It's not that big a deal.
If we had regulation on it, chances are everything on the net would have been authenticated, lawyers would be all over every post... the internet as we know it would not exist.
The internet has developed in this quite careless but 'get it connected, and get it working' kind of way.
Now back to facebook. I don't mind user criticism, but there are increasing calls for government to look into things or enforce things. I'm just a little wary of this.
I use the privacy settings on facebook... and I wouldn't post any pictures on there if it didn't. But yeah, people are getting along okay. If you don't want a picture of you on there, tell your friends to remove you. Maybe it's not your friend... there are many ways of dealing with it... and in the end... most people are not malicious and won't post a really bad picture. Theres a possibility things can go horribly wrong... but in general... they have not. Now weigh that against government censorship and monitoring over the internet... which is already happening in places... even in the western world like australia.
I'll side with openness and freedom of the internet despite the inherent problems.
I was speaking more in terms of professional organization... which... yes involve the government.
Doctors count of the government to prevent anyone else from treating patients.
Ditto laywers...
And with respect to unions? Most western countries have special rules in place governing unions. Unions are not simply voluntary associations of employees gathering together. if they were, it would be fine, but they're not. Unless you are in one of the 'right to work' states, in most union shops, you are *forced* to join the union if you want to work there. The employer doesn't have a choice in this matter. There are special union rules like you can't close down a shop simply because it became unionized...
As I said, while theoretically a union doesn't requirement government... in practice... they make heavy use of government and special pro-union legislation.
100% of all IT jobs understaffed.
Methinks it is about time we got a professional body (or for those so inclined a union). They would set things like standards, work requirements, exams to work in a data center, and of course we can use it to make sure job stay local as the other professions do. I mean how can you trust your data to a non-professional data center. I mean, do you trust people to manage their own medicines?
I say this only have cynically. If you can't beat em, join em. We have to stop pretending we live in a free-market and use the government like everyone else to protect our turf... all in the name of benefiting society... of course.
ummm, where are you coming from here?
Everything is complex. That's the basis of every libertarian ideology. Life is too complex for a group of politicians or 'experts' to manage.
As a result of this complexity, the reasonable thing to do is to allow people to try different approaches to solve their problems... hence looking down on things like central planning.
If you think you have a solution, you are free to prove to the world that it is correct. That is freedom... the freedom to do things to solve the problem.
The alternative is the belief that some group of experts and politicians can capture all the information in the world and formulate working policies to dictate how society should behave.
Their track record? Dismal... communism, fascism, corporatism, theocracy... They all seem to fail empirically. For one, it is rare to have such experts actually know everything. Secondly, you have to cound on the experts actually have 'good will' towards the populace and not becoming corrupt or obsessed with their own power and money. Again not a trivial task.
We agree that life is complex and problems are deep. A free society demands those with solutions implement them and prove they are the best... and people will gravitate to the best (or at least good enough) solutions. Think you have a better way to run a school? Open up the school and bring in students and show people that your way is better. That is freedom.
The alternative which is what we have now? Have a bunch of experts think they can devise the best education policy, implement it within the public school system where people are taxed even if they don't attend it.
Empirically it is shown to work. School choice for example is available in many countries and places. Society does not collapse (Sweden, Chile, Alberta, British Columbia...). Yet the 'experts' who actually tend to deny empirical evidence tend to go against it in favor of theoretical arguments that society will divide if our kids don't learn together...
I used to be a socialist. Until I looked at the empirical evidence. Now I favor freedom.