473,763 Members | 7,541 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Advice to a Junior in High School?

Hello, everyone. I would appreciate any advice that someone could give me on
my future career path. Here is my situation:

I am a bright Junior in a very well-respected private high school, taking
almost all AP and accelerated classes. I am HIGHLY interested in technology,
more specifically the field of Computer Science and software engineering. I
have heard a whole lot about the fact that the market for software engineers
nowadays is *HORRIBLE*, and that I should double major or perhaps go into a
field of study in which I'm not very interested.

I would be devastated were I to find the need to leave computer science. I
love the subject, and I've wanted to be a computer scientist ever since I
was 12 years old.

Does anyone have any advice for me and my future? What should I study in
college? Will the market for jobs get better? Do I have any hope at all of
finding a decent-paying job in compsci? What languages do you suggest that I
study (I'm already studying Python)?

thank you very much for your help!

--shn
Jul 18 '05
75 6182
"Sean Ross" <sr***@connectm ail.carleton.ca > writes:
Okay. "..., or some other language that supports functional programming
style)" (which would include those mentioned, and many more besides). For
instance,

http://directory.google.com/Top/Comp...nctional/?tc=1
Aleph (1)
BETA (8)
Caml (2)
Clean (6)
Dylan (19) <
Erlang (313)
Haskell (48) <
Leda (5)
Lisp (378) <
Logo (46)
Lua (18)
Mercury (4)
Miranda (10)
ML (35)
Mozart (2)
Objective Caml (5) <
Pliant (16)
POP-11 (6)
REBOL (95)
Scheme (127)
Sisal (12)


They seem to have forgotten Python.
Jul 18 '05 #11

"Howard Nease" <hn****@midsout h.rr.com> wrote in message
news:Iv******** ********@clmboh 1-nws5.columbus.r r.com...
have heard a whole lot about the fact that the market for software engineers nowadays is *HORRIBLE*, and that I should double major or perhaps go into a field of study in which I'm not very interested.


The demand for software engineers has fluctuated up and down, in
various industries and regions, for decades. An article in the
current Business 2.0 on the 'coming labor shortage' points out that
you are part of the first generation in America to be numerically
smaller than your parents generation. In ten years, when boomers have
or are retiring, there will probably be a relatively shortage of tech
workers.

TJR
Jul 18 '05 #12
"Howard Nease" <hn****@midsout h.rr.com> wrote in message news:<Iv******* *********@clmbo h1-nws5.columbus.r r.com>...
Hello, everyone. I would appreciate any advice that someone could give me on
my future career path. Here is my situation:
.... Does anyone have any advice for me and my future? What should I study in
college? Will the market for jobs get better? Do I have any hope at all of
finding a decent-paying job in compsci? What languages do you suggest that I
study (I'm already studying Python)?


I would say that more important than learning any particular language
is learning the theoretical aspects of the job, including the math.
Languages change, the theory will benefit you all your life.

That said, I agree that you should learn and study a variety of
languages. Each carries with it a particular way of thinking about a
problem, and once you understand that way of thinking you can apply it
elsewhere.

As for a job in CompSci, I'd say if you were in it for a steady job,
doing the same sort of thing for years, getting good pay without too
much work, you're really in the wrong field. Amazingly, a lot of
people working today have that attitude. Many more are trying to
figure out where their jobs went.

You sound like someone with a real love for the field and a desire to
keep learning and improving yourself. If that's the case, you'll do
fine.
Jul 18 '05 #13
Howard Nease <hn****@midsout h.rr.com> wrote:
....
Does anyone have any advice for me and my future? What should I study in
college? Will the market for jobs get better? Do I have any hope at all of
finding a decent-paying job in compsci? What languages do you suggest that I
study (I'm already studying Python)?


I'd suggest C++, because it's complex and hideous, and you'll probably
be dealing with complex hideous things in the software industry--so
it's best to start early.
Jul 18 '05 #14
"Terry Reedy" <tj*****@udel.e du> writes:
"Howard Nease" <hn****@midsout h.rr.com> wrote in message
news:Iv******** ********@clmboh 1-nws5.columbus.r r.com...
have heard a whole lot about the fact that the market for software

engineers
nowadays is *HORRIBLE*, and that I should double major or perhaps go

into a
field of study in which I'm not very interested.


The demand for software engineers has fluctuated up and down, in
various industries and regions, for decades. An article in the
current Business 2.0 on the 'coming labor shortage' points out that
you are part of the first generation in America to be numerically
smaller than your parents generation. In ten years, when boomers have
or are retiring, there will probably be a relatively shortage of tech
workers.


Who knows? There are plenty of clever, hard-working people in India
who speak good English. It would be a good thing if more computing
jobs moved there, IMHO, and that certainly seems to be happening to an
extent already.

A lot depends on the location and degree of horror of world events, I
fear. Just to cheer you up ;-/
John
Jul 18 '05 #15
"Howard Nease" <hn****@midsout h.rr.com> wrote in message news:<Iv******* *********@clmbo h1-nws5.columbus.r r.com>...
I would be devastated were I to find the need to leave computer science.
I suppose we should just chalk that up to the angst of a 17 year old.
There is nothing magical, mystical, or more enlightening about
computer science compared with any other profession, vocation or
avocation. If you really would be "devastated " to not be a computer
scientist, I would recommend some counseling to address your
perceptions of your worth and value as a person.
I
love the subject, and I've wanted to be a computer scientist ever since I
was 12 years old.
I've changed professional aspirations at least a dozen times since I
was 12 years old. I've actually changed professions 6 times since I
was 12 years old.
Does anyone have any advice for me and my future?
Yes. Volunteer in your community, read to children, talk to your
grandparents and find out where you came from, visit art galleries,
learn to cook, be a good listener, support your local animal shelters,
always stop and buy lemonade from kids in the neighborhood, read one
really good book a year - start with Shakespeare or Mark Twain, learn
to dance, attend at least one ballet or symphony a year, take a nap at
least once a month, stretch before exercising, tip generously, travel,
spend less than you earn, and finally - understand that what you do
for a living does not define who you are as a person.
What should I study in
college?
You should learn to think and to learn in college.

Focus on problem decomposition - there are no interesting problems
that can be solved in one bite...everythi ng has to be broken down into
smaller pieces.

Study literature - I have yet to see a single computer scientist who
can manipulate symbols as well as Shakespeare.

Take a music appreciation class. The development of musical theory
and composition provides a good parallel for the understanding of
complex systems interactions. I have yet to meet a single computer
scientist who can manage complex systems architecture as well as
Beethoven.
Will the market for jobs get better? Do I have any hope at all of
finding a decent-paying job in compsci?
The market is going to be different than it is today. Better is a
judgment that I do not care to make. The advice I received was to get
a good education and increase your odds of remaining gainfully
employed. It was, and still is, good advice.
What languages do you suggest that I
study (I'm already studying Python)?


I'd suggest English. The ability to communicate effectively is
probably more important than any technical skill.

If you get tired of studying English, then you might try German. I
love the structure of the Germanic languages. If you live in the
southwest, perhaps Spanish would be a good language to study.

If you still insist that specific topics in computer science have any
more value than something else, I'd recommend the following:

- Pick a text editor. Learn it inside and out. Use it for
everything.
- Pick a unix shell. Learn it inside and out. Use it for everything.
- Use a source code control system for everything - no matter how
large or small the project.
- Use make for every project, no matter how small.
- Favor "standards" over proprietary tools.
- Learn to write web pages...using the standards!
- Learn C.
- Learn C++. Learn it both as an OO language, and as a proceedural
language.
- Learn one new language a year.
--Stan Graves
Jul 18 '05 #16
On Monday 25 August 2003 05:57 pm, Howard Nease wrote:
Hello, everyone. I would appreciate any advice that someone could give me
on my future career path. Here is my situation:

I am a bright Junior in a very well-respected private high school, taking
almost all AP and accelerated classes. I am HIGHLY interested in
technology, more specifically the field of Computer Science and software
engineering. I have heard a whole lot about the fact that the market for
software engineers nowadays is *HORRIBLE*, and that I should double major
or perhaps go into a field of study in which I'm not very interested.

I would be devastated were I to find the need to leave computer science. I
love the subject, and I've wanted to be a computer scientist ever since I
was 12 years old.

Does anyone have any advice for me and my future? What should I study in
college? Will the market for jobs get better? Do I have any hope at all of
finding a decent-paying job in compsci? What languages do you suggest that
I study (I'm already studying Python)?

thank you very much for your help!

--shn


As a junior in high school, rather than worrying so much about *what* to study
in college, I'd suggest carefully looking at *where* to study. A Bachelor of
Science in Computer Science from one school won't be the same as another --
try to think of what topics you're most interested in and find schools that
have professors who specialize in those fields. They'll end up helping you
decide what to study as you go, because they'll be able to see what your
interests (and talents) are. (Something that your words on a mailing-list
don't identify all that well!)

For now, keep all your grades up and start visiting colleges. Don't sweat the
other stuff just yet...the school you choose will have a program laid out,
and you'll choose electives within it, but it'll be pretty straightforward
and will give you an opportunity to explore and figure out if/what you want
to study in grad school.

Don't forget to enjoy the stuff you're learning, and don't sweat the job
market thing. If you have the ability and the love of CS, supporting yourself
will come along in ways you can never plan for. Just do what you love, and
you'll be amazed at what happens.

dave

--
d.w. harks <da**@psys.or g> http://dwblog.psys.org
Jul 18 '05 #17

"John J. Lee" <jj*@pobox.co m> wrote in message
news:87******** ****@pobox.com. ..
"Terry Reedy" <tj*****@udel.e du> writes:
The demand for software engineers has fluctuated up and down, in
various industries and regions, for decades. An article in the
current Business 2.0 on the 'coming labor shortage' points out that you are part of the first generation in America to be numerically
smaller than your parents generation. In ten years, when boomers have or are retiring, there will probably be a relatively shortage of tech workers.
Who knows? There are plenty of clever, hard-working people in India
who speak good English. It would be a good thing if more computing
jobs moved there, IMHO, and that certainly seems to be happening to

an extent already.


The same article pointed out that 1) much of the outsourcing is lower
level call-center jobs; 2) programmer salaries are already rising in
India because most of the good talent is already employed; 3) the
shortage anticipated is greater that the anticipated extra supply in
India, China, etc. Who know...

TJR
Jul 18 '05 #18
Stan Graves wrote:
[Lots of good advice snipped]


Wow, this is really good advice on becoming a decent human being! I
could not have put it as well or succinctly. This is much better advice
for someone finishing high school soon than on any specific technical
direction. It reminds me a bit of Robert Heinlein's quotation: "A human
being should be able to change a diaper, plan an invasion, butcher a
hog, design a building, conn a ship, write a sonnet, balance accounts,
build a wall, set a bone, comfort the dying, take orders, give orders,
cooperate, act alone, solve an equation, analyze a new problem, pitch
manure, program a computer, cook a tasty meal, fight efficiently, die
gallantly. Specialization is for insects".
http://www.everything2.com/index.pl?...0for%20insects

We live in a beautiful and mysterious world -- seemingly infinite in
time and space and meaning, perhaps with multiple nested levels beyond
our current understanding (individual or collective). Stan's advice
touches on how to come to grips with these deeper issues indirectly by
engaging deeply in the human experience through the ways he outlines
(volunteering, compassion, art, dance, music, frugality, etc.) to grow
some deep roots to rely on when branching out into a specialization like
computer science or Python internals.

One good resource in the area towards career understanding is Richard
Bolles "What Color is Your Parachute".
http://www.amazon.com/exec/obidos/tg...46217?v=glance
and his related books on Life/Work planning.

Still, I might add, from a technical side, become aware of Moore's Law
if you want to try to predict where the computer field is going to go
over the course of your career. Computers have increased in computing
capacity for a constant cost on the order of close to one million times
over the last thirty or so years. In the next twenty years or so they
will probably again increase by a factor of about another million from
where they are now.
http://www.transhumanist.com/volume1/moravec.htm
Ever more sophisticated virtual reality simulations and robotics (e.g.
cars that drive themselves just for one application) will be just a few
of the sorts of possibilities this kind of computing power will enable,
as well as all sorts of things we can barely imagine now. Cars can even
drive themselves now using laptops, but they will be presumably even
safer and more capable then...
http://www.ri.cmu.edu/labs/lab_28.html
On Moore's Law and exponential growth see for example:
http://www.kurzweilai.net/articles/a...ml?printable=1
Moore's Law type growth is one reason sophisticated languages like
Python are now succesful (over using all C/C++ all the time) and may be
ever more succesful as time goes by. As a corollary, today's level of
desktop computing may well cost one-millionth of what it does in twenty
years, and so may be effectively free (well, a penny) and so may be
embedded everywhere (so studying embedded sytems might be useful, and
for example, learning the computer language Forth might be relevant).

Also, to elaborate on Stan's suggestion to study literature, read lots
of things (including, but not limited to, science fiction). For one
optimistic view of the future, see James P. Hogan's writings, especially
"Voyage from Yesteryear".
http://www.jamesphogan.com/books/voy...itlepage.shtml
I always return to that novel and his other writings as a way to regain
some hope for the future. And for a cyberpunkish vision, try "The
Diamond Age" by Neal Stephenson.
http://www.amazon.com/exec/obidos/tg...03318?v=glance
But don't skimp on other classics, from "The Machine Stops" to "The
Skills of Xanadu".

It's quite possible in twenty years that much of your work in computing
may be almost inseperable from nanotechnology matter replicator
programming (i.e. your programs might compile to the hardware).
Self-replicating space habitats made easy by related technological
advances in computing and materials fabrication may then well produce
trillions of Earth's worths of living space around our solar system.
http://www.luf.org/
Those sort of possibilities realizeable through dedication and
commitment of young people like yourself (as well as oldsters :-) make
all this current fighting over oil and water and land and weapons all
seem so childish and outmoded as a civilization... Hogan's vision of a
universe of plenty if we can just cooperate and show compassion and try
to avoid living in fear is a good one to embrace. Choices by millions of
people such as yourself will shape whether and how much and for whom the
future heads in this direction.

On the science front, read anything by Freeman Dyson (like "Disturbing
the Universe") because he is a very decent human being as well as
citizen-scientist. And of course, read more broadly than that --
biographies, "Harry Potter", history, and so on. Two useful historians
to read include:
"A People's History of the United States"
http://www.howardzinn.org/
and "Lies My Teacher Told Me: Everything Your American History Textbook
Got Wrong"
http://www.uvm.edu/~jloewen/
The concepts in these books may well shape the US political spectrum in
the next couple of decades, and our technosphere may well then be
reconstructed to reflect these changing social values. See also,
"Autonomous Technology: Technics-out-of-Control as a Theme in Political
Thought" as it grapples directly with this issue of technological
development reflecting social values (it's kind of dry, but some of his
other writings may be more accessible).
http://www.rpi.edu/~winner/
A computer language like Python (as opposed to C++) in a way reflects a
different mindset about accessability and changeability (see Guido's
"Computer Programming for Everybody")
http://www.python.org/doc/essays/ppt/acm-cp4e/
in the same way that local solar panels or home biomass fuel cells or
better home insulation alter the political power landscape as opposed to
large centralized nuclear or coal power plants or oil tankers. Always be
aware that the technological systems you build reflect your values. It's
kind of not a surprise to me that Python came from the Netherlands
(progressive social system) or Smalltalk from sort-of-hippies in
California :-) or GNU/Linux from Finland (well, OK, and RMS/GNU in
Boston post-MIT, which sort of wrecks that analogy :-).

And beware the PhD pyramid scheme. See a comment by the Vice Provost of
Caltech on the state of science jobs today as testimony to Congress:
http://www.house.gov/science/goodstein_04-01.htm
In short, Prof. Goodstein says because of this focus on the PhD in US
science, much US education and educators down to the high school level
are somewhat inadequate to the task of imparting useful skills for other
than those heading to do the most elite abstract research, unlike say
the technical education available in some of Europe.

An excerpt from that page: "The problem, to reiterate, is that science
education in America is designed to select a small group of elite
scientists. An unintended but inevitable side effect is that everyone
else is left out. As a consequence of that, 20,000 American high schools
lack a single qualified physics teacher, half the math classes in
American schools are taught by people who lack the qualifications to
teach them, and companies will increasingly find themselves without the
technical competence they need at all levels from the shop floor to the
executive suite. To solve this problem will take nothing less than a
reform of both education and society. We must have as our goal a nation
in which solid scientific education will form the basis of realistic
career opportunities at all levels, in industry, government and in
education itself, from kindergarten to graduate school. As long as we
train a tiny scientific elite that cares not at all about anyone else,
and everyone else wears ignorance of science and mathematics as a badge
of honor, we are putting our future as a nation and as a culture in deep
peril."

I'm not saying don't get a CS PhD someday down the road to realize a
dream of becoming a computer scientist if that is what you want
(although please understand the difference between a software developer
and a mathematician who studies algorithms and how that relates to the
courses you take and universities you choose to attend) -- just
understand what you are getting yourself into and how that PhD system
has distorted science and technical education in the US at present (and
that link above explains why in some detail).

Also, on the issue of volunteerism Stan raise, contributing early and
often to various open source / free software projects that are of
interest to you (such as contributing to Python) is a way to both gain
visibility in the computer world as well as to leave a meaningful legacy
behind no matter where your career and life takes you. Obviously, get
your parent(s)'s or guardian's permission first if legally or morally
needed.

All the best.

--Paul Fernhout
http://www.pointrel.org


-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----
Jul 18 '05 #19
Howard Nease wrote:
I have heard a whole lot about the fact that the market for
software engineers nowadays is *HORRIBLE*...
You could go to work in the video game industry. Like most
entertainment industries it fares pretty well especially when
there's a downturn in society.

I've been a video game programmer for seven years. It's a lot of
work and not a lot of money, but it feels cool to me to work on
the programs that people use *after* work. ;) We make the
software that people choose to use individually.
I would be devastated were I to find the need to leave computer
science.


There will always be a call for programmers. The key to securing
yourself in whatever position you want to be in is simply to be
better than everyone else around you at that role. Study hard,
go after internships while in college (or even before, I recently
had a 16-year old intern in programming who was hot-shit), and
absorb everything you can.

Learn Python, learn C++, learn Lisp. Understand what you like
and don't like about each of these languages.

Good luck,
-tom!

--
There's really no reason to send a copy of your
followup to my email address, so please don't.
Jul 18 '05 #20

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1141
by: phil | last post by:
> you haven't answered my question, btw: why are you using __del__ > to do something that the garbage collector should do for you? After more reading it seems I have made an ass of my self on this subject. Here is my problem at length. I teach high school geometry. I have created a program with a scalable graph on which to make drawings to illustrate concepts. This is working well.
14
2580
by: Jason Daly | last post by:
I'm a freshman at college as a computer science major. I'm not sure it has what I want. Does anyone know if a major commonly exists in web design (focusing in server side languages)? I want to program for the internet, but don't know where to get all of my information from to be the most knowledgeable I can be. Do i find what i'm looking for in some class somewhere? if so where do i look? or do i just buy all the asp, php, xml, etc...
2
1187
by: WStoreyII | last post by:
This question is for all of the developers out there. I recently had to drop out of school as it was getting way to expensive and i just could not pay it. I am really upset about this becuase i really want to become a computer programmer. I dont have any degrees or certificates or any other formal training. But i do learn quick. Now i am not asking for a job from anyone ( although any offers would be nice). I am asking more for any...
53
4754
by: Hexman | last post by:
Hello All, I'd like your comments on the code below. The sub does exactly what I want it to do but I don't feel that it is solid as all. It seems like I'm using some VB6 code, .Net2003 code, and .Net2005 code. I'm developing in vb.net 2005. This test sub just reads an input text file, writing out records to another text file, eliminating records that have a '99' in them (it is similar to a CSV file). Some of my concerns are:
0
1524
by: Mary | last post by:
First of all, I want to thank all of you who post out here regularly. I have learned so much over the last couple of years! During my 10 years as a Cobol programmer, working with dozens of other programmers, when I got stuck, I just had to walk over to the next cubicle to get help. Now it's just me, which can get overwhelming and quite stressful at times. So when I need help, I come to you guys. I don't usually even have to post a message,...
0
1430
by: ROMANIA | last post by:
Dear mr. enginer Please help me to rezolv this prolem. We have some arrays: A1 1 2 3 4 5 6 14 17 23 24 27 33 A2 7 11 13 17 19 20 25 A3 23 25 26 27 A4 34 45 46 47 48 49 A5 1 5 15 17 18 23 26 29 33 34 35 36 39 46 47 ...........................
2
2701
by: jon121970 | last post by:
I'm new here.. I am hoping to get some Professional Advice. I want to start my own online Auction. I anticipate it will grow into a high volume/high traffic online auction. I need some Recommendations as to what platform and what is the best configuration this Auction should be designed in to handle high volume(i.e. Php or ASP or CGI, Mysql)? I've seen some other Auction scripts out there.. but I really don't know the best design for an...
0
9563
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9997
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9937
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9822
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8821
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7366
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6642
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5270
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3917
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.