The problem is we live a two tier society. Yes, we in IT/engineers live and die in some sort of cut throat free market world. The problem is the rest of society does not. Doctors and lawyers restrict their numbers. Public sector unions get their money and benefits at tax payers expense without any competition.
So I always ask my fellow engineers why they bother being so free-market when the rest of the world is not. No point being moral about it. This is your life.
Let us imagine a truly free market, small government world. Yes, IT might still be as brutal, but truth be told, you would work in it for 5-10 years and then quit after you've made your money. This is how parts of finance and corporate law work. They are high pay, but high burnout. You'd have enough because of low taxes and the money would hold value due to a stable dollar and low property taxes... So the ideology is sound.
However, I would never subject myself to that philosophy, while the rest of society coasts off tax money, monopolies, exclusionary professions. I will always say that a libertarian society is a the best society for all, especially for the poor. However, in North America, the way it is now, I would absolutely not be against government money to the IT sector, or professional organization/unions in the field. As I said, we do not live in a free-market society. No one else is playing by those rules. Why should we?
On this point, I never understand the responses from engineers/IT sector. Oh no, it hurts efficiency. Oh no, it hurts innovation.... of course it does. It also gives a nice stable paycheck and plays by the rules the rest of society lives by. But again, if the rest of society plays by the better libertarian rules, I'll gladly play by those rules.
One of the many reasons I say, we get rid of the corporate tax.
It is just plain stupid. Corporations do not make money. People do.
Rich CEOs and investors make money... and they are taxed. Workers make money and they are taxed. Suppliers make money and they are taxed.
The corporate tax is a needless abstraction imply you are taxing a corporation, but not taxing people. EVIL CORPORATION is the mantra. It is silly politics and especially bad reality. Hint, Microsoft employs tens of thousands of employees. Hint, when you tax Microsoft, you are hurting their income and bonuses.
Me, I'd say get rid of the corporate tax and increase taxes on rich people. Also, increase the liability of individuals in the company. We need to lessen treatment the corporation as an individual. It is not. Though for some purposes it is hard to treat it any other way. If a corporation ever commits a crime... I want the person responsible for the crime.
On a more political note... The West was getting its engineers and scientists on the cheap by importing them. Really no different than bringing in Mexicans to work on the farm or Chinese people to build the railways.
Western people are of course too good to be subjected to such tasks. They need just be in charge of everything, being bureaucrats and lawyers and business people. You have a 'right' to cheap food, but don't want to work on the farms for the cheap wages to get cheap food... that's for lesser Latin peoples You want a strong industry, but don't want to pay your engineers and scientists properly relative to the rest of society... that's for lesser people like Asians.
Everyone knows being an engineer or scientist in the Western world is a bad deal. Otherwise, your own people would be doing it. Much better to be a lawyer or work for the government or health care or education industries. You know, the nice work:P Work worth the time of the great western person:P We're not blind to such realities. We're very much aware of it. I'd like to say I am glad to be working hard, generating all the wealth for the West, only to see it used to subsidize Western people who have not earned their standard of living... just living off the wealth of the past. I'm not.
However we are glad to exchange our labor for money and skills. Yet, these are no longer colonial times... which still seems to be the prevailing mentality of Western people. No longer can you simply force us to do the mundane work, while you reap the profits and the high end work. Here's looking at you England and Indian colonialism:P Most Western people still hold this colonial attitude though. Interestingly, the only places where you don't get this attitude is in the American South. Sorry, but in a free world, this is impossible to sustain. We will do what any person does. We're going to take what we need (money and skills) and then go to where we get the better deal.
In this case, moving back home is simply a better option. -high standard of living. Engineers earn as much or more than doctors in India. -close to family (this is a huge one) -no immigration/visa worries -living in a rising society instead of a falling one...
The transition is not complete. It is far from complete. The West still has a lot to offer in terms entrepreneurship, business management, legal systems... but those can all come in time. All I can say to Western people is that colonialism is over. Get used to it.
Engineers need to be slaves only working to benefit humanity. They need not concern themselves with petty issues like earning a living, having stable employment, protecting their trade...
Let me know when society gives me a guaranteed income, and I'll write open source code and all the bruhaha that comes along with it.
Oh how I think this financial collapse will force some reality into these naive folk.
What's even more interesting is how he finishes the post.
"we'll forgive them if they never write a unit test, or if they xor the "next" and "prev" pointers of their linked list into a single DWORD to save 32 bits,"
Excuse me? If you're a duct tape; get the job; done programmer, what the hell are you doing micromanaging bits and bytes to save a few bytes. The real duct tape programmer just adds another member variable, so they don't waste time or effort or bugs needlessly complicating code.
The rest of the article is great. I just don't get anything in the last paragraph.
Most good engineers work long days too. I would venture to say all the high professions have dedicated people willing to work hard.
However, the main difference is that in law and medicine, the longer you work, the more valued you are. A lot of doctors can switch to part time work as they get older and still do the same job. Same with lawyers who become partners in their firm. Engineers on the other hand...
Beyond our own interests and ambitions, most of society just wants to have a decent job, go home, spend time with their family... This is for any society.
So let us see here... why would anyone in the Western World go into science or technology/engineering? You have the chance to study hard, work on new unsolved challenges... all for the reward of no job security, middle class pay...
Yep sounds like a good deal to me! The reality is that anyone who is capable of really contributing to science/engineering has the ability to be a doctor, lawyer, accountant, teacher, nurse... At the end of the day, this is where most are going to go as that is where the money, power, and stability. It is not that people in the Western World are not capable of doing science or engineering. They are... they just choose not to. There are better professions. The few that do go in aim for management.
The opposite is true in India and China (at the moment). The best people go into science because of the large rewards. A good engineer in India working for a US firm will make more than a doctor.
No amount of tv shows or media hype is going to change this reality. Hey, I just got an e-mail from my University talking about promoting engineering as the 'caring profession.' I kid you not. My brother who was engineer heavily involved in research and smarter than myself, left the field to be a lawyer. My younger brother wants to be a teacher. It pays very well in North East.
Once you stop the profession of science and engineering from being attractive as a career, the drive to pursue it as an interest dwindles. That is it. It's not complicated. We all only have so many hours in a day.
Many of the ways we think are going to help kids with science/engineering/math are actually going to hurt it. Things like boosting teacher salaries. Hey, my brother is just as scientifically capable as myself, yet he wants to be a teacher because it offers the best lifestyle and is funded by the government. Duh... it's just going to keep draining the good people from science.
As far as I am concerned, until the rewards (read money/stability) are realigned in the Western World, few capable people are going to go into the field. You don't see that being addressed now do you?
Looking back, I'd probably make the same choice. I wouldn't go into the field today. I'd just become a doctor/nurse/teacher/lawyer and write open source code if my interest piqued. Millions of smart youngsters are making the same choice.
1. Private industry is voluntary. I can choose to shop at Walmart or not. If I'm not shopping at Walmart, I see no issue with any misspending they do as its not my money. (side note...Working with them however, they don't waste any money at all... cheap bastards). 2. In a working free society (no bailouts), companies that blow their money on bad managers will eventually die out or lose ground to better companies.
The secret to a free society is not that nothing ever fails or that everything is efficient... but it is that things are allowed to fail and newer and better things take their place.
The best example is tech. Microsoft owned the software industry. Yet, they got slow and refused to properly embrace the internet and mobile. Well what happened? Google was born. RIM dove into mobile.
It really is a much better system that trying to force bureaucratic institutions to change by committee.
Re:Biggest Gripe about coding .. shouldn't be code
on
Coders At Work
·
· Score: 1
I'm surprised you think code quality has gotten worse. Heck, even look at protocols. What about SMTP... the completely authenticantionLESS mail protocol! You wouldn't find that today.
I think this the 80s television syndrome. We all think TV was better back in the day. Probably because we only remember the good ones and we compare it to all the crap we have today (reality tv...). But we forget the good shows today (Lost, BSG, seinfled... whatever floats your boat).
let's not even get into how much more is expected of a modern applications. It's not simple text fields any more.
I've run the gamut from old control systems code to networking and even some modern web stuff. All I can say is software has gotten a whole lot better, as has the process. I'm sure there's all kinds of crappy code out there. and that is largely due to software being used so much more. Not everyone writing software can be an expert in it.
you say the word lobbyist as if it is a bad word. What do you think democracy is? The interested parties lobby to get their way.
What you have a problem with is not lobbying.... but the fact that lobbies you do not like are successful. Corporations are a lobby. Public sector unions are a lobby. Lawyers are a lobby....
You could easily form your own lobby with whatever you wish. Get some names. Get people out there to care about the issue, and you too can influence government.
In any case. I do not believe in democracy for this very reason. I believe in a republic. Rule of law above the rule of men.
I am amazed at people who think hardware patents are more valid than software patents.
I work in the patent department at my work. Sure, the software field is a bit hype right now and there are lots of patent applications. A lot of them stupid. Yet, the point is, hardware patents exhibit the same stupidity, especially during periods of rapid activity.
I saw a commercial on TV the other day promoting the Toyota Prius. It was actually advertising the number of patents it holds. It must be really advanced! How much do you want to bet, most of those patents are routine problems that any hardware engineer would solve in a similar way as they develop a hybrid or electric car. Engineers at Ford, GM, Hyundai... ?
In the same way as software engineers would solve similar problems the same way. Applying XML to a word-processing document format, Adding a plug-in architecture to internet browsers...
You can be against patent stupidity over all. It drives me mad a times too.
Yet, I just cannot understand those who support hardware patents yet bemoan software patents. The one example I am constantly amazed at... is Intels CPU patents. Somehow people think because the net result is a physical chip that somehow it is more valid than software patents?
Go ahead and read it. Specifically the claims part as that is what matters. I cannot fathom how this is different from a complex software problem. This should come as no surprise to anyone with any experience doing FPGA programming. Sure it's not a simple sequential program. But its the same concepts.
It has been very difficult to create x86 compatible CPUs. You generally have to get a license from Intel. Why is this? If you expand it out, all you would need to create an x86 compatible chip is the same opcodes and registers... How is this any different from a programming framework? opcodes akin to function definitions. Registers akin to data structures.
A well written CPU instruction set takes just as good design and ingenuity as a well written software framework (QT,.NET...).
It's amazing to me how people seem to think the internet brings in a whole new world where nothing old applies.
If I have a legal responsibility and I wish to use a product/service that might affect that responsibility, then I would: -get a contract detailing things -get insurance to protect me -audit the other party to make sure they will adhere to certain rules
Doctors, engineers, lawyers... have all dealt with this for a long time. If I had a legal responsibility, would I trust Google with my data? Nope. At least not for their current free apps. This is one case where they could most certainly offer a 'premium account'. You can speak to live person to handle issues should they come up. An SLA with privacy guarantees... Then I'd consider it.
Otherwise, I could rightfully be sued for negligence. Here I am a doctor or lawyer making 250k/year and I'm too cheap to spend a few hundred dollars to guarantee the privacy and security of my data. Sounds like negligence to me.
Unfortunately responsibility and accountability costs money. It's not a free lunch for you or Google.
While a good tool and no doubt legislators should already be doing this electronically.
There is a strange ideology behind this whole 'transparency' movement. The ideology is basically this Money is best allocated by the democratic process and debate. The problem is we just need to provide accountability to the process and all will be well.
The reality is much darker. This is like handing over your whole life to the student council. It wasn't a good idea in high school and it's not a good idea now. Not only is it corruption prone as they are always spending someone else's money. Those in power will always work to benefit themselves first. It's not just mega corporations. It is teacher unions, lawyers, doctors... Everyone who can get power in the democratic process is going to abuse that power to the detriment of society.
The mere act of handing out money at the government level draws corruption. It draws the corrupt, the well-connected, the unscrupulous to the table like moths to the flame. You cannot remove our human nature from the equation. It's a simple lesson learned by societies all over the world. The western world seems to have forgotten this.
No amount of information or openness is going to 'cure' this.
Speaking of the wisdom of crowds P Why not bypass the legislators directly and give the money directly to the people. If you trust crowds and democracy, why not trust each person individually with money? Why not have vouchers...?
As an official in the swedish pirate party, could you enlighten us as to what your other views are. I've browsed your English website, and couldn't find much else.
While I agree with the general views of the pirate party, it's certainly not a big enough issue in my life to bring in a party that is not in agreement in my other views on healthcare, education, individual liberties...
Here's a little question. Does anyone here not see the market working? Toyota Prius? Everyone seems to be doing plugin hybrids by 2010. Google's funding nano-solar. Countless ventures are out there in terms of battery power, renewables...
So if I might ask... what the hell is the problem? There's no shortage of research or money in the field. If technology can solve this problem, it will.
Any tax now would hurt the poor the most. Which is not a nice thing in this economy... much less any other time. The rich can afford a prius and to live in downtown near the subway.
That said, I 100% understand accounting for externalities in the market. Of course, we already tend to have those... it is called a gas tax for gasoline which hasn't be used to pay for roads in a long time.
I would be 100% for a global warming tax... if and only if 100% of the revenues go towards countering the effects of global warming (building levies, moving populations from low lying ares...).
Unfortunately, this is just going to become one massive corruption scheme. Big finance making billions off doing nothing... just playing a game of carbon credits. Governments handing out contracts and making laws to benefit certain businesses and industries... It's going to be a mess. But central planning is always a mess. Americans lived without it for a while... but every country gets its chance to be ruined by central planning.
Re:Electronic Health Records is very hard
on
IT and Health Care
·
· Score: 1
I worked in e-health records and PACS systems before. The biggest problem is... trying to do too much at once. Everyone wants to design the perfect system.
You mention, templatize the intake notes... well... why standardize the intake notes? Why have specific fields?
I am fully aware of the power of the data once you get all these fields in. but what use is it if no one can agree on what these fields are or how they should be used?
As a first step, a very generic e-health record should be used. It should literally be nothing more than attaching a bunch of documents to a SECURE patient's record. PDFs, Word, ODF, pictures, MRI scans... whatever. Once you have this in place, you have something you didn't have before... an electronic health record that can be accessed by other health professionals. Hopefully you can standardize on the document formats at least or even have a known set of document formats.
The next stage comes the interfacing with the various entities. Standardize on prescription forms, test ordering forms... A lot of this work is already standardized as they had paper based standards. This makes it much easier to do this work. I wouldn't even settle on one standard. The fields should be generic enough and always include a 'notes' section for special things or notes that need clarification.
Once you have this in place, then you can start worrying about getting all the data in a nice format where you can use it for all kinds of good information, like waiting list times, outcome analysis...
I'll liken this to the internet. The amount of information is so huge and complex, you can't just make it neat and tidy. A lot of the first attempts tried to index the internet (Sports, news, country...). Having to classify and find stuff was difficult. But that didn't stop people from putting their information online. Sometimes in nice formats, other times in random ways. Eventually, through a long process, things get organized... often times in way you would not have expected. There is no one organization of the internet.
Some data is captured via google. Various sites expose web services or databases. Links and wikis and blogs and forums are their own kind of organization.
Yet, I can access all of these from one computer because all the information is online.
"Hitler wasn't some demonic bad-ass bad-guy. He was a crazed political genius"
Those are not exactly mutually exclusive.
Hitler was demonic. Hitler was bad-ass. Hitler was most definitely a bad-guy.
Hitler was also crazy. Hitler was also a political figure. Hitler was a genius... perhaps... except he ultimately lost.
Perhaps you only see the political angles, but anyone who orders the deaths of millions and is focused on the elimination of entire races is a bad guy. Yes, that includes many leaders in history.
Could you do a cultural relativism issue with the nuking of Japan... maybe... Truman was also Evil. Yet, that was in the depths of war... a strategic and tactical move. Not an end unto itself.
The question of morality in war is simple. How would Asia have looked if Imperial Japan had won? How would Europe have looked if Nazi Germany had won?
Would Imperial Japan have rebuilt the rest of Asia into a free democracy as the United States rebuilt Japan? Would Nazi Germany have rebuilt Europe in a free democracy as the United States rebuilt it?
I guarantee you, whatever workload you think is causing you to burn out, the software developers are under the same workload.
1. Get yourself an issue tracking system. Since you're the lone IT guy... you don't need anything complex, but get something... preferably web based.
2. Make the wait queue public. So people can see how much work you have to do. They also know how long to wait for things.
3. Let this run for a few weeks, and if you feel you could use a second set of hands, you now have the data to take to your manager. Get a coop student, get another IT person...
I say this as a software engineer. I now insist on everything being tracked on an issue tracking system. Nothing is worse than random people asking you to do work and no one realizes how much it all adds up to. I don't be an ass about it, but I do insist everything be tracked. If I have to, I submit the issue myself and assign it to myself.
Do this and people will come to understand.
Now then... you naturally understand that software engineers are generally reasonably computer savvy people. Nothing would frustrate them more than knowing they *could* fix a problem if only they had the rights or passwords to do so. You are lucky you are in a small company. You can bypass 'official' policies once in a while. If you can't handle the workload, maybe see if there are software developers you trust that can handle certain things. Maybe expose some scripts you run...
Better yet... if we actually take this study accurately. (understand... this is a BIG IF... and everything below is premised on it)
If paying kids 500 bucks is a genuine increase in the student's performance... then isn't this more effective than hiring better teachers or even paying teacher's more? When's the last time paying teacher's more money or another bureaucratic change resulted in a 40% increase in student performance?
Sounds to me like we can start cutting teacher salaries. I know that's not the conclusion many want to draw from such a study... yet give it a ponder.
It is precisely that attitude that causes these kinds of problems.
It is not just a counter. It might start off that way. Then someone wants to centralize the counting for all the machines. Someone wants centralized report generation. Someone wants the data encrypted or stored in a certain format. Then you throw in networking, threading, database... issues and it can very easily turn a simple 'counting' problem into something much more difficult.
All the services you list are very basic services with fairly minimal cost. Heck you could probably fund them all just with the sales taxes the states currently charge.
You ignore the biggest cost elements and the elements most people complain a bout which could (and are in many countries) provided on a pay-per-use basis. Healthcare Education retirment benefits...
Police services wouldn't cost nearly as much without the drug war. The military wouldn't cost so much if it wasn't running around the world....
I think the real issue is there is no 'routine' aspect to software.
Most other domains of Engineering have a very defined field and set rules. There are also very standard way of doing things. Simulators have been built... I would argue that anytime some *new* device in another field of engineering is done, it suffers from the same 'flaws' as software. I can't speak for too many other fields, but I can speak for electrical engineering. Any new kind of hardware follows the same kind of iterative, simulate, debug... aspect as software. Fortunately, for hardware it needs to accomplish its set goal and people recognize the costs involved... and it somehow managed to escape the anyone can code mentality.
Now software, we must understand is be definition new. ANY repetitive work is done by the tools (compiler, linker...). In Civil Engineering, you still need the civil engineer to oversee the building of the structure. To make sure the workers do things correctly... this is all very routine work. Often there are standard blue prints already done and the civil engineer just makes some small tweaks and then has to oversee the project. Just follow the damn process. In software, we are so fortunate, that our builders (compiler, linker...) work amazingly well. They never make a mistake and can repeat their work as often as possible.
Once built, software can be deployed a million times over without fail. Not so for civil engineers who must pursue the same rigor each time a building is built. Heck in software, we like to make one deployment so flexible by these amazing things called 'options'. everything is a bloody option and configurable. Again, unlike many other forms of engineering where the regularity and standard process dictates how things are done.
We must understand this key difference. Because of the nature of software, *some* people have made the mistake of trying to superimpose other disciplines onto software. There are those who would say that software is design and implementation.
First you design it, like the civil engineer designs the building. Then you implement it, like the workers build the building.
I cringe whenever I hear a similar analogy. Yes, there is some 'abstract' notion of design away from a specific language, but expressing that design in a particular language is still design. The civil engineer who uses autocad or whatever to design their building is expressing his design in that format. The software engineer is just expressing his design in C++/Java... THERE IS NO IMPLEMENTATION WORK IN SOFTWARE. Everything is design. Just high level design and low level design.
Sadly, some people continue to try and draw parallels with factory or civil engineering work. They claim there is some design that can be done, and then a bunch of code monkeys (construction workers) assemble and build the software. It's so wrong on so many levels, I'll repeat it again. The compiler and linker assemble and build the software. Every code monkey is doing design.
For sure, I think we will get *some* formalization of the process as certain practices become more standard. Our tools will most certainly become better and better (issue trackers, source control...). Yet at the end, the code still needs to be designed. There is no escaping the need for good software engineers.
Just like there is no escaping the need for good civil engineers if you every try and do something out of the ordinary.
I could write more about formal testing and the like, but I'll leave this point as is.
Let me add a caveat here for you.
The problem is we live a two tier society. Yes, we in IT/engineers live and die in some sort of cut throat free market world. The problem is the rest of society does not. Doctors and lawyers restrict their numbers. Public sector unions get their money and benefits at tax payers expense without any competition.
So I always ask my fellow engineers why they bother being so free-market when the rest of the world is not. No point being moral about it. This is your life.
Let us imagine a truly free market, small government world. Yes, IT might still be as brutal, but truth be told, you would work in it for 5-10 years and then quit after you've made your money. This is how parts of finance and corporate law work. They are high pay, but high burnout.
You'd have enough because of low taxes and the money would hold value due to a stable dollar and low property taxes... So the ideology is sound.
However, I would never subject myself to that philosophy, while the rest of society coasts off tax money, monopolies, exclusionary professions. I will always say that a libertarian society is a the best society for all, especially for the poor. However, in North America, the way it is now, I would absolutely not be against government money to the IT sector, or professional organization/unions in the field. As I said, we do not live in a free-market society. No one else is playing by those rules. Why should we?
On this point, I never understand the responses from engineers/IT sector. ... of course it does. It also gives a nice stable paycheck and plays by the rules the rest of society lives by. But again, if the rest of society plays by the better libertarian rules, I'll gladly play by those rules.
Oh no, it hurts efficiency.
Oh no, it hurts innovation.
One of the many reasons I say, we get rid of the corporate tax.
It is just plain stupid. Corporations do not make money. People do.
Rich CEOs and investors make money... and they are taxed.
Workers make money and they are taxed.
Suppliers make money and they are taxed.
The corporate tax is a needless abstraction imply you are taxing a corporation, but not taxing people.
EVIL CORPORATION is the mantra. It is silly politics and especially bad reality.
Hint, Microsoft employs tens of thousands of employees.
Hint, when you tax Microsoft, you are hurting their income and bonuses.
Me, I'd say get rid of the corporate tax and increase taxes on rich people.
Also, increase the liability of individuals in the company. We need to lessen treatment the corporation as an individual. It is not. Though for some purposes it is hard to treat it any other way. If a corporation ever commits a crime... I want the person responsible for the crime.
On a more political note...
The West was getting its engineers and scientists on the cheap by importing them. Really no different than bringing in Mexicans to work on the farm or Chinese people to build the railways.
Western people are of course too good to be subjected to such tasks. They need just be in charge of everything, being bureaucrats and lawyers and business people.
You have a 'right' to cheap food, but don't want to work on the farms for the cheap wages to get cheap food... that's for lesser Latin peoples
You want a strong industry, but don't want to pay your engineers and scientists properly relative to the rest of society... that's for lesser people like Asians.
Everyone knows being an engineer or scientist in the Western world is a bad deal. Otherwise, your own people would be doing it. Much better to be a lawyer or work for the government or health care or education industries. You know, the nice work :P Work worth the time of the great western person :P We're not blind to such realities. We're very much aware of it. I'd like to say I am glad to be working hard, generating all the wealth for the West, only to see it used to subsidize Western people who have not earned their standard of living... just living off the wealth of the past. I'm not.
However we are glad to exchange our labor for money and skills. Yet, these are no longer colonial times... which still seems to be the prevailing mentality of Western people. No longer can you simply force us to do the mundane work, while you reap the profits and the high end work. Here's looking at you England and Indian colonialism :P Most Western people still hold this colonial attitude though. Interestingly, the only places where you don't get this attitude is in the American South. Sorry, but in a free world, this is impossible to sustain. We will do what any person does. We're going to take what we need (money and skills) and then go to where we get the better deal.
In this case, moving back home is simply a better option. ...
-high standard of living. Engineers earn as much or more than doctors in India.
-close to family (this is a huge one)
-no immigration/visa worries
-living in a rising society instead of a falling one
The transition is not complete. It is far from complete. The West still has a lot to offer in terms entrepreneurship, business management, legal systems... but those can all come in time.
All I can say to Western people is that colonialism is over. Get used to it.
I'm not suggesting open source is against a free market.
I'm just suggesting it is pretty stupid for most engineers and scientists to engage in as a dominant model of their trade.
shhhh.
Engineers need to be slaves only working to benefit humanity.
They need not concern themselves with petty issues like earning a living, having stable employment, protecting their trade...
Let me know when society gives me a guaranteed income, and I'll write open source code and all the bruhaha that comes along with it.
Oh how I think this financial collapse will force some reality into these naive folk.
and your problem with this practice is what exactly?
The generic drug is available. Your friendly doctor should prescribe the generic version for you.
What's even more interesting is how he finishes the post.
"we'll forgive them if they never write a unit test, or if they xor the "next" and "prev" pointers of their linked list into a single DWORD to save 32 bits,"
Excuse me? If you're a duct tape; get the job; done programmer, what the hell are you doing micromanaging bits and bytes to save a few bytes.
The real duct tape programmer just adds another member variable, so they don't waste time or effort or bugs needlessly complicating code.
The rest of the article is great. I just don't get anything in the last paragraph.
The difference is in stability.
Most good engineers work long days too. I would venture to say all the high professions have dedicated people willing to work hard.
However, the main difference is that in law and medicine, the longer you work, the more valued you are. A lot of doctors can switch to part time work as they get older and still do the same job. Same with lawyers who become partners in their firm. Engineers on the other hand...
All you have to do is follow the money.
Beyond our own interests and ambitions, most of society just wants to have a decent job, go home, spend time with their family...
This is for any society.
So let us see here... why would anyone in the Western World go into science or technology/engineering?
You have the chance to study hard, work on new unsolved challenges... all for the reward of no job security, middle class pay...
Yep sounds like a good deal to me! The reality is that anyone who is capable of really contributing to science/engineering has the ability to be a doctor, lawyer, accountant, teacher, nurse... At the end of the day, this is where most are going to go as that is where the money, power, and stability. It is not that people in the Western World are not capable of doing science or engineering. They are... they just choose not to. There are better professions. The few that do go in aim for management.
The opposite is true in India and China (at the moment). The best people go into science because of the large rewards. A good engineer in India working for a US firm will make more than a doctor.
No amount of tv shows or media hype is going to change this reality. Hey, I just got an e-mail from my University talking about promoting engineering as the 'caring profession.' I kid you not. My brother who was engineer heavily involved in research and smarter than myself, left the field to be a lawyer.
My younger brother wants to be a teacher. It pays very well in North East.
Once you stop the profession of science and engineering from being attractive as a career, the drive to pursue it as an interest dwindles.
That is it. It's not complicated. We all only have so many hours in a day.
Many of the ways we think are going to help kids with science/engineering/math are actually going to hurt it.
Things like boosting teacher salaries. Hey, my brother is just as scientifically capable as myself, yet he wants to be a teacher because it offers the best lifestyle and is funded by the government. Duh... it's just going to keep draining the good people from science.
As far as I am concerned, until the rewards (read money/stability) are realigned in the Western World, few capable people are going to go into the field. You don't see that being addressed now do you?
Looking back, I'd probably make the same choice. I wouldn't go into the field today. I'd just become a doctor/nurse/teacher/lawyer and write open source code if my interest piqued. Millions of smart youngsters are making the same choice.
The order of importance:
Government workers > Lawyers > corporations > citizens
No, but there are two key differences.
1. Private industry is voluntary. I can choose to shop at Walmart or not. If I'm not shopping at Walmart, I see no issue with any misspending they do as its not my money. (side note...Working with them however, they don't waste any money at all... cheap bastards).
2. In a working free society (no bailouts), companies that blow their money on bad managers will eventually die out or lose ground to better companies.
The secret to a free society is not that nothing ever fails or that everything is efficient... but it is that things are allowed to fail and newer and better things take their place.
The best example is tech.
Microsoft owned the software industry. Yet, they got slow and refused to properly embrace the internet and mobile. Well what happened?
Google was born. RIM dove into mobile.
It really is a much better system that trying to force bureaucratic institutions to change by committee.
I'm surprised you think code quality has gotten worse.
Heck, even look at protocols. What about SMTP... the completely authenticantionLESS mail protocol! You wouldn't find that today.
I think this the 80s television syndrome. We all think TV was better back in the day. Probably because we only remember the good ones and we compare it to all the crap we have today (reality tv...). But we forget the good shows today (Lost, BSG, seinfled... whatever floats your boat).
let's not even get into how much more is expected of a modern applications. It's not simple text fields any more.
I've run the gamut from old control systems code to networking and even some modern web stuff.
All I can say is software has gotten a whole lot better, as has the process.
I'm sure there's all kinds of crappy code out there. and that is largely due to software being used so much more. Not everyone writing software can be an expert in it.
you say the word lobbyist as if it is a bad word.
What do you think democracy is? The interested parties lobby to get their way.
What you have a problem with is not lobbying.... but the fact that lobbies you do not like are successful. ...
Corporations are a lobby.
Public sector unions are a lobby.
Lawyers are a lobby.
You could easily form your own lobby with whatever you wish. Get some names. Get people out there to care about the issue, and you too can influence government.
In any case. I do not believe in democracy for this very reason. I believe in a republic. Rule of law above the rule of men.
I am amazed at people who think hardware patents are more valid than software patents.
I work in the patent department at my work. Sure, the software field is a bit hype right now and there are lots of patent applications. A lot of them stupid.
Yet, the point is, hardware patents exhibit the same stupidity, especially during periods of rapid activity.
I saw a commercial on TV the other day promoting the Toyota Prius. It was actually advertising the number of patents it holds. It must be really advanced!
How much do you want to bet, most of those patents are routine problems that any hardware engineer would solve in a similar way as they develop a hybrid or electric car. Engineers at Ford, GM, Hyundai... ?
In the same way as software engineers would solve similar problems the same way. Applying XML to a word-processing document format, Adding a plug-in architecture to internet browsers...
You can be against patent stupidity over all. It drives me mad a times too.
Yet, I just cannot understand those who support hardware patents yet bemoan software patents. The one example I am constantly amazed at... is Intels CPU patents. Somehow people think because the net result is a physical chip that somehow it is more valid than software patents?
Here is one of Intel's recent ones:
http://www.patents.com/Enhanced-fused-multiply-add-operation/US7499962/en-US/
Go ahead and read it. Specifically the claims part as that is what matters. I cannot fathom how this is different from a complex software problem.
This should come as no surprise to anyone with any experience doing FPGA programming. Sure it's not a simple sequential program. But its the same concepts.
It has been very difficult to create x86 compatible CPUs. You generally have to get a license from Intel. Why is this?
If you expand it out, all you would need to create an x86 compatible chip is the same opcodes and registers...
How is this any different from a programming framework? opcodes akin to function definitions. Registers akin to data structures.
A well written CPU instruction set takes just as good design and ingenuity as a well written software framework (QT, .NET...).
It's amazing to me how people seem to think the internet brings in a whole new world where nothing old applies.
If I have a legal responsibility and I wish to use a product/service that might affect that responsibility, then I would:
-get a contract detailing things
-get insurance to protect me
-audit the other party to make sure they will adhere to certain rules
Doctors, engineers, lawyers... have all dealt with this for a long time.
If I had a legal responsibility, would I trust Google with my data? Nope. At least not for their current free apps.
This is one case where they could most certainly offer a 'premium account'. You can speak to live person to handle issues should they come up. An SLA with privacy guarantees... Then I'd consider it.
Otherwise, I could rightfully be sued for negligence. Here I am a doctor or lawyer making 250k/year and I'm too cheap to spend a few hundred dollars to guarantee the privacy and security of my data. Sounds like negligence to me.
Unfortunately responsibility and accountability costs money. It's not a free lunch for you or Google.
While a good tool and no doubt legislators should already be doing this electronically.
There is a strange ideology behind this whole 'transparency' movement.
The ideology is basically this
Money is best allocated by the democratic process and debate. The problem is we just need to provide accountability to the process and all will be well.
The reality is much darker.
This is like handing over your whole life to the student council. It wasn't a good idea in high school and it's not a good idea now.
Not only is it corruption prone as they are always spending someone else's money. Those in power will always work to benefit themselves first. It's not just mega corporations. It is teacher unions, lawyers, doctors... Everyone who can get power in the democratic process is going to abuse that power to the detriment of society.
The mere act of handing out money at the government level draws corruption. It draws the corrupt, the well-connected, the unscrupulous to the table like moths to the flame.
You cannot remove our human nature from the equation.
It's a simple lesson learned by societies all over the world. The western world seems to have forgotten this.
No amount of information or openness is going to 'cure' this.
Speaking of the wisdom of crowds P Why not bypass the legislators directly and give the money directly to the people. If you trust crowds and democracy, why not trust each person individually with money?
Why not have vouchers...?
As an official in the swedish pirate party, could you enlighten us as to what your other views are.
I've browsed your English website, and couldn't find much else.
While I agree with the general views of the pirate party, it's certainly not a big enough issue in my life to bring in a party that is not in agreement in my other views on healthcare, education, individual liberties...
Here's a little question. Does anyone here not see the market working?
Toyota Prius?
Everyone seems to be doing plugin hybrids by 2010.
Google's funding nano-solar.
Countless ventures are out there in terms of battery power, renewables...
So if I might ask... what the hell is the problem? There's no shortage of research or money in the field. If technology can solve this problem, it will.
Any tax now would hurt the poor the most. Which is not a nice thing in this economy... much less any other time. The rich can afford a prius and to live in downtown near the subway.
That said, I 100% understand accounting for externalities in the market. Of course, we already tend to have those... it is called a gas tax for gasoline which hasn't be used to pay for roads in a long time.
I would be 100% for a global warming tax... if and only if 100% of the revenues go towards countering the effects of global warming (building levies, moving populations from low lying ares ...).
Unfortunately, this is just going to become one massive corruption scheme.
Big finance making billions off doing nothing... just playing a game of carbon credits.
Governments handing out contracts and making laws to benefit certain businesses and industries...
It's going to be a mess. But central planning is always a mess. Americans lived without it for a while... but every country gets its chance to be ruined by central planning.
I worked in e-health records and PACS systems before.
The biggest problem is... trying to do too much at once.
Everyone wants to design the perfect system.
You mention, templatize the intake notes... well... why standardize the intake notes?
Why have specific fields?
I am fully aware of the power of the data once you get all these fields in. but what use is it if no one can agree on what these fields are or how they should be used?
As a first step, a very generic e-health record should be used. It should literally be nothing more than attaching a bunch of documents to a SECURE patient's record. PDFs, Word, ODF, pictures, MRI scans... whatever. Once you have this in place, you have something you didn't have before... an electronic health record that can be accessed by other health professionals. Hopefully you can standardize on the document formats at least or even have a known set of document formats.
The next stage comes the interfacing with the various entities.
Standardize on prescription forms, test ordering forms... A lot of this work is already standardized as they had paper based standards. This makes it much easier to do this work. I wouldn't even settle on one standard. The fields should be generic enough and always include a 'notes' section for special things or notes that need clarification.
Once you have this in place, then you can start worrying about getting all the data in a nice format where you can use it for all kinds of good information, like waiting list times, outcome analysis...
I'll liken this to the internet. The amount of information is so huge and complex, you can't just make it neat and tidy. A lot of the first attempts tried to index the internet (Sports, news, country...). Having to classify and find stuff was difficult. But that didn't stop people from putting their information online. Sometimes in nice formats, other times in random ways. Eventually, through a long process, things get organized... often times in way you would not have expected. There is no one organization of the internet.
Some data is captured via google.
Various sites expose web services or databases.
Links and wikis and blogs and forums are their own kind of organization.
Yet, I can access all of these from one computer because all the information is online.
"Hitler wasn't some demonic bad-ass bad-guy. He was a crazed political genius"
Those are not exactly mutually exclusive.
Hitler was demonic.
Hitler was bad-ass.
Hitler was most definitely a bad-guy.
Hitler was also crazy.
Hitler was also a political figure.
Hitler was a genius... perhaps... except he ultimately lost.
Perhaps you only see the political angles, but anyone who orders the deaths of millions and is focused on the elimination of entire races is a bad guy. Yes, that includes many leaders in history.
Could you do a cultural relativism issue with the nuking of Japan... maybe... Truman was also Evil.
Yet, that was in the depths of war... a strategic and tactical move. Not an end unto itself.
The question of morality in war is simple.
How would Asia have looked if Imperial Japan had won?
How would Europe have looked if Nazi Germany had won?
Would Imperial Japan have rebuilt the rest of Asia into a free democracy as the United States rebuilt Japan?
Would Nazi Germany have rebuilt Europe in a free democracy as the United States rebuilt it?
Make your workload visible!
I guarantee you, whatever workload you think is causing you to burn out, the software developers are under the same workload.
1. Get yourself an issue tracking system. Since you're the lone IT guy... you don't need anything complex, but get something... preferably web based.
2. Make the wait queue public. So people can see how much work you have to do. They also know how long to wait for things.
3. Let this run for a few weeks, and if you feel you could use a second set of hands, you now have the data to take to your manager. Get a coop student, get another IT person...
I say this as a software engineer. I now insist on everything being tracked on an issue tracking system. Nothing is worse than random people asking you to do work and no one realizes how much it all adds up to. I don't be an ass about it, but I do insist everything be tracked. If I have to, I submit the issue myself and assign it to myself.
Do this and people will come to understand.
Now then... you naturally understand that software engineers are generally reasonably computer savvy people. Nothing would frustrate them more than knowing they *could* fix a problem if only they had the rights or passwords to do so. You are lucky you are in a small company. You can bypass 'official' policies once in a while. If you can't handle the workload, maybe see if there are software developers you trust that can handle certain things. Maybe expose some scripts you run...
Better yet... if we actually take this study accurately.
(understand... this is a BIG IF... and everything below is premised on it)
If paying kids 500 bucks is a genuine increase in the student's performance... then isn't this more effective than hiring better teachers or even paying teacher's more?
When's the last time paying teacher's more money or another bureaucratic change resulted in a 40% increase in student performance?
Sounds to me like we can start cutting teacher salaries.
I know that's not the conclusion many want to draw from such a study... yet give it a ponder.
It is precisely that attitude that causes these kinds of problems.
It is not just a counter. It might start off that way. Then someone wants to centralize the counting for all the machines.
Someone wants centralized report generation. Someone wants the data encrypted or stored in a certain format.
Then you throw in networking, threading, database... issues and it can very easily turn a simple 'counting' problem into something much more difficult.
I do so love people like yourself.
All the services you list are very basic services with fairly minimal cost. Heck you could probably fund them all just with the sales taxes the states currently charge.
You ignore the biggest cost elements and the elements most people complain a bout which could (and are in many countries) provided on a pay-per-use basis.
Healthcare
Education
retirment benefits...
Police services wouldn't cost nearly as much without the drug war. ...
The military wouldn't cost so much if it wasn't running around the world.
I think the real issue is there is no 'routine' aspect to software.
Most other domains of Engineering have a very defined field and set rules. There are also very standard way of doing things. Simulators have been built...
I would argue that anytime some *new* device in another field of engineering is done, it suffers from the same 'flaws' as software. I can't speak for too many other fields, but I can speak for electrical engineering. Any new kind of hardware follows the same kind of iterative, simulate, debug... aspect as software. Fortunately, for hardware it needs to accomplish its set goal and people recognize the costs involved... and it somehow managed to escape the anyone can code mentality.
Now software, we must understand is be definition new. ANY repetitive work is done by the tools (compiler, linker...). In Civil Engineering, you still need the civil engineer to oversee the building of the structure. To make sure the workers do things correctly... this is all very routine work. Often there are standard blue prints already done and the civil engineer just makes some small tweaks and then has to oversee the project. Just follow the damn process. In software, we are so fortunate, that our builders (compiler, linker...) work amazingly well. They never make a mistake and can repeat their work as often as possible.
Once built, software can be deployed a million times over without fail. Not so for civil engineers who must pursue the same rigor each time a building is built.
Heck in software, we like to make one deployment so flexible by these amazing things called 'options'. everything is a bloody option and configurable. Again, unlike many other forms of engineering where the regularity and standard process dictates how things are done.
We must understand this key difference. Because of the nature of software, *some* people have made the mistake of trying to superimpose other disciplines onto software.
There are those who would say that software is design and implementation.
First you design it, like the civil engineer designs the building.
Then you implement it, like the workers build the building.
I cringe whenever I hear a similar analogy. Yes, there is some 'abstract' notion of design away from a specific language, but expressing that design in a particular language is still design.
The civil engineer who uses autocad or whatever to design their building is expressing his design in that format.
The software engineer is just expressing his design in C++/Java...
THERE IS NO IMPLEMENTATION WORK IN SOFTWARE.
Everything is design. Just high level design and low level design.
Sadly, some people continue to try and draw parallels with factory or civil engineering work. They claim there is some design that can be done, and then a bunch of code monkeys (construction workers) assemble and build the software. It's so wrong on so many levels, I'll repeat it again. The compiler and linker assemble and build the software. Every code monkey is doing design.
For sure, I think we will get *some* formalization of the process as certain practices become more standard. Our tools will most certainly become better and better (issue trackers, source control...). Yet at the end, the code still needs to be designed. There is no escaping the need for good software engineers.
Just like there is no escaping the need for good civil engineers if you every try and do something out of the ordinary.
I could write more about formal testing and the like, but I'll leave this point as is.