I agree. This to me sounds like someone putting the technology ahead of the humans.
I'd start out with a decent version control system and that's about it. I'd make that work first, and also concentrate on proper coding standards (comments etc etc) before ever worrying about the rest of the infrastructure.
The build system would be a close second. For Java I like Ant...I've been using it for years, and the company I work for right now uses it big time.
Configuration and documentation management would come third, and not too late either.
OK, it sounds like I am discounting requirements management and high level design and traceability - definitely not. But I think you can do this without resorting to systems. Just make sure that the business analysts are hardnosed SOBs that know requirements analysis inside and out. All you need from them are decent System/Software requirements specs that could be in ASCII for all I care.
Do your spec review. Make sure the senior programmers are on board and understand the requirements. Give them their bits and let them loose. Let them use UML if they like but don't demand it, and curb excessive use of it. If they want to use something else that's fine. Require traceability.
Review again. Intensively. All docs at this point are still ASCII/Word/XML/LaTeX/images - no fancy expensive systems are in play. None required, as far as I am concerned. Your best bet is people, not technology.
I, or other commentators here, could follow the entire lifecycle through - what's the point? The thng is, you don't need the technology - you can do very well with email and simple document formats. It comes down to human skills and training and doctrine.
Hey, all jokes aside, lawyers are here for a reason. The reason is, us humans don't get along with each other very well - we have disputes, and the resolution of those disputes has been codified. And lawyers specialize in understanding those codes.
Having said that, not everything we do requires a legal opinion. You know something? Not once, when I've gotten an employment contract, did I rush out to get a lawyer to read it for me. This may stun some of you, but IANAL, and I had the shocking balls to read and decipher my own contract. Imagine, the impudence! Me, a layman...reading a legal contract. Jesus, listening to this crew makes me think I should engage a lawyer every time I get hired.
I'll bet some of you characters get a lawyer every time you buy or sell a car. Hell, I'll bet you get a legal opinion when you take a leak.
Same goes for this situation. Ever heard of common sense? Getting a lawyer involved right at the start is not necessarily the way to go - the guy is being laid off, for Chrissakes. You think he has money to burn? And by the time he's done with the legal eagle, he's already forked out more in fees than his anticipated severance package.
It's actually possible to get some information on your own, without hiring Perry Mason, you know. The province I work in posts legislation on the Web - I can read the bills that pertain to my rights as an employee. Again, and this may stun some people here, although IANAL I have actually been arrogant enough to think that I can understand what the relevant legislation says.
It actually doesn't take a trained mouthpiece to do some independent research, and find out whether such a signed agreement is binding at all let alone whether or not certain conditions can be imposed in one. I am not saying follow all the way through by yourself - what I am saying is, it's possible to develop a feel for the situation on your own, or with the advice of non-lawyers whose opinions you trust. If you then believe you have a case, by all means take it to a lawyer.
You're absolutely frigging correct. This is not the place for legal advice. But the guy asked for advice. You Americans have this magical way of thinking that there is no advice except legal advice. Must be why there are more lawyers per capita in the USA than anywhere else in the United Federation of Planets.
And that entire concept is bullshit. I can work for whoever the hell I want to work for.
The other major point being, why should a person be expected to cripple their professional advancement by being forbidden to use knowledge that they have amassed?
This is a very American thing. I hate to say that the influence of it, like patents and copyrights and all the other stuff you guys are perpetrating down there, is starting to poison us elsewhere. Thanks a lot. Yeah, you're the home of the free, alright - my ass.
Funny you should bring up MADD, because when I was analyzing how I thought about the original point, I immediately thought of MADD, among other things.
I don't mind saying that while the cause of bringing pressure to bear on drunk drivers is worthy, I simply do not like the way MADD does it, and I do not like the zealotry, single-mindedness and lack of judgment that MADD members bring to their cause. Same goes for other special-interest groups - I don't like them and I don't like the people that compose them.
But I still think there is no evidence that women are any worse than men, or that mothers are any worse than single women. I think there's enough blame to go around - most of us are weak, greedy, selfish, and shortsighted. I include myself in that, to a degree - can't live in a swamp without getting some muck on yourself.
I don't know about "concerned moms" being a greater threat than other groups, let alone terrorists. It's a tempting thought - I've had a few disagreements over the years with mothers who think they are now super-parents.
Seriously, though, just as I am sure you can identify groups of women, including mothers, as being security-conscious to the degree that they would willingly surrender important freedoms, I am pretty sure there are groups of men who think exactly the same way.
You're quite right that terrorists are not the primary threat to our freedoms. We are. However, that process started decades ago, and had nothing to do with terrorism or computer games. It has a lot more to do with effective control of the masses by corporate interests and bureaucracy - we just happen to be very accepting of all the control measures.
I am 100 percent in agreement with the above points. Let me also add that these are guidelines that everyone who is involved in open source should observe religiously.
You can endanger an entire open-source project if you don't enforce an absolutely rigid separation between the open-source work and your real work. If you are subject to an idiot contract like what frequently obtains in the US, please, don't work on open source at all, not even at home - you're dangerous.
Don't work on your open source stuff on your work machine, even if it's on your own time and even if what your employer does is not even remotely related. Don't even engage in email discussions about it, not using a work account and/or from a company computer. This is point 2 above.
This sounds nuts but the post above is bang on the money. Many companies really do think they own you lock, stock and barrel, 24/7.
There are a hell of a lot of hypothetical software applications, that if someone came out with good instances of them, and users were properly trained and motivated to use them by the adopting company, that the bottom line for any company would be improved.
What are some examples? Issue tracking - there are some decent apps for this, but where things fall short is corporate training and support. But the idea is sound.
Finally figuring out a system by which corporate workers can effectively encrypt their email, something that is arguably pretty useful. I have never seen anyone provide proper support and the extra useability layer for any technology that already enables encryption of email - ergo, lousy adoption rates.
Knowledge management - this encompasses document management, collaboration, the issue tracking from above, etc etc. This is one major area of IT that us techies love to badmouth, but the fact is, it's the Holy Grail if someone ever does it well and makes it useable. So far it's been a joke but that doesn't mean it has to always be a joke. If anyone in IT lacks the imagination to understand how effective KM would really benefit companies, then they probably ought not be in IT in the first place.
We could go on and on...there are a lot of scenarios that are ill-served by IT today. And in some cases it's not the existence or absence of software, it's also training, support and corporate philosophy.
Here's the thing. What IT comes down to is, how do we effectively present the right information in the right form at the right time to the right person? Can anyone argue that that is a bad thing? I hope not. In which case, are we doing that right now? No we are not. Conclusion - there is plenty of room for IT right now, and there will be as long as people need information. And it has nothing to do with computers - that's just the technology of the moment for implementing IT. Once it used to be horseback couriers, clerks with rolls of parchment, signal flags, or quipus.
Thank you. Yours, and others' comments, at least reassure me that I am not the only guy who wondered why the hell a company needs to *grow* all the time in order to be successful. I tend to agree; maybe more companies should be private.
After all, consider the hypothetical example of a company that employs 20 people, and sells enough each year to break even, or slightly better, after operating and manufacturing expenses, salaries, loan repayments etc etc. Only in a twisted economic system would you consider this situation to be a bad thing. Oh, they can't be successful - they didn't grow! Who gives a shit - they kept their market happy, paid all their creditors and employees, and paid out some Christmas bonus money - what more do you need?
I guess that's why I am not on Wall Street - my views would be unpopular amongst all the parasites and leeches. After all, that institution could never survive if speculation bit the dust.
On a related note - anyone care to explain why the *economy* has to grow? I don't mean right now, where we are financially in trouble, but I mean in the abstract. To listen to economists and pundits you'd get the impression that every national economy has to grow, grow, grow all the time, or you're screwed. Why? Let's assume that the population is not blowing up anymore, and that we are happy with our per capita wealth - somebody explain to me why the economy needs to grow?
Oh wait, I guess I answered my own question - if the economy doesn't grow then the per capita wealth of the top 1% won't increase...
That statement right there is what separates one side from the other. If you can say that, and believe it, then clearly you have no expectations of privacy at all. The point of privacy is that we do have things to hide. Actually, "hide" is a loaded word; it might be better to say that we have things that we are not required to disclose.
You do understand, I hope, that I posed situations that were not necessarily the way things work right now. But I also think you're a bit naive: employers have the ability to get your criminal record, it's not just doctors who can access your medical records, and there already have been moves in the US to access your book-buying information.
It comes down to, how do you define privacy anyway? What are you, as an individual, concerned about keeping private?
Here's some possibly hypothetical cases, that may or may not be an issue in your area right now. Imagine your reaction to each:
You commit an indiscretion and contract an STD. It gets treatment, and you're clean again. Do you want every IT worker in the health system (doctor's office, hospitals, insurance companies) accessing this record? Maybe one of them knows your parents...
You have a conviction for assault on your record. It's 10 years old, you served a bit of time, and it's only because you had a substandard lawyer and no money that you got convicted at all. And in fact the actual offense consisted of a single punch after provocation (which original provocation went unwitnessed). Does every prospective employer need to know about this?
You are checking out certain material from the library, or buying certain books from the store...does law enforcement need to know what you're reading?
Systems are put in place to track purchases of alcohol and tobacco against the Number. Insurance companies have access to this information. And you are buying and pounding down way more booze than is good for you. But you never get in the car after drinking. You get refused driver's insurance, or the rate gets jacked up, because of "reasonable suspicion".
All the posts you have made to certain politics newsgroups get gathered and analyzed by the police, against your email address, which is then correlated to you by asking your ISP. And you've not been complementary about the government...you get paid a visit by the cops.
These are possible privacy issues. Some may not be concerns now, and may never be. But they could be. Anyone of us can think of many more possible cases. As the above poster said, it's partially a case of who is allowed to retrieve it. But it's also a question of what gets gathered.
It's also a question of what gets retrieved. I am not knee-jerk about keeping all personal info private, and I don't even mind information sharing and cross-referencing to a degree, but I _do_ want the information to be depersonalized most of the time. I mean, do you really need your employer's wife, who works at the Health department, finding out that you, by name, have undergone treatments for substance abuse? And she is only assigned to data entry tasks? Probably not.
A lot of times when people start hypothesizing like this, the typical reaction from some unimaginative or narrow-minded people is, "if you have nothing to hide then..." Well, that's a crock. Number one, everyone has something to hide - it just may not be a tracked datum at the moment. But it could be. And before you get so blase, think about relatives and friends for a moment - you think that all of them are also as squeaky clean as you are? When something like this affects a child of yours, or a friend, then it's a different story...
Mind you, this kind of thing has always been a problem. Modern technology has little to do with it...most places and most times people knew a heck of a lot about you. So in this respect, we (at least in North America in the year 2002) are operating with a bit of tunnel vision.
What does that mean: "Pharmaceutical companies develop more than 90% of the medicines that are approved by the FDA"?
This says nothing about what they develop, how useful they are, and it is also statistically unrelated to the statement that most publically funded drug research is given away to the pharmaceutical companies (assuming that is true, which is easy enough to verify).
Not disagreeing with you at all. I am just saying that you chose not to refute the actual statements in the article. Are they or are they not true?
It just so happens that I did serve 6 years in the USMC, and my parents did escape from Estonia in 1944. And it also happens that as a result of having closer exposure to communism than most on this board, I got a bit pissed.
But that's a troll? Try intrusion of reality. Sure, I understand, most people here wouldn't know real life it it bit them in the ass, nor have they served. So maybe mentioning those unpalatable facts is a troll.
I live in Nova Scotia, which has more property owned by private citizens than any other Canadian province, except for one. We also have one of the worst forest management problems. Take a guess as to why.
The typical property owner has 25 or 50 or 100 hectares of woodlot. The understandable decision is to clearcut, and in fact this is what happens. Where is the respect there? None for future generations, certainly.
Development: Private landowners collude in the conversion of a farm, or a stand of hardwood forest, or a marsh, to tract housing all the time.
I understand your argument. You're right -government-owned is not public-owned. No easy solutions to this one, I'm afraid.
I plead guilty to knee-jerking. The original poster was guilty of the same sin. I somehow doubt that he was thinking of the pure Marxist-Hegelian form of communism when he said "Communist". What I think he meant was "anti-American scumbag".
I read the original article,and generally agreed with it. I did that before running across this childish and offensive reference to communism.
The "freedom of the individual" concept really starts having problems when you've got 6 billion individuals on this planet. In fact we have never had such a beast as "freedom of the individual". Humans are a social species, and we will never remotely come close to having "freedom of the individual".
Americans are operating in a fantasy that they still have individual freedoms unsurpassed and unparallelled in the rest of the world. People, let me give you a clue - that utopian vision maybe, perhaps obtained in the Ozarks in the 1700's, or in the Oregon Territory in 1880, but it sure as hell doesn't obtain now, especially not after the Second World War. In fact, what it really comes down to is, a typical American has 15,312 regulations ruling their behaviour, and the typical Western European has 18,448. So we filter the DC and end up focusing on the difference, which is small. Americans have surrendered every important liberty. We have income tax deducted at source. We need lawyers to buy a house or property, establish a business, or take a piss. We get to vote for candidates nominated by parties who have nothing whatsoever in common with the population, so whatever our government is it sure as hel isn't democratic. We have as many rules and financial obligations imposed upon us as were ever imposed upon any feudal peasant (if you think I am exaggerating, try not paying your next car insurance installment. On a more facetious note, if you are in a gated community or one controlled by a homeowners' association, try not complying with their 165 rules for a while, and see what happens).
There is no private property, and as Scott McNealy famously (and accurately) said, there is no privacy - get over it. If Americans want individual freedom, then maybe the useful discussion would be about the ways and means to get it back - don't labour under the naive illusion that you have any right now.
I agree - the language we use is powerful. If we have no word for a concept, then we lack the concept.
Or the word we use is highly loaded, which is perhaps worse. I don't generally agree with the FSF (although, oddly enough, I'm glad they exist), but I find this philosophy discussion to be apt.
Hey buddy, speaking as an American citizen who served 6 years in the USMC, and whose parents both fled the Red Army when it re-invaded the Baltics in 1944, let me suggest that you don't know "communism" from your ignorant ass.
Voice objections to the premises of the article if you like, but don't presume to know what "communism" is, or what it did. A healthy percentage of my relatives who stayed behind did time in the Gulag, and some didn't come back, so do me a favour - keep your mouth shut or use a different comparison.
This is like comparing your view of some little issue to the Holocaust. Which is equally in bad taste, and has also been done.
Agreed. Some other posters seemed to think that it was immature and unprofessional to go into CYA mode. In a case like this it is not, IMO.
If these guys are so bad at coding I suspect that they do not in fact understand the design that well. And if they are so bad at one important aspect of software development then what reason to believe that they are better at anything else? After all, they advertised themselves as programmers, did they not?
Don't bother hiring anyone new, but don't use the deadweight either - that'll slow you down just as bad. Document the situation - clearly identify and archive the crap that these other people came up with, prepare an estimate for the project based on the fact that you can make a strong case that you are the only competent programmer on the project, and take it to your boss.
Regardless of the outcome, look for new work. If this company hired these people then they have serious problems.
We should have loyalty to our employers and to ourselves. But let's not get carried away with feeling that we have loyalty to co-workers who are incompetent. That smacks of unionism.
Some may think this is draconian. Bullshit. Incompetent people are leeches - if left in place they have a gift for making themselves look better while their overall drag on performance makes the performers look bad. The lightweights feel no loyalty to the people doing the work - why show any to them?
I tend to agree with the above. I haven't worked with lots of Chinese developers (born and raised in China, sometimes educated here, sometimes there) but let's say between 5 and 10.
Last year I participated in several rounds of developer interviews at a company I used to work for. We had a number of Chinese applicants, all immigrants. Two things stand out in my recollection of those interviews: none of the Chinese showed any desire to move on to managerial positions (the traditional "where do see yourself in 5 years?" question), and it was difficult to get them to mock-analyze a hypothetical software problem.
Small pool for statistical analysis, but I sure got the impression that it came down to "we'll be happy to do what you tell us to do".
I'd be hesitant to say much more about any differences. If I were to say that Chinese, IMO, are typically well-suited to be competent technicians rather than engineers (in _this_ field), programmers rather than fully-rounded developers, I'd be confronted with the fact that I have to say the same about a lot of the homegrown product, too.
I tend to agree. What really tends to enhance a career is concentration on application areas. And these areas can be pretty niche, surprisingly so.
Specializing in printing technologies is an example of what I mean. If you know what you're talking about in this area you won't lack for work, for example.
I am minded of a buddy of mine who I did some contract work for some time back, while I was also "leisured" in between "real" software jobs. I've known him for about 6 years...when I met him he was a specialist in programming hotel entertainment electronics. He still is, albeit now as a CTO for a small, pretty successful company. I suspect that 5 years down the road he will still be a specialist in software for hotel entertainment electronics.
Game designers and programmers, strange lot that they are, are another example. So are folks who specialize in version control systems. Etc etc. Any number of examples.
Just a thought. All I know is, once you hit about the ten year mark in your career, it's no longer enough to say that you're a quick study, and that you not only know programming but can also demonstrate substantial software engineering skills - the employers also want to see some serious domain knowledge. That's also your only edge over all the young pups, personal qualities aside.
I've been working as an employee of companies for the past five years. Before that I did contract work. Now, I have to admit, this was scientific programming, almost entirely on UNIX and VAX computers (and yes, the occasional early Linux PC), and I worked in Canada, so none of these issues ever came up. The nature of the systems, the nature of the problems, the nature of the people I was working for, and last but not least, the country I was working in, guaranteed that the term intellectual property never got used once.
That's really what I'm getting at, I guess. When I was doing my contract work there was really no perception that the work a contractor performed was any different, with respect to ownership, than that which a FT employee performed. It seemed eminently reasonable that the person or organisation that paid for the work would own the results of the work. Quite frankly it still seems eminently reasonable.
Apparently things have changed - a lot. And not for the better.
I fail to see how your approach protects you. Unless you are providing guaranteed support there is no option but to ensure that the customer has source, so that they can arrange for other parties to fix defects and improve the code. So the source visibility is there. If you are stating that you provide binaries only, OK, that's cool, but then you assume a support obligation, which is not so attractive, either.
All other things being equal your customer will want to be able to fix and improve the software. You have the ethical obligation to either remain in a support position (which you have stated is not an option) or to make sure that the customer can arrange for support themselves - this means they get well written, well-documented source.
As far as the customer is concerned it is absolutely irrelevant whether or not the code is open-source; indeed, I can hardly see how that would help them out.
If you want to support open-source try to use as much of it as you can in your solution for the customer's problem, and sell them on that. That actually helps them out, support-wise. Your idea, which creates a developer community of precisely zero around a special-purpose one-off codebase, helps no-one. It may not hurt, but it sure doesn't add to the equation.
As a complete aside, this entire discussion has been a complete eye-opener to me as to the different viewpoints that exist out there. Some peole sound like craftsmen, some people sound like artists and authors, some people sound like technicians, and some sound like professionals (engineers). Not saying that any of those viewpoints are wrong, but boy, do we ever have a disparity of perspectives when it comes to what we think we are.
You make it sound like this is an odd thing, that a customer that is contracting out a software job would want to own the work. Seeing as how this was the only model I ever encountered up until five years ago when I stopped doing contracts, either things have changed or you must be a programming god.
On a related note, you don't seriously believe that you have any software tricks and techniques that aren't also used by tens of thousands of other programmers, do you?
As a professional software developer very little of your value to an employer has anything whatsoever to do with tricks and techniques - that's the view of a technologist. What you should be selling is your ability to problem solve. It's the difference between being an engineer and a technician.
I volunteer as an online help guy for our local community net, Chebucto Community Net, which is based out of Halifax, Nova Scotia. As you can see from the About Us link the community net here has been around since 1993; that page is also a reasonable summary of what the operation is all about.
I have participated in some policy workshops, and although I am by no means a primary volunteer (too much other stuff to do) I can certainly assert that community nets like this are the only source of connectivity for low-income folks, are one of the few affordable sources of connectivity for many other community organizations, and are also frequently the only ISPs that seem to give a damn about accessibility.
Although I use cable myself (now) I still maintain a dialup account through CCN. It is interesting to note that they provide a full-featured PPP experience at a theoretical 56K for only CAN $100 per year. Contrast that to any other ISP locally, where your annual costs will be at least quadruple that.
They offer a reliable connection and the responsivity to help requests is good. What more can you ask for?
I've done my share of interviews, and first and foremost my concern is, what is this person like as a human being? Can they get along with people? Can they function as part of a team? Are they capable of research and independent thinking?
I think that a kid growing up these days is already in trouble when it comes to developing a lot of these skills. Video games, TV, and declining lack of funding for a variety of programmes, including physical education, are already stultifying the current generation, and computers in schools are another nail in the coffin.
The technical knowledge and experience aren't secondary but let's face it - as others have said a person can establish a solid basis in CS and programming in a couple of years. I don't even see a strong argument for wasting time in high-school teaching students about programming. Considering the math skills I see these days the time would be better spent teaching formulation of problems.
I'm old enough that I went through the school system and there were no computers. Hell, calculators were rare. First exposure was at university, if you were in CS or in hard sciences. But I am in the biz and have been for quite a while, with one break back in the late '80's. And trying to take changed circumstances into account I still cannot imagine how computer experience in grade school is of any benefit whatsover. I can certainly think of a number of ways in which it would detract.
I chose the subject line because for those of us who influence hiring it's maybe our responsibility to let parents know what counts and what doesn't count. If you have friends or siblings or acquaintances with kids, and the subject comes up, let them know what you really look for in an employee. If you know teachers, let them know also.
The outstanding qualities in a good programmer are imagination, willingness to think outside the box, and the ability to problem solve. I've worked with very good programmers who never saw a computer until after college - they have degrees in business, philosophy, English, math, etc etc. They developed these qualities by being forced to think.
The articles resonated with me. Perhaps it is a generational thing.
I agree. This to me sounds like someone putting the technology ahead of the humans.
I'd start out with a decent version control system and that's about it. I'd make that work first, and also concentrate on proper coding standards (comments etc etc) before ever worrying about the rest of the infrastructure.
The build system would be a close second. For Java I like Ant...I've been using it for years, and the company I work for right now uses it big time.
Configuration and documentation management would come third, and not too late either.
OK, it sounds like I am discounting requirements management and high level design and traceability - definitely not. But I think you can do this without resorting to systems. Just make sure that the business analysts are hardnosed SOBs that know requirements analysis inside and out. All you need from them are decent System/Software requirements specs that could be in ASCII for all I care.
Do your spec review. Make sure the senior programmers are on board and understand the requirements. Give them their bits and let them loose. Let them use UML if they like but don't demand it, and curb excessive use of it. If they want to use something else that's fine. Require traceability.
Review again. Intensively. All docs at this point are still ASCII/Word/XML/LaTeX/images - no fancy expensive systems are in play. None required, as far as I am concerned. Your best bet is people, not technology.
I, or other commentators here, could follow the entire lifecycle through - what's the point? The thng is, you don't need the technology - you can do very well with email and simple document formats. It comes down to human skills and training and doctrine.
Hey, all jokes aside, lawyers are here for a reason. The reason is, us humans don't get along with each other very well - we have disputes, and the resolution of those disputes has been codified. And lawyers specialize in understanding those codes.
Having said that, not everything we do requires a legal opinion. You know something? Not once, when I've gotten an employment contract, did I rush out to get a lawyer to read it for me. This may stun some of you, but IANAL, and I had the shocking balls to read and decipher my own contract. Imagine, the impudence! Me, a layman...reading a legal contract. Jesus, listening to this crew makes me think I should engage a lawyer every time I get hired.
I'll bet some of you characters get a lawyer every time you buy or sell a car. Hell, I'll bet you get a legal opinion when you take a leak.
Same goes for this situation. Ever heard of common sense? Getting a lawyer involved right at the start is not necessarily the way to go - the guy is being laid off, for Chrissakes. You think he has money to burn? And by the time he's done with the legal eagle, he's already forked out more in fees than his anticipated severance package.
It's actually possible to get some information on your own, without hiring Perry Mason, you know. The province I work in posts legislation on the Web - I can read the bills that pertain to my rights as an employee. Again, and this may stun some people here, although IANAL I have actually been arrogant enough to think that I can understand what the relevant legislation says.
It actually doesn't take a trained mouthpiece to do some independent research, and find out whether such a signed agreement is binding at all let alone whether or not certain conditions can be imposed in one. I am not saying follow all the way through by yourself - what I am saying is, it's possible to develop a feel for the situation on your own, or with the advice of non-lawyers whose opinions you trust. If you then believe you have a case, by all means take it to a lawyer.
You're absolutely frigging correct. This is not the place for legal advice. But the guy asked for advice. You Americans have this magical way of thinking that there is no advice except legal advice. Must be why there are more lawyers per capita in the USA than anywhere else in the United Federation of Planets.
And that entire concept is bullshit. I can work for whoever the hell I want to work for.
The other major point being, why should a person be expected to cripple their professional advancement by being forbidden to use knowledge that they have amassed?
This is a very American thing. I hate to say that the influence of it, like patents and copyrights and all the other stuff you guys are perpetrating down there, is starting to poison us elsewhere. Thanks a lot. Yeah, you're the home of the free, alright - my ass.
Funny you should bring up MADD, because when I was analyzing how I thought about the original point, I immediately thought of MADD, among other things.
I don't mind saying that while the cause of bringing pressure to bear on drunk drivers is worthy, I simply do not like the way MADD does it, and I do not like the zealotry, single-mindedness and lack of judgment that MADD members bring to their cause. Same goes for other special-interest groups - I don't like them and I don't like the people that compose them.
But I still think there is no evidence that women are any worse than men, or that mothers are any worse than single women. I think there's enough blame to go around - most of us are weak, greedy, selfish, and shortsighted. I include myself in that, to a degree - can't live in a swamp without getting some muck on yourself.
I don't know about "concerned moms" being a greater threat than other groups, let alone terrorists. It's a tempting thought - I've had a few disagreements over the years with mothers who think they are now super-parents.
Seriously, though, just as I am sure you can identify groups of women, including mothers, as being security-conscious to the degree that they would willingly surrender important freedoms, I am pretty sure there are groups of men who think exactly the same way.
You're quite right that terrorists are not the primary threat to our freedoms. We are. However, that process started decades ago, and had nothing to do with terrorism or computer games. It has a lot more to do with effective control of the masses by corporate interests and bureaucracy - we just happen to be very accepting of all the control measures.
I am 100 percent in agreement with the above points. Let me also add that these are guidelines that everyone who is involved in open source should observe religiously.
You can endanger an entire open-source project if you don't enforce an absolutely rigid separation between the open-source work and your real work. If you are subject to an idiot contract like what frequently obtains in the US, please, don't work on open source at all, not even at home - you're dangerous.
Don't work on your open source stuff on your work machine, even if it's on your own time and even if what your employer does is not even remotely related. Don't even engage in email discussions about it, not using a work account and/or from a company computer. This is point 2 above.
This sounds nuts but the post above is bang on the money. Many companies really do think they own you lock, stock and barrel, 24/7.
There are a hell of a lot of hypothetical software applications, that if someone came out with good instances of them, and users were properly trained and motivated to use them by the adopting company, that the bottom line for any company would be improved.
What are some examples? Issue tracking - there are some decent apps for this, but where things fall short is corporate training and support. But the idea is sound.
Finally figuring out a system by which corporate workers can effectively encrypt their email, something that is arguably pretty useful. I have never seen anyone provide proper support and the extra useability layer for any technology that already enables encryption of email - ergo, lousy adoption rates.
Knowledge management - this encompasses document management, collaboration, the issue tracking from above, etc etc. This is one major area of IT that us techies love to badmouth, but the fact is, it's the Holy Grail if someone ever does it well and makes it useable. So far it's been a joke but that doesn't mean it has to always be a joke. If anyone in IT lacks the imagination to understand how effective KM would really benefit companies, then they probably ought not be in IT in the first place.
We could go on and on...there are a lot of scenarios that are ill-served by IT today. And in some cases it's not the existence or absence of software, it's also training, support and corporate philosophy.
Here's the thing. What IT comes down to is, how do we effectively present the right information in the right form at the right time to the right person? Can anyone argue that that is a bad thing? I hope not. In which case, are we doing that right now? No we are not. Conclusion - there is plenty of room for IT right now, and there will be as long as people need information. And it has nothing to do with computers - that's just the technology of the moment for implementing IT. Once it used to be horseback couriers, clerks with rolls of parchment, signal flags, or quipus.
Thank you. Yours, and others' comments, at least reassure me that I am not the only guy who wondered why the hell a company needs to *grow* all the time in order to be successful. I tend to agree; maybe more companies should be private.
After all, consider the hypothetical example of a company that employs 20 people, and sells enough each year to break even, or slightly better, after operating and manufacturing expenses, salaries, loan repayments etc etc. Only in a twisted economic system would you consider this situation to be a bad thing. Oh, they can't be successful - they didn't grow! Who gives a shit - they kept their market happy, paid all their creditors and employees, and paid out some Christmas bonus money - what more do you need?
I guess that's why I am not on Wall Street - my views would be unpopular amongst all the parasites and leeches. After all, that institution could never survive if speculation bit the dust.
On a related note - anyone care to explain why the *economy* has to grow? I don't mean right now, where we are financially in trouble, but I mean in the abstract. To listen to economists and pundits you'd get the impression that every national economy has to grow, grow, grow all the time, or you're screwed. Why? Let's assume that the population is not blowing up anymore, and that we are happy with our per capita wealth - somebody explain to me why the economy needs to grow?
Oh wait, I guess I answered my own question - if the economy doesn't grow then the per capita wealth of the top 1% won't increase...
If you're honest, you have nothing to hide.
That statement right there is what separates one side from the other. If you can say that, and believe it, then clearly you have no expectations of privacy at all. The point of privacy is that we do have things to hide. Actually, "hide" is a loaded word; it might be better to say that we have things that we are not required to disclose.
You do understand, I hope, that I posed situations that were not necessarily the way things work right now. But I also think you're a bit naive: employers have the ability to get your criminal record, it's not just doctors who can access your medical records, and there already have been moves in the US to access your book-buying information.
It comes down to, how do you define privacy anyway? What are you, as an individual, concerned about keeping private?
Here's some possibly hypothetical cases, that may or may not be an issue in your area right now. Imagine your reaction to each:
These are possible privacy issues. Some may not be concerns now, and may never be. But they could be. Anyone of us can think of many more possible cases. As the above poster said, it's partially a case of who is allowed to retrieve it. But it's also a question of what gets gathered.
It's also a question of what gets retrieved. I am not knee-jerk about keeping all personal info private, and I don't even mind information sharing and cross-referencing to a degree, but I _do_ want the information to be depersonalized most of the time. I mean, do you really need your employer's wife, who works at the Health department, finding out that you, by name, have undergone treatments for substance abuse? And she is only assigned to data entry tasks? Probably not.
A lot of times when people start hypothesizing like this, the typical reaction from some unimaginative or narrow-minded people is, "if you have nothing to hide then..." Well, that's a crock. Number one, everyone has something to hide - it just may not be a tracked datum at the moment. But it could be. And before you get so blase, think about relatives and friends for a moment - you think that all of them are also as squeaky clean as you are? When something like this affects a child of yours, or a friend, then it's a different story...
Mind you, this kind of thing has always been a problem. Modern technology has little to do with it...most places and most times people knew a heck of a lot about you. So in this respect, we (at least in North America in the year 2002) are operating with a bit of tunnel vision.
What does that mean: "Pharmaceutical companies develop more than 90% of the medicines that are approved by the FDA"?
This says nothing about what they develop, how useful they are, and it is also statistically unrelated to the statement that most publically funded drug research is given away to the pharmaceutical companies (assuming that is true, which is easy enough to verify).
Not disagreeing with you at all. I am just saying that you chose not to refute the actual statements in the article. Are they or are they not true?
This got moderated as a troll? :-)
It just so happens that I did serve 6 years in the USMC, and my parents did escape from Estonia in 1944. And it also happens that as a result of having closer exposure to communism than most on this board, I got a bit pissed.
But that's a troll? Try intrusion of reality. Sure, I understand, most people here wouldn't know real life it it bit them in the ass, nor have they served. So maybe mentioning those unpalatable facts is a troll.
I beg to disagree. Examples:
I live in Nova Scotia, which has more property owned by private citizens than any other Canadian province, except for one. We also have one of the worst forest management problems. Take a guess as to why.
The typical property owner has 25 or 50 or 100 hectares of woodlot. The understandable decision is to clearcut, and in fact this is what happens. Where is the respect there? None for future generations, certainly.
Development: Private landowners collude in the conversion of a farm, or a stand of hardwood forest, or a marsh, to tract housing all the time.
I understand your argument. You're right -government-owned is not public-owned. No easy solutions to this one, I'm afraid.
I plead guilty to knee-jerking. The original poster was guilty of the same sin. I somehow doubt that he was thinking of the pure Marxist-Hegelian form of communism when he said "Communist". What I think he meant was "anti-American scumbag".
I read the original article,and generally agreed with it. I did that before running across this childish and offensive reference to communism.
The "freedom of the individual" concept really starts having problems when you've got 6 billion individuals on this planet. In fact we have never had such a beast as "freedom of the individual". Humans are a social species, and we will never remotely come close to having "freedom of the individual".
Americans are operating in a fantasy that they still have individual freedoms unsurpassed and unparallelled in the rest of the world. People, let me give you a clue - that utopian vision maybe, perhaps obtained in the Ozarks in the 1700's, or in the Oregon Territory in 1880, but it sure as hell doesn't obtain now, especially not after the Second World War. In fact, what it really comes down to is, a typical American has 15,312 regulations ruling their behaviour, and the typical Western European has 18,448. So we filter the DC and end up focusing on the difference, which is small. Americans have surrendered every important liberty. We have income tax deducted at source. We need lawyers to buy a house or property, establish a business, or take a piss. We get to vote for candidates nominated by parties who have nothing whatsoever in common with the population, so whatever our government is it sure as hel isn't democratic. We have as many rules and financial obligations imposed upon us as were ever imposed upon any feudal peasant (if you think I am exaggerating, try not paying your next car insurance installment. On a more facetious note, if you are in a gated community or one controlled by a homeowners' association, try not complying with their 165 rules for a while, and see what happens).
There is no private property, and as Scott McNealy famously (and accurately) said, there is no privacy - get over it. If Americans want individual freedom, then maybe the useful discussion would be about the ways and means to get it back - don't labour under the naive illusion that you have any right now.
I agree - the language we use is powerful. If we have no word for a concept, then we lack the concept.
Or the word we use is highly loaded, which is perhaps worse. I don't generally agree with the FSF (although, oddly enough, I'm glad they exist), but I find this philosophy discussion to be apt.
Hey buddy, speaking as an American citizen who served 6 years in the USMC, and whose parents both fled the Red Army when it re-invaded the Baltics in 1944, let me suggest that you don't know "communism" from your ignorant ass.
Voice objections to the premises of the article if you like, but don't presume to know what "communism" is, or what it did. A healthy percentage of my relatives who stayed behind did time in the Gulag, and some didn't come back, so do me a favour - keep your mouth shut or use a different comparison.
This is like comparing your view of some little issue to the Holocaust. Which is equally in bad taste, and has also been done.
Agreed. Some other posters seemed to think that it was immature and unprofessional to go into CYA mode. In a case like this it is not, IMO.
If these guys are so bad at coding I suspect that they do not in fact understand the design that well. And if they are so bad at one important aspect of software development then what reason to believe that they are better at anything else? After all, they advertised themselves as programmers, did they not?
Don't bother hiring anyone new, but don't use the deadweight either - that'll slow you down just as bad. Document the situation - clearly identify and archive the crap that these other people came up with, prepare an estimate for the project based on the fact that you can make a strong case that you are the only competent programmer on the project, and take it to your boss.
Regardless of the outcome, look for new work. If this company hired these people then they have serious problems.
We should have loyalty to our employers and to ourselves. But let's not get carried away with feeling that we have loyalty to co-workers who are incompetent. That smacks of unionism.
Some may think this is draconian. Bullshit. Incompetent people are leeches - if left in place they have a gift for making themselves look better while their overall drag on performance makes the performers look bad. The lightweights feel no loyalty to the people doing the work - why show any to them?
I tend to agree with the above. I haven't worked with lots of Chinese developers (born and raised in China, sometimes educated here, sometimes there) but let's say between 5 and 10.
Last year I participated in several rounds of developer interviews at a company I used to work for. We had a number of Chinese applicants, all immigrants. Two things stand out in my recollection of those interviews: none of the Chinese showed any desire to move on to managerial positions (the traditional "where do see yourself in 5 years?" question), and it was difficult to get them to mock-analyze a hypothetical software problem.
Small pool for statistical analysis, but I sure got the impression that it came down to "we'll be happy to do what you tell us to do".
I'd be hesitant to say much more about any differences. If I were to say that Chinese, IMO, are typically well-suited to be competent technicians rather than engineers (in _this_ field), programmers rather than fully-rounded developers, I'd be confronted with the fact that I have to say the same about a lot of the homegrown product, too.
I tend to agree. What really tends to enhance a career is concentration on application areas. And these areas can be pretty niche, surprisingly so.
Specializing in printing technologies is an example of what I mean. If you know what you're talking about in this area you won't lack for work, for example.
I am minded of a buddy of mine who I did some contract work for some time back, while I was also "leisured" in between "real" software jobs. I've known him for about 6 years...when I met him he was a specialist in programming hotel entertainment electronics. He still is, albeit now as a CTO for a small, pretty successful company. I suspect that 5 years down the road he will still be a specialist in software for hotel entertainment electronics.
Game designers and programmers, strange lot that they are, are another example. So are folks who specialize in version control systems. Etc etc. Any number of examples.
Just a thought. All I know is, once you hit about the ten year mark in your career, it's no longer enough to say that you're a quick study, and that you not only know programming but can also demonstrate substantial software engineering skills - the employers also want to see some serious domain knowledge. That's also your only edge over all the young pups, personal qualities aside.
I've been working as an employee of companies for the past five years. Before that I did contract work. Now, I have to admit, this was scientific programming, almost entirely on UNIX and VAX computers (and yes, the occasional early Linux PC), and I worked in Canada, so none of these issues ever came up. The nature of the systems, the nature of the problems, the nature of the people I was working for, and last but not least, the country I was working in, guaranteed that the term intellectual property never got used once.
That's really what I'm getting at, I guess. When I was doing my contract work there was really no perception that the work a contractor performed was any different, with respect to ownership, than that which a FT employee performed. It seemed eminently reasonable that the person or organisation that paid for the work would own the results of the work. Quite frankly it still seems eminently reasonable.
Apparently things have changed - a lot. And not for the better.
I fail to see how your approach protects you. Unless you are providing guaranteed support there is no option but to ensure that the customer has source, so that they can arrange for other parties to fix defects and improve the code. So the source visibility is there. If you are stating that you provide binaries only, OK, that's cool, but then you assume a support obligation, which is not so attractive, either.
Am I missing something here?
All other things being equal your customer will want to be able to fix and improve the software. You have the ethical obligation to either remain in a support position (which you have stated is not an option) or to make sure that the customer can arrange for support themselves - this means they get well written, well-documented source.
As far as the customer is concerned it is absolutely irrelevant whether or not the code is open-source; indeed, I can hardly see how that would help them out.
If you want to support open-source try to use as much of it as you can in your solution for the customer's problem, and sell them on that. That actually helps them out, support-wise. Your idea, which creates a developer community of precisely zero around a special-purpose one-off codebase, helps no-one. It may not hurt, but it sure doesn't add to the equation.
As a complete aside, this entire discussion has been a complete eye-opener to me as to the different viewpoints that exist out there. Some peole sound like craftsmen, some people sound like artists and authors, some people sound like technicians, and some sound like professionals (engineers). Not saying that any of those viewpoints are wrong, but boy, do we ever have a disparity of perspectives when it comes to what we think we are.
You make it sound like this is an odd thing, that a customer that is contracting out a software job would want to own the work. Seeing as how this was the only model I ever encountered up until five years ago when I stopped doing contracts, either things have changed or you must be a programming god.
On a related note, you don't seriously believe that you have any software tricks and techniques that aren't also used by tens of thousands of other programmers, do you?
As a professional software developer very little of your value to an employer has anything whatsoever to do with tricks and techniques - that's the view of a technologist. What you should be selling is your ability to problem solve. It's the difference between being an engineer and a technician.
I volunteer as an online help guy for our local community net, Chebucto Community Net, which is based out of Halifax, Nova Scotia. As you can see from the About Us link the community net here has been around since 1993; that page is also a reasonable summary of what the operation is all about.
I have participated in some policy workshops, and although I am by no means a primary volunteer (too much other stuff to do) I can certainly assert that community nets like this are the only source of connectivity for low-income folks, are one of the few affordable sources of connectivity for many other community organizations, and are also frequently the only ISPs that seem to give a damn about accessibility.
Although I use cable myself (now) I still maintain a dialup account through CCN. It is interesting to note that they provide a full-featured PPP experience at a theoretical 56K for only CAN $100 per year. Contrast that to any other ISP locally, where your annual costs will be at least quadruple that.
They offer a reliable connection and the responsivity to help requests is good. What more can you ask for?
I've done my share of interviews, and first and foremost my concern is, what is this person like as a human being? Can they get along with people? Can they function as part of a team? Are they capable of research and independent thinking?
I think that a kid growing up these days is already in trouble when it comes to developing a lot of these skills. Video games, TV, and declining lack of funding for a variety of programmes, including physical education, are already stultifying the current generation, and computers in schools are another nail in the coffin.
The technical knowledge and experience aren't secondary but let's face it - as others have said a person can establish a solid basis in CS and programming in a couple of years. I don't even see a strong argument for wasting time in high-school teaching students about programming. Considering the math skills I see these days the time would be better spent teaching formulation of problems.
I'm old enough that I went through the school system and there were no computers. Hell, calculators were rare. First exposure was at university, if you were in CS or in hard sciences. But I am in the biz and have been for quite a while, with one break back in the late '80's. And trying to take changed circumstances into account I still cannot imagine how computer experience in grade school is of any benefit whatsover. I can certainly think of a number of ways in which it would detract.
I chose the subject line because for those of us who influence hiring it's maybe our responsibility to let parents know what counts and what doesn't count. If you have friends or siblings or acquaintances with kids, and the subject comes up, let them know what you really look for in an employee. If you know teachers, let them know also. The outstanding qualities in a good programmer are imagination, willingness to think outside the box, and the ability to problem solve. I've worked with very good programmers who never saw a computer until after college - they have degrees in business, philosophy, English, math, etc etc. They developed these qualities by being forced to think.
The articles resonated with me. Perhaps it is a generational thing.