Free State Project Forum

Please login or register.

Login with username, password and session length
Pages: [1]   Go Down

Author Topic: computer science  (Read 5848 times)

maybesomeday

  • **
  • Offline Offline
  • Posts: 57
computer science
« on: January 05, 2010, 06:02:45 pm »

I took a class fall semester that was an introduction to computer science.  The only language that was taught was Java.  Before the class, I had never programmed before, but I really enjoyed the class and did fairly well in it.  What language is the most important for employment?  Does it vary by region, type of employment, or in another way?  Would one be especially helpful if I pursue employment in NH in the future?
Logged

rossby

  • Director of Development
  • Global Moderator
  • *****
  • Offline Offline
  • Posts: 4801
Re: computer science
« Reply #1 on: January 05, 2010, 06:12:57 pm »

What language is the most important for employment?

It depends what you're doing (and who you're doing it for). C/C++ (and its variants) are probably still the most widely used languages in enterprise environments. That said, a good programmer can pick up a new programming language in a few weeks (or days). If that's the route you're going, learn everything you can.
Logged

TroilusGreen

  • *
  • Offline Offline
  • Posts: 43
Re: computer science
« Reply #2 on: January 05, 2010, 06:29:20 pm »

As a senior CS major with a couple of years of work experience in business environments, I can vouch for what BD has said.  I'll add that although the vogue language changes from time to time, a solid understanding of the basics (C/C++, Java, and perhaps Perl, VB, or PHP) will get you pretty far.

It seems to me, though, that the platform is currently far more important in terms of job description than the language itself.  I know a million and one languages, but many jobs are out of my reach because I've always done Linux development rather than Visual C++ stuff.

My advice is: learn to use .NET and Java.  There are an abundance of .NET/Java jobs out there.
Logged

maybesomeday

  • **
  • Offline Offline
  • Posts: 57
Re: computer science
« Reply #3 on: January 05, 2010, 06:31:46 pm »

As a senior CS major with a couple of years of work experience in business environments, I can vouch for what BD has said.  I'll add that although the vogue language changes from time to time, a solid understanding of the basics (C/C++, Java, and perhaps Perl, VB, or PHP) will get you pretty far.

It seems to me, though, that the platform is currently far more important in terms of job description than the language itself.  I know a million and one languages, but many jobs are out of my reach because I've always done Linux development rather than Visual C++ stuff.

My advice is: learn to use .NET and Java.  There are an abundance of .NET/Java jobs out there.

Thank you for the advice about the languages.  It will help me pick classes in the future.  Do you have any advice as far as finding internships/summer work? I doubt I'm qualified for much, but I'd at least like to try to find something.
Logged

rossby

  • Director of Development
  • Global Moderator
  • *****
  • Offline Offline
  • Posts: 4801
Re: computer science
« Reply #4 on: January 05, 2010, 06:40:43 pm »

a solid understanding of the basics

THAT. Anybody that can mash a keyboard can program at a basic level if they invest a small amount of time. It's much harder to do it well. (You'd be amazed at what comes out of some government contractors.) What one needs are solid problem-solving skills and the ability to reduce complex ideas into code. If you're still in school this might sound silly: take a course in technical writing. Interpersonal communication is indispensable on large projects. Learn best practices for documenting your work (most schools don't teach how to do this well). Take some sort of software engineering course; something where you have to write a specification.

Also, try a course in database design. Good stuff there.

As far as the job market goes, your specific knowledge of language X means relatively little. Jobs are often about who you know. Seriously. Be reliable and make contacts now.
« Last Edit: January 05, 2010, 06:56:13 pm by B.D. Ross »
Logged

Pat McCotter

  • Global Moderator
  • *****
  • Offline Offline
  • Posts: 866
Re: computer science
« Reply #5 on: January 06, 2010, 04:52:20 am »

a solid understanding of the basics

Learn best practices for documenting your work (most schools don't teach how to do this well).

Please heed this! As someone who had to wade through uncountable lines of code this is very important. It did keep me employed for  5 years, though. ;)
Logged
Visualize Whirled Peas

Give Pizza Chance

I think it's wrong that only one company makes the game Monopoly. - Steven Wright

Pat McCotter

  • Global Moderator
  • *****
  • Offline Offline
  • Posts: 866
Re: computer science
« Reply #6 on: January 06, 2010, 04:54:33 am »

Also, programming is not just in office applications. If you have an engineering bent, industrial automation is a big wide world of computing that many people neglect.
Logged
Visualize Whirled Peas

Give Pizza Chance

I think it's wrong that only one company makes the game Monopoly. - Steven Wright

Pat McCotter

  • Global Moderator
  • *****
  • Offline Offline
  • Posts: 866
Re: computer science
« Reply #7 on: January 06, 2010, 05:05:06 pm »

Also, programming is not just in office applications. If you have an engineering bent, industrial automation is a big wide world of computing that many people neglect.

Automation Profession Faces Transition into Complexity and Opportunity
January 2010 (p.12)
Written by Marty Weil

The state of the automation profession follows directly from its genealogy and environment.
It is in transition, unsettled by current events and its own successes. Automation draws together multiple threads of knowledge with little regard for traditional domain boundaries: machine design from mechanical engineering, control theory from electrical engineering, software from computer science, and methods for design and integration from systems engineering.

This synthesis that comprises automation evolved in an unprecedented, cooperative effort on the part of government, industry and academia to build control systems for the aerospace projects of the 1960s and 1970s. Then industry rapidly adopted automation in petroleum refineries, chemical plants, paper mills, water treatment facilities and the like. Automation systems soon became an essential—and largely invisible—part of society’s industrial infrastructure.

But with principles expressed in terms of the calculus or Fourier transforms and practices learned empirically in specialized environments, a coherent treatment of automation was never adequately incorporated into high school, technical school and undergraduate university curricula. The broad foundations necessary for continuity were not developed. And now, the people who developed the conceptual synthesis, as well as those who kept the systems operational, are retiring or have already done so.

Ten Years Out

“We’re experiencing a major resource crunch in the process industries at just about every level: operators, mechanics and engineers,” says Larry O’Brien, research director at ARC Advisory Group Inc. (www.arcweb.com), in Dedham, Mass. “I work with the major automation vendors every day, and this is a real problem. We’re looking to the colleges and technical schools for qualified people, but they’re hard to come by.”

At the same time, new automation systems are becoming more complex, particularly from the perspective of the shop floor. “In the last decade, we’ve seen technical advancements that greatly increase the amount of available information,” says O’Brien. This information isn’t always easy to use productively: “The way things are now, process operators spend too much time responding to alarms in the plant and don’t have enough time to work on making the process better.”

The trend to more sophisticated automation systems seems inevitable, and desirable. Such systems are the necessary response to obsolescence and will open new doors. The U.S. Food and Drug Administration Process Analytical Technology (PAT) initiative is only one example of the demand for automation systems that can deliver fine-grained control with solid reliability. The challenge is to create systems that are true allies. “The key to getting the most from technology is focusing on its business value, not on technology alone,” says O’Brien. “That’s where you need to consider the people.”

Professor Raffaello D’Andrea has worked in industry and currently does research in adaptive systems at ETH Zurich (Swiss Federal Institute of Technology). “We now have systems that offer high performance, but are becoming complex,” says D’Andrea. “They can perform very well under certain conditions, but when conditions change, their performance can degrade rapidly. We need, and are developing, adaptive systems that learn. The longer they run, the better they get. But if people don’t know how to handle these systems properly, they will not deliver the promised performance.”

D’Andrea adds: “People who know how to build, deploy and operate these systems will be in high demand. Automation professionals need to be ‘T’ individuals: deeply knowledgeable in a particular technical specialty and educated broadly enough to communicate with other specialists. This is another way to say, ‘systems engineering.’  Automation systems are complicated, complex, high‑performing and challenging. We need people who can manage that complexity.”
Logged
Visualize Whirled Peas

Give Pizza Chance

I think it's wrong that only one company makes the game Monopoly. - Steven Wright

rossby

  • Director of Development
  • Global Moderator
  • *****
  • Offline Offline
  • Posts: 4801
Re: computer science
« Reply #8 on: January 06, 2010, 05:28:15 pm »

Also, programming is not just in office applications. If you have an engineering bent, industrial automation is a big wide world of computing that many people neglect.

Embedded systems.  ... I'd actually like to get something in that field going up 'thar.
Logged

maybesomeday

  • **
  • Offline Offline
  • Posts: 57
Re: computer science
« Reply #9 on: January 06, 2010, 06:40:47 pm »

Thank you for the advice and information. 
Logged
Pages: [1]   Go Up
 

anything