|By Yakov Fain||
|February 27, 2005 12:00 AM EST||
JDJ Editorial Board member Yakov Fain writes: One of my resolutions this year is to start teaching part-time Java-related classes in some college. That's why I started browsing the computer science course lists that are being offered this year. While graduate-level programs offer many interesting courses, the situation is different in the undergrad world.
Some schools keep teaching how to multiply matrices in Ada or work with algebraic expressions in Prolog. Half of the courses are preparing professionals who will be operating on another planet. Information systems programs look a little more down to earth. Meanwhile, many college graduates are having a hard time finding their first jobs because many entry-level programmers jobs are being outsourced overseas, and it'll stay this way as long as it makes financial sense for businesses. Unfortunately, student loans have not been outsourced...
A catch-22 situation with experience makes things even worse: we can't hire you because you don't have the industry experience. How can I get this experience if no one hires me? Some people try to find volunteer programming work to get a foot in the IT door. Some graduates join open source projects, and some job applicants just lie on their résumés.
I have a plan: instead of outsourcing projects to developing countries, businesses should offer them to the local colleges. I'm not talking about simple pilot or proof-of-concept projects; I mean the real ones. This plan requires commitment and the cooperation of academia and businesses. These are some thoughts that come to mind:
- Colleges have to include more classes on software engineering and modern technologies in the undergraduate programs. Here are some of the candidates: Application Servers, Service-Oriented Architecture, Design and Development of J2EE Applications, Applying Design Patterns, Data Modeling, Business Intelligence, and UML.
- Colleges form teams of programmers starting from the students' junior year. Faculty members lead these teams. Information about these teams (résumés, previous projects, GPAs) has to be published on the Internet and be publicly available, and businesses need to publish their project descriptions so student teams can bid on these projects.
- Colleges make their labs, networks, and support personnel available for the teams. If needed, businesses can lease additional hardware to the college for the duration of the project.
- Most of the students study Java programming during their freshman and sophomore years. Many Java components are available for free or through open source licenses: IDE, version control systems, project build tools, bug reporting systems, application servers, etc. Businesses will purchase any additional required software for a fraction of the cost using heavily discounted academic prices.
- Business managers pick and interview teams for their projects based on the college reputation, available skill sets, location, and other criteria.
- Business lawyers prepare a contract with a selected team that defines the obligations of each party, deliverables, cost of development, and potential penalties.
- The turnover rate is usually high on the projects that are outsourced to developing countries, which won't be the case with student teams. On the other hand, there is a risk of not having developers during midterms and final exams. However, since the exam schedules are known in advance, the "freeze time" can be planned accordingly.
- Most of the business managers dealing with developers from other countries complain that cultural differences are a huge problem. Guess what? This won't be a problem if you outsource the project to students who live in the same country and speak your language.
- Even though students will get a minimum salary for this work, they should also earn academic credits and get graded while working on such projects.
There is one more secret key to the success of commercial projects developed by students: pizza! Each day the client company can send a couple of pies (half plain and half pepperoni) to the labs where the students work. They are going to work for food...and experience. It's a win-win situation for everybody.
|Robert Dobbs 07/09/08 11:15:17 AM EDT|
Timothy, this video will get you started in the right direction:
|Timothy Oduro Yeboah 07/09/08 06:27:46 AM EDT|
Hi please can u kindly tell me everything about Sun Java...or programmer's...who are they and what work to one get after studying sun java..his opportunity and many more things that one can get in studying sun java and many more ok and am from Ghana and am interested in this course and am 20 years old .Thanks for reading and hoping to hear from you soon for i will like to friend you as well after i have know them so that u will be teaching me more things about that....have a nice day.
|Ken Collins 03/22/05 09:31:08 PM EST|
Yakov: Thank you for the feedback. Everything you say makes perfect sense in times when there are plenty of jobs
Ken: Why should students pay $25k/year to work for $10/hour (or free) for major corporations? Students should study and companies should hire actual employees. The only time most people will ever get face time with a PHD in their field is when they're in school. They should use it wisely instead of dinking around with the kind of gruntwork that can be successfully farmed out to someone with no experience.
I graduated in '94, so I know what it's like to come out in an industry downcycle. Yourdon published "The Decline and Fall of the American Programmer" in '93. My first job after college was programming perl for $10/hour.
Yakov: At the same time people in India spend 3-4 months
Ken: The only reason the shops in India are beating us up is because they charge $10/hour. The Indian programmers I've worked with here show the same varying degree of abilities as US programmers.
I just don't think farming to students here is any better. It continues to degrade the profession with a race to the bottom, it doesn't result in any more entry level jobs, and it would actually probably lower the quality of graduates, since they'd be preoccupied with entry-level tasks rather than senior-year coursework. That's when I took my most
Yakov: You are saying that you should have taken a Unix class instead of having summer jobs? Sure...as long as you had the money to pay for this course.
Ken: My university didn't offer it at any price.
Yakov: You do not like managing students? What about managing a group of young developers in Bangalore when success of your project (and your career depend) on them?
Ken: I'm an absolute opponent of outsourcing, and I've never heard an outsourcing success story firsthand. My company is currently rewriting the one piece of code it outsourced to India over my opposition.
The only suggestion I have is to level the playing field and get rid of the H1B visa. There are over 100,000 H1Bs in the country on a continuing basis, supposedly to address the worker shortage of the .com years. From my experience, H1Bs are hired specifically to fill entry-level positions
Yakov: Well, this article is my attempt to start yet another discussion on outsourcing...
Keep going. The industry needs as much attention on it as possible.
Yakov: Thank you for responding to my article. I really
Ken: No problem. Thanks for your efforts.
|Yakov 03/22/05 09:13:27 PM EST|
Thank you for the feedback. Everything you say makes
Well, this article is my attempt to start yet another
Thank you for responding to my article. I really
|Ken Collins 03/22/05 09:10:10 PM EST|
I read your article in the February edition of JDJ, and I can't agree
I worked while I was a student both full-time as a summer intern and
When I was in college, I would have benefitted greatly from smaller
As far as knowing the latest languages and tools goes, I spent most of
And, I'm not suggesting that all industry-directed student efforts are
|Shiva 03/01/05 02:50:53 AM EST|
This is a very interesting line of thought though I'm not sure if this will work. Bulk of the outsourcing is done on maintenance and enhancement projects and not fresh from-the-scratch development projects. A maintenance & enhancement project will never draw attention from any students for the sheer lack of creativity and a need for knowledge in the vertical.
It is best to start off with pilot projects and rapid prototyping requirements and based on this experience further outsourcing to universities can be undertaken. Just a thought!
|Insourcing 03/01/05 02:46:51 AM EST|
### ( have a plan: instead of outsourcing projects to developing countries, businesses should offer them to the local colleges ###
Go, Yakov!! This is a fine proposal. Thank you JDJ.
|Cheesy software development 03/01/05 02:26:17 AM EST|
half plain and half pepperoni!? Hey, what you got against good old-fashioned cheese??
|thanks Yakov! 02/19/05 07:26:38 AM EST|
Good to see the true value of pizza in computing recognized here! :)
|Kevin Shockey 02/18/05 06:18:23 AM EST|
I'm currently in charge of a project very similar to what was proposed in this article. The SNAP Development Center employs computer science and engineering students from the Interamerican University of Puerto Rico. Our objectives are to improve the quality and quantity of the graduates from these programs.
Our project, however, was funded by the Puerto Rico government. Briefly we have created an open source project to develop and market a completely oepn source relacement for the Sun JDK. The SNAP Platform also integrates popular open source development tools such as Eclipse, Tomcat, and SwingWT.
We are a year into the project and results have been mixed. Although we found a few students up to the challenge, in general there is a big difference working with students and working with a full-time software development team. My observations of the students indicate:
- They require more supervision
One of the objectives we are trying to bring to these programs is real world experience. However, we have the benefit of a full-time software engineer. Without his leadership, we probably wouldn't have achieved the technical succes we have.
In thoery this is a great idea, in practice I'm not sure many companies would be patient enough to wait for results. What my experience has shown is that it will take longer for such a program to produce results due to the observations above and the relatively high turn-over (either from the students dropping out or changing classes). In my opinion, every university should have an open source project that they maintain. It gives the students experience, it reduces the risk, and it keeps the fun in the work.
|balaji 02/16/05 12:57:42 AM EST|
This article misses mentioning some important things:
1. Programs to multiply matrices are a very important concept to grasp. While I learned the concept in my 11th, there are many so-called s/w programmers who don't get the concept of nested loops.
2. Colleges absolutely must not introduce more courses in "software engineering and modern technologies in the undergraduate programs". Let us face it, most software is not really engineered. In my 10-year career I have been involved in only 2 such highly engineered projects. The rest have been built ad-hoc. And as for modern technologies, to pick up .Net or some such flash in the pan in the pan is not a big deal. To pick up fundamental programming concepts is much more difficult.
3. The problem with software development is not really development. It is support and maintenance. What support can one get from college students who have moved on to their next year and newer projects? What about students that have graduated?
|pv 02/14/05 12:22:55 PM EST|
I totally disagree. Colleges and Corporations are totally different culture wise. Students in colleges work on Assignments for a better grade. Employees in corporations work for better pay and promotions. I am fine with Govenrnment and Government agencies outsourcing their work to universities as they are using publicly funded University resources to do public work. Instead Companies can set up small student divisions for which they hire students who are still enrolled in the colleges and can assign them small projects and pay them reasonably. Last but no the least do not take away the Fun out of collge life!
|Rick Proctor 02/14/05 11:45:00 AM EST|
I agree. A quick scan of local colleges finds few undergrad courses in Java. I would love to have eager young college students working on some of my projects. It seems that US colleges have been slow to embrace Java. It's unfortunate. From my own experience writing Java articles, I get a lot more commments and questions from overseas developers than US developers.
|Ramón Jiménez 02/14/05 09:12:02 AM EST|
A comment regarding education. In my understanding, computer science programs are just fine if they are teaching students to multiply matrices in Ada or to solve algebraic problems in Prolog. Where else is a CS major expected to even know these technologies? The problem is not to re-formulate CS curricula, it's to create new programs. The BS in Software Engineering being offered by some universities recently is IMHO a correct step in that direction. We don't need as many CS majors anymore, but we still need some!
|Keith Blizard 02/14/05 07:42:42 AM EST|
First I think the article brings up a great point in our IT industry - ensuring that the students coming out of college are properly trained for the industry that they will be leading in the future. Having the ability to set up intern programs would not only strengthen the corporation by promoting itself for future hires, but also enable students the ability to understand how technology really is used in businesses today.
On the other hand, with the some of the comments - I TOTALLY disagree that it is more important to learn different technologies/syntax for students to be effective. For anyone who has developed for a long period of time, you need to learn a language ONCE thoroughly, and then picking up another one is just a matter of learning the syntax. It is MUCH more important that you can develop the understanding of objects, inheritance and good programming practice, and that takes time to do rather than the long list of available languages.
|Natan Cox 02/14/05 02:38:39 AM EST|
First I must say I'm not against real world experience. But... one of my courses at university was about the next best thing: CORBA, any body still using it?
SOA and all the latest fads still need to prove themselves. Let the students learn the real stuff: design, relational theory etc. Who cares whether this is done using ADA, Eiffel or one of the cooler languages at the moment, lets say Java or Python?
It is more important you learn lots of languages (even Prolog or Lisp), get to know them, learn what is good about them. Nobody has ever become a worse programmer from learning one extra language.
'Useless theory' gives you a frame of reference, even if you never use it after you graduate.
I work with a lot of young programmers, they had more 'real world' experience when they graduted. But they also lack a lot of the basics. It makes them inflexible, and not able to apply more 'generic' knowledge.
They basically lack the background to apply all the stuff they will learn in interesting courses such as: application servers, design patterns and that's quite sad, actually.
|Ruben Reusser 02/13/05 03:48:59 PM EST|
The University of Applied Scienes Biel/Switzerland takes a simmilar approach ( http://www.hti.bfh.ch/index.php?id=1&L=2 ). The bscs program is a four year program, 2 years classes, then one year mandatory internship and then again 1 year of classes. The program is geared towards providing the students the needed knowledge for the internship within the first two years and then refining the knowledge in the last year with additional subjects such as prolog, parallel computing, advanced computer graphics, etc
|Charles Neville 02/13/05 11:41:33 AM EST|
I'm a retired CS professor, so I have some practical experience with this sort of thing. Yakov Fain has put his finger on an important problem: How to give students real-world experience to enhance their educations and build their resumes. But there are some problems with his suggestions. I'm going to tell you how some colleges and universities deal with these by using INTERNSHIPS, WORK STUDY, or LIMITED development projects from industry:
Problem 1. Pizza is good, but it is not pay! Students and supervising faculty will work for little or no pay under his proposal. This is normally called exploitation or slave labor.
Solutions to Problem 1: (a) Carefully limit the scope of the project to what can reasonably done for academic credit in a class. This is one reason for the prevalence of pilot projects. (b) Have the students take an INTERNSHIP for, say, two courses worth of academic credit. The ACADEMIC aspects of the internship are supervised by a faculty member. His or her responsibility is to be sure the student does what he or she is supposed to in the company, and that the company only makes reasonable demands of the student. The faculty member also assigns the student a grade at the end. The company takes care of supervising the student's day to day work. (c) Have the student take a PAID INTERNSHIP (also called WORK STUDY) for, say, two courses worth of academic credit. This works like the unpaid intership solution, except that the student draws a salary reasonable for someone at his or her level of experience.
Problem 2: Publishing individual GPA's by name on the internet is a violation of federal law! A college could publish GPA's with no names attached, or an aggregate GPA. What colleges typically do now is have STUDENTS APPLY to companies for INTERNSHIPS or WORK STUDY. Students are free to provide or withhold their GPA's. (Of course, if they withhold their GPA's they don't get hired.)
Problem 3: What do you do with a typical class with four weak members out of 15 or 20? Everybody in the class has to have the opportunity to participate, even if they don't do well at the end. But the weak members will drag down the chances of the teams they join for getting contracts.
Solutions to problem 3: (a) LIMIT the scope of projects and have the instructor assign teams to individual projects. (b) Use INTERNSHIPS or WORK STUDY, and make it the student's individual responsibility to apply to companies and get hired before he or she can take the course.
Problem 4: Devoting substantial college resources, like labs, networks, and support personnel to the private gain of corporations is against the law for public universities and highly frowned on in private ones.
Solutions to problem 4: (a) LIMIT the scope of projects to what can reasonably be done for academic credit in a class. (b) Have the company provide monetary (overhead) grants to pay for the use of the equipment and the time of support personnel, or have them provide payment in kind through grants of equipment or services. (c) Use INTERNSHIPS or WORK STUDY so the work is done off campus using the company's facilities.
Problem 5: If a software provider gets wind of the fact that its software, purchased under an academic license, is being used for the private gain of a corporation, it will yank all the university's licenses, and maybe sue.
Solutions to Problem 5: LIMIT, INTERNSHIPS, WORK STUDY, as above.
|nathan lane 02/09/05 04:32:50 PM EST|
Well how about restricting outsourcing period!
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, will provide a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services ...
Mar. 28, 2017 07:00 PM EDT Reads: 4,435
In his session at @ThingsExpo, Eric Lachapelle, CEO of the Professional Evaluation and Certification Board (PECB), will provide an overview of various initiatives to certifiy the security of connected devices and future trends in ensuring public trust of IoT. Eric Lachapelle is the Chief Executive Officer of the Professional Evaluation and Certification Board (PECB), an international certification body. His role is to help companies and individuals to achieve professional, accredited and worldw...
Mar. 28, 2017 06:00 PM EDT Reads: 819
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...
Mar. 28, 2017 03:45 PM EDT Reads: 4,097
"delaPlex is a software development company. We do team-based outsourcing development," explained Mark Rivers, COO and Co-founder of delaPlex Software, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Mar. 28, 2017 03:00 PM EDT Reads: 9,615
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
Mar. 28, 2017 03:00 PM EDT Reads: 2,082
SYS-CON Events announced today that Technologic Systems Inc., an embedded systems solutions company, will exhibit at SYS-CON's @ThingsExpo, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Technologic Systems is an embedded systems company with headquarters in Fountain Hills, Arizona. They have been in business for 32 years, helping more than 8,000 OEM customers and building over a hundred COTS products that have never been discontinued. Technologic Systems’ pr...
Mar. 28, 2017 02:15 PM EDT Reads: 3,649
SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From ...
Mar. 28, 2017 02:15 PM EDT Reads: 2,174
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
Mar. 28, 2017 02:00 PM EDT Reads: 14,245
SYS-CON Events announced today that Loom Systems will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Founded in 2015, Loom Systems delivers an advanced AI solution to predict and prevent problems in the digital business. Loom stands alone in the industry as an AI analysis platform requiring no prior math knowledge from operators, leveraging the existing staff to succeed in the digital era. With offices in S...
Mar. 28, 2017 01:15 PM EDT Reads: 1,615
SYS-CON Events announced today that HTBase will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. HTBase (Gartner 2016 Cool Vendor) delivers a Composable IT infrastructure solution architected for agility and increased efficiency. It turns compute, storage, and fabric into fluid pools of resources that are easily composed and re-composed to meet each application’s needs. With HTBase, companies can quickly prov...
Mar. 28, 2017 12:45 PM EDT Reads: 3,133
SYS-CON Events announced today that T-Mobile will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on ...
Mar. 28, 2017 11:30 AM EDT Reads: 2,479
SYS-CON Events announced today that Cloud Academy will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud computing technologies. Ge...
Mar. 28, 2017 11:30 AM EDT Reads: 4,692
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buyers...
Mar. 28, 2017 11:00 AM EDT Reads: 3,720
SYS-CON Events announced today that Infranics will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Since 2000, Infranics has developed SysMaster Suite, which is required for the stable and efficient management of ICT infrastructure. The ICT management solution developed and provided by Infranics continues to add intelligence to the ICT infrastructure through the IMC (Infra Management Cycle) based on mathemat...
Mar. 28, 2017 10:45 AM EDT Reads: 3,307
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 20th Cloud Expo, which will take place on June 6-8, 2017 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 add...
Mar. 28, 2017 10:00 AM EDT Reads: 1,555
SYS-CON Events announced today that SD Times | BZ Media has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. BZ Media LLC is a high-tech media company that produces technical conferences and expositions, and publishes a magazine, newsletters and websites in the software development, SharePoint, mobile development and commercial UAV markets.
Mar. 28, 2017 09:45 AM EDT Reads: 4,451
SYS-CON Events announced today that Cloudistics, an on-premises cloud computing company, has been named “Bronze Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloudistics delivers a complete public cloud experience with composable on-premises infrastructures to medium and large enterprises. Its software-defined technology natively converges network, storage, compute, virtualization, and management into a ...
Mar. 28, 2017 09:45 AM EDT Reads: 2,254
Now that the world has connected “things,” we need to build these devices as truly intelligent in order to create instantaneous and precise results. This means you have to do as much of the processing at the point of entry as you can: at the edge. The killer use cases for IoT are becoming manifest through AI engines on edge devices. An autonomous car has this dual edge/cloud analytics model, producing precise, real-time results. In his session at @ThingsExpo, John Crupi, Vice President and Eng...
Mar. 28, 2017 09:15 AM EDT Reads: 4,088
There are 66 million network cameras capturing terabytes of data. How did factories in Japan improve physical security at the facilities and improve employee productivity? Edge Computing reduces possible kilobytes of data collected per second to only a few kilobytes of data transmitted to the public cloud every day. Data is aggregated and analyzed close to sensors so only intelligent results need to be transmitted to the cloud. Non-essential data is recycled to optimize storage.
Mar. 28, 2017 08:15 AM EDT Reads: 3,190
"I think that everyone recognizes that for IoT to really realize its full potential and value that it is about creating ecosystems and marketplaces and that no single vendor is able to support what is required," explained Esmeralda Swartz, VP, Marketing Enterprise and Cloud at Ericsson, in this SYS-CON.tv interview at @ThingsExpo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Mar. 28, 2017 08:00 AM EDT Reads: 4,459