I'm currently having an interesting discussion with an ex employer. I'll explain it in very generic terms.
We had a project going to develop a software product with another company. Said project was cancelled in the planning phase. I thought the idea was worthwhile and asked my company to pursue it without the other company. They said no, they weren't interested.
I go home and develop said software on my own machine with my own materials and my own time. I used no documentation, or code in this project (well there was no code, it was just in planning. I argue that the concept of this software is in the public domain since there are other companies that do this type of product).
I have since left the company and I am planning to launch said product soon. However, the company thinks that they have legal ownership of this product and may sue me. My lawyers are 95% certain the company won't win, but still it shows you how delicate IP issues can be.
I once saw a woman in a supermarket with her dirty, poorly clothed children buying food with govt food stamps. After the sale she put a case of beer and a couple of cartons of cigarettes on the counter and proceded to pay cash for them. Bet her kids would have liked new shoes instead.
A disturbingly high percentage of minority males are in prison. Another high percentage doesn't live to see age 21.
So yes, let's lift all restrictions off GROWN PEOPLE and let them do whatever they want. Because we've shown that people live so well on their own that we don't need rules.
Laws are designed to aid society. They are supposed to protect the SOCIAL good. This has nothing to do with religion EXCEPT that law and morality are closely tied to religion. Now ask yourself: Would society be better off without alcoholism, smoking, promiscuous sex, drug abuse, etc etc etc? Probably, but you don't have to be a bible thumper to think that way.
Um... a Pastor can preach on whatever they want in their church. Everyone who attends a church does it voluntarily, therefore separation of church and state does not apply.
Now if a church put up a billboard out front that said Vote for Blah, then they would be pushing a viewpoint on the general public which would be wrong.
I think hosted web solutions are going to be the best small software company niche to fill.
Alot of small businesss out there have software needs but can't / won't shell out > $10,000 for boxed software. Especially software that can be difficult to set up or requires someone with IT know-how to maintain and patch.
.NET and J2ee technology are starting to allow pretty robust applications to run on a thin client. Having hosted access to an application cuts out all the install/server/IT labor costs from the business.
With powerful servers being relatively inexpensive, as long as you don't have a huge number of transactions going on you can stuff quite a few customers on a single database server. All paying subscription fees and sharing the cost burden of having a robust application.
If you get companies accustomed to using your service, and they put time and effort into putting data into your service, it becomes expensive for them to walk away from you. (they have to reformat their data for a new system, research and buy a new system, retrain users)
In addition, once you get your application up and running, most of your deveopment time will just be spent improving functionality and adding some features here and there. (Being a subscription service new "upgrades" or "features" can be touted as free to the user as well, quite a selling point)
I actually have a web product nearly completed I've been building using this theory. I just need to find a good web graphics/javascript guy. *coughhintcough*
I actually work in a supercooled server room right now. It's frigid in here every day and the cooling systems are so loud that yeah... I have to go outside to use a phone.
Hope the economy improves so I can quit.
I originally started college in Computer Science/Engineering and ended up switching to Information Systems, which was in the college of business. Which track you enroll in really depends on your end goals as a developer. Two quick points:
1. I love business. All I ever wanted to do was work with accounting, finance, order management, etc. By moving to IS I got a hefty helping of how a business actually works. Because of this, unlike some of my CSE coworkers, I tend to have a VERY good relationship with the end users.
2. Low level stuff bores me. I have no desire to code an operating system or anything remotely like that. I love to step into my visual studio world, and make some nice data in data out applications that are easy and useful to my end users. My real joy does not come from rewriting a function x times until I shave 5 processor cycles, nor is it from doing some new sort of funky AI. I mean, kudos to all the more "hardcore" folks who like doing that stuff, but my joy comes from seeing a user happy with what I produce.
So that being said... I think that programming needs to be split into a few tracks:
There should be a track for what I would call a low level programmer, someone who does the very important coding of operating systems etc. We're talking assembler, circuit theory, pretty much what you'd get in a good engineering program.
A second track should be made for database / client server programmers. These guys would specialize in SQL, database design/theory, and c++/java.
The third track would be your web developers, once again I think SQL is a must and then toss in some.NET languages and some coldfusion.
The tracks should be open enough to let people pursue extras such as AI or any other deeper more technical coursework, or do what I did and fill the extra with business.
I'm a professional developer and at first I was pretty hostile towards the idea of jobs like mine being outsourced. I've come to some conclusions though about outsourcing in general:
-If you have a rock solid spec, outsourcing is fine. You get the best price for labor, everyone is happy. Sadly a rock solid spec is a mythical creature in my experience.
-"Real" programmers over time will do just fine. During the IT boom, remember all those ads by IT training companies saying "switch careers to a lucrative IT job!". Well, alot of people went and were trained to be programmers and got positions in the industry who really aren't good programmers.
Those of us who are good at what we do and like what we're doing are well aware that a certain "type" of person makes a good programmer. Anyone who got into the business because of salaries or the promise of a cushy job really doesn't belong here. Programming is a mixture of art and science, it takes creativity, a desire to explore and expand your boundries, and a logical mind. It's definately not a 9-5 job, you need to have a passion for it!
Outsourcing is the latest thing, there's going to be some casualties of good programming talent until the market stabalizes and companies figure out what does and doesn't work. In the meantime, we will see less people entering the field who shouldn't be here, and also many less experienced (and less "suitable") people changing careers out of IT. Toss in the demographic loss of the baby boomers starting to hit retirement age and you have the formula for solid demand for good programmers.
I'm currently having an interesting discussion with an ex employer. I'll explain it in very generic terms.
We had a project going to develop a software product with another company. Said project was cancelled in the planning phase. I thought the idea was worthwhile and asked my company to pursue it without the other company. They said no, they weren't interested.
I go home and develop said software on my own machine with my own materials and my own time. I used no documentation, or code in this project (well there was no code, it was just in planning. I argue that the concept of this software is in the public domain since there are other companies that do this type of product).
I have since left the company and I am planning to launch said product soon. However, the company thinks that they have legal ownership of this product and may sue me. My lawyers are 95% certain the company won't win, but still it shows you how delicate IP issues can be.
I once saw a woman in a supermarket with her dirty, poorly clothed children buying food with govt food stamps. After the sale she put a case of beer and a couple of cartons of cigarettes on the counter and proceded to pay cash for them. Bet her kids would have liked new shoes instead.
A disturbingly high percentage of minority males are in prison. Another high percentage doesn't live to see age 21.
So yes, let's lift all restrictions off GROWN PEOPLE and let them do whatever they want. Because we've shown that people live so well on their own that we don't need rules.
Laws are designed to aid society. They are supposed to protect the SOCIAL good. This has nothing to do with religion EXCEPT that law and morality are closely tied to religion. Now ask yourself: Would society be better off without alcoholism, smoking, promiscuous sex, drug abuse, etc etc etc? Probably, but you don't have to be a bible thumper to think that way.
Um... a Pastor can preach on whatever they want in their church. Everyone who attends a church does it voluntarily, therefore separation of church and state does not apply.
Now if a church put up a billboard out front that said Vote for Blah, then they would be pushing a viewpoint on the general public which would be wrong.
Alot of small businesss out there have software needs but can't / won't shell out > $10,000 for boxed software. Especially software that can be difficult to set up or requires someone with IT know-how to maintain and patch.
.NET and J2ee technology are starting to allow pretty robust applications to run on a thin client. Having hosted access to an application cuts out all the install/server/IT labor costs from the business.
With powerful servers being relatively inexpensive, as long as you don't have a huge number of transactions going on you can stuff quite a few customers on a single database server. All paying subscription fees and sharing the cost burden of having a robust application.
If you get companies accustomed to using your service, and they put time and effort into putting data into your service, it becomes expensive for them to walk away from you. (they have to reformat their data for a new system, research and buy a new system, retrain users)
In addition, once you get your application up and running, most of your deveopment time will just be spent improving functionality and adding some features here and there. (Being a subscription service new "upgrades" or "features" can be touted as free to the user as well, quite a selling point)
I actually have a web product nearly completed I've been building using this theory. I just need to find a good web graphics/javascript guy. *coughhintcough*
I actually work in a supercooled server room right now. It's frigid in here every day and the cooling systems are so loud that yeah... I have to go outside to use a phone. Hope the economy improves so I can quit.
I originally started college in Computer Science/Engineering and ended up switching to Information Systems, which was in the college of business. Which track you enroll in really depends on your end goals as a developer. Two quick points:
.NET languages and some coldfusion.
1. I love business. All I ever wanted to do was work with accounting, finance, order management, etc. By moving to IS I got a hefty helping of how a business actually works. Because of this, unlike some of my CSE coworkers, I tend to have a VERY good relationship with the end users.
2. Low level stuff bores me. I have no desire to code an operating system or anything remotely like that. I love to step into my visual studio world, and make some nice data in data out applications that are easy and useful to my end users. My real joy does not come from rewriting a function x times until I shave 5 processor cycles, nor is it from doing some new sort of funky AI. I mean, kudos to all the more "hardcore" folks who like doing that stuff, but my joy comes from seeing a user happy with what I produce.
So that being said... I think that programming needs to be split into a few tracks:
There should be a track for what I would call a low level programmer, someone who does the very important coding of operating systems etc. We're talking assembler, circuit theory, pretty much what you'd get in a good engineering program.
A second track should be made for database / client server programmers. These guys would specialize in SQL, database design/theory, and c++/java.
The third track would be your web developers, once again I think SQL is a must and then toss in some
The tracks should be open enough to let people pursue extras such as AI or any other deeper more technical coursework, or do what I did and fill the extra with business.
I'm a professional developer and at first I was pretty hostile towards the idea of jobs like mine being outsourced. I've come to some conclusions though about outsourcing in general:
-If you have a rock solid spec, outsourcing is fine. You get the best price for labor, everyone is happy. Sadly a rock solid spec is a mythical creature in my experience.
-"Real" programmers over time will do just fine. During the IT boom, remember all those ads by IT training companies saying "switch careers to a lucrative IT job!". Well, alot of people went and were trained to be programmers and got positions in the industry who really aren't good programmers.
Those of us who are good at what we do and like what we're doing are well aware that a certain "type" of person makes a good programmer. Anyone who got into the business because of salaries or the promise of a cushy job really doesn't belong here. Programming is a mixture of art and science, it takes creativity, a desire to explore and expand your boundries, and a logical mind. It's definately not a 9-5 job, you need to have a passion for it!
Outsourcing is the latest thing, there's going to be some casualties of good programming talent until the market stabalizes and companies figure out what does and doesn't work. In the meantime, we will see less people entering the field who shouldn't be here, and also many less experienced (and less "suitable") people changing careers out of IT. Toss in the demographic loss of the baby boomers starting to hit retirement age and you have the formula for solid demand for good programmers.