2 TOPICS
DEALING GENERALLY WITH CAREERS
This
section, which is not specific to me, might be useful in your career.
Of course, I do not guarantee that everything here applies to
all
people.
2.1 CONSIDERATIONS FOR WORK (AND GRADUATE
SCHOOL)
RESEARCH OR DESIGN
BEING OPEN-MINDED
WORKING WITH OTHER PEOPLE
2.2 CONSIDERATIONS FOR JOB-HUNTING
NETWORKING
OTHER TECHNIQUES FOR FINDING EMPLOYERS
SOURCES OF ADVICE
MISCELLANEOUS CONSIDERATIONS
2.3 TOPICS IN COMPUTER SCIENCE
SEARCHING THE RESEARCH LITERATURE
THE JAVA PROGRAMMING LANGUAGE
MISCELLANEOUS TOPICS IN COMPUTER SCIENCE
Return to Gary
Sockut's home page.
2.1 CONSIDERATIONS
FOR WORK (AND GRADUATE SCHOOL)
This section's information is, of course, just a fraction of the
information that you might find useful for work.
RESEARCH OR DESIGN:
When designing things, one
phenomenon that I have observed in software (and that probably exists
in other areas) is that when there's an inconsistency, often there's a
problem. Here I define an inconsistency as a situation in
which
two parts of the thing being designed are symmetric in their relevant
underlying characteristics and requirements, but the two parts have
designs that are
not
symmetric. When an inconsistency occurs, I
suggest reexamining the designs (to check whether the parts should be
designed consistently) and reexamining the characteristics and
requirements (to check whether there really is an asymmetry).
Another phenomenon is that if a design becomes very complicated,
there is an increased probability that there is a simpler design
that is better. This is sometimes known as the
KISS
principle (“Keep It Simple, Stupid”).
Quality can require effort.
An
article
by the astronaut John Glenn says “How do you feel when the
countdown gets down to the last few seconds?
The standard answer to that one is to ask a counter question:
how do you think you’d feel if you knew you were on top of that
machine,
comprised of thousands of parts all built by the lowest bidder on a
government contract?”
The
Herrmann
Brain Dominance Instrument (HBDI),
which I took at work in a
seminar on thinking, is an assessment that helps identify your
preferred styles of thinking. After you have made some
initial plans
on a task, sometimes you can
improve your plans by making an effort to use aspects of thinking that
you do not typically emphasize.
Many things can be difficult to predict.
I once attended a presentation by an economist who mentioned that
the purpose of economic forecasting is to make fortune tellers look
good by comparison.
No
matter how carefully you document the intended purposes of something,
somebody might try to use it for a different purpose.
Therefore,
you might observe unexpected uses and unexpected requests for new
features. Will something succeed for an unintended purpose?
I view the answer this way: Sometimes a thing
succeeds
for an unintended purpose, a thing is more likely to succeed for
an
intended purpose, and sometimes a thing fails for an intended
purpose. To state this more mathematically, 0 < Pa
<
Pb < 1, where Pa and Pb are the probabilities that something
will succeed for (a) an unintended purpose and (b) an intended
purpose,
respectively.
In an interconnected system, sometimes a seemingly simple action can
have unintended consequences.
I quote one web page of the
World
Health Organization (WHO):
This story began in the late 1950s when WHO carried out
extensive programs to eradicate mosquitoes in Borneo by spraying the
village areas with
DDT.
Not long after, the palm-thatched roofs
of the village houses began to collapse: a moth larva which fed on the
palm fronds had increased because a predatory fly, which ordinarily
kept the larva at low levels, had been annihilated by the DDT.
The contaminated flies were eaten by lizards which were eaten
by
housecats which also died. As a result, rats began to invade
the
dwellings, posing a serious threat of diseases. To solve the
problem, WHO and Singapore’s Royal Air Force packed cats into
perforated containers and dropped them into the villages by parachute.
Thus the story of Operation Cat Drop was born. It
attracted
attention and controversy because a well-meaning action had resulted in
the unbalancing of a delicate ecological equilibrium, but it lived on
because of the intriguing image of cats plummeting into the Borneo
jungle by parachute.
In
designing a written or oral explanation of something (e.g., a computer
language), I recommend explaining the simple things before explaining
the complicated
things. For example, some explanations of the
Unix operating system
illustrate a Unix
pipe
(whose
syntax is “|”) via an example
like “cat myfile | lpr”
without
previously
explaining “cat” and “lpr” individually. The “cat”
concatenates one or more operands (just “myfile” in this case), “lpr”
prints its operand on a printer, and “|” feeds the output of one
command (cat) into the input of another command (lpr). Some
people who read or hear such an explanation can get the
incorrect
impression that “cat myfile | lpr” is the simplest way to print a
file.
However, the simplest way is really “lpr myfile.” Explaining
“cat”
and
“lpr” individually
before
explaining their combination can avoid giving
the incorrect impression.
In designing an explanation, there can be a trade-off between
thoroughness and conciseness.
I heard a presentation by Terry
Smith called “
The
10 Commandments (More or Less) of Successful
Presentations.”
He gives an example to
illustrate the need for conciseness: “A diminutive immature
specimen
of a ruminant mammal of the genus Ovis was under the exclusive dominion
and control of Mary.”
It is always important to consider the users. I
quote this example from the “Error Messages” section
of
B. Shneiderman,
Designing the User
Interface: Strategies
for Effective Human-Computer Interaction,
Addison-Wesley: The
phone company, long used to dealing with nontechnical users, offers
this tolerant message: “We're sorry, but we were unable to
complete your call as dialed. Please hang up, check your
number,
or consult the operator for assistance.” They take the blame
and
offer constructive guidance for what do to. A thoughtless
programmer might have generated:
Illegal phone
number. Call
aborted. Error number 583-2R6.9. Consult your user
manual
for further information.
BEING
OPEN-MINDED:
Two events in my Ph.D. thesis work provide lessons on being open-minded:
- My undergraduate research, on a graphics project,
involved
writing firmware
that included support for operating
system functions
and data structures. This work led to my interest in firmware
and
graphics.
My M.S. thesis involved building a graphics
package
that performed main storage compaction (a subset of garbage collection)
concurrently with usage of the graphics display, to avoid disrupting
the display activities. When searching for a Ph.D. thesis
topic,
I initially investigated firmware/hardware
support for operating
systems. My search did not lead to a thesis topic, but one
person
whom I consulted was Robert Goldberg, whose thesis had dealt with
architectural support for virtualization.
One day he asked
about
my M.S. thesis topic, and I told him. He suggested
investigating
such reorganization (garbage collection, etc.) for databases, performed
concurrently with usage. I replied that I had looked at the
previous semester's description of the database course, and it looked
boring,
but I was willing to
investigate it. The bottom line is that I was the grader for
the
database course in the next semester, I wrote a Ph.D. thesis in the
database area, and my main area of interest since then has been
databases! Life is strange!
- At my oral
qualifying examination, when I was mid-way through my thesis work, I
explained several possible specializations that could be investigated
within the topic of database reorganization. My committee
noted
that I had made the most progress so far on performance modeling,
so
they suggested concentrating on that specialization. I
initially
disliked that idea, since it seemed to be the least interesting
specialization. However, eventually I concentrated on that
specialization, and 1 year later I had a Ph.D. So the members
of
your committee might be smarter than you think they are!
Of course, things
change, so we should keep learning. For example, I learned
about
constructing web sites, as a prerequisite for constructing this web
site. There are opportunities for professional
development. For example, you can attend local events of
professional societies.
For computer scientists, examples of such societies
are
ACM,
IEEE,
and the
New
England
Database Society. On the other hand, skills in
well-established things
can
help sometimes. In a joke from the
Y2K time
frame, a
programmer
had himself frozen, to be preserved for later. As the year
10,000
approached, some people thawed him. When he awoke, they told
him,
“We have this
Y10K
problem, and we heard that you know
COBOL!”
Different
people have different degrees of resistance to change, and
the effort required to accommodate
change is proportional to one's degree of resistance to change, of
course. One example of change-resistance is a tendency to
consider
an initial design the best design, even if later evidence indicates
that a different design is better.
I heard a story about
Gerd
Binnig and
Heinrich
Rohrer, who invented the
scanning
tunneling microscope.
When they told their colleagues about their proposed
research,
their colleagues said, “You're crazy! It will never
work.
But if it does work, you will win a
Nobel Prize.”
The
colleagues were partially correct; after it was shown to work, they won
a Nobel
Prize (
physics,
1986). Sometimes it is worthwhile to do what some
people consider crazy.
In
graduate school, a professor quoted a figure for the cost to produce a
line of code (programming). At the time, I had trouble
believing
the figure. How can it cost so much? Just write the
code! Now, however, I believe it! For some lessons,
full
appreciation apparently requires first-hand experience.
Jumping to unjustified conclusions can be
a mistake. I attended a presentation by James Woolsey,
a former director of the Central Intelligence Agency. He included an
anecdote about the first vacation plane trip that he took while director.
Two armed bodyguards accompanied him. At the
beginning of
the trip, one bodyguard notified the flight attendants that they were
carrying firearms on the plane. At the end of the trip, a
flight
attendant whispered something to a bodyguard, who laughed.
Mr.
Woolsey later asked the bodyguard what the flight attendant said that
made him laugh. The flight attendant had told the bodyguard
that
she had been on many such flights before, but this (Mr. Woolsey) was
the best-behaved
prisoner
that she had ever seen!
WORKING
WITH OTHER PEOPLE:
The
Myers-Briggs Type
Indicator (MBTI) is a
personality questionnaire that helps identify how you think and
act. It tells you which of 16 personality types you
exhibit. After I
and my coworkers took it, we were given descriptions of how each of the
16 types is likely to do things. I read the description for
my
type and thought “Oh, yes, that's an accurate description of how I
work!” Differences
in personality types are one reason
that different people do things in different ways. The people
can
be different colleagues, different managers, different customers, etc.
Of course, it
is not necessarily true that one way is better than the other; they
might just be different. For example, some people (including
the
owner of this web site) view most things as spectra (shades of gray),
and some view most things as dichotomies (black and white).
People from different cultures often have different customs.
A friend worked for an American company that
celebrated major product releases by giving employees
T-shirts
containing a message about the release. He once visited an
engineering lab that the company had in Germany. After work
one day, he and his German colleagues went out for drinks.
After
a few beers, one colleague said “We love you Americans, but
why do you
keep sending us underwear?”
One
activity that arises in work (not just in salary discussions) is
negotiation. People with whom you negotiate are not
necessarily
“opponents”; they might be “partners.” This book might
help:
R.
Fisher,
W.
L.
Ury, and
B.
Patton,
Getting
to Yes:
Negotiating Agreement Without Giving In, Penguin
Books. One
example of a technique is to analyze the parties' stated positions to
discover the parties'
underlying
goals, which might not really
contradict each other even if the stated positions seem to contradict
each other.
Of course, consulting your colleagues can be very
useful. Different people have different perspectives,
as I
mentioned earlier. If you have forgotten to consider
an
approach,
perhaps a colleague will think of that approach. The
combination
of different people's ideas is often better than any one
person's
idea. Unfortunately, the combination is not always better;
one
classic
joke is that the definition of a camel is a horse that a
committee has designed.
Talking to colleagues before
talking to outsiders can also help you find ambiguities and become
aware of differences in terminology.
Murphy's
Law, as applied
to
communication, says that anything that
can be
misinterpreted
will
be
misinterpreted!
If you plan to work in a large corporation, this
book might help:
C.
Shapiro,
Corporate
Confidential: 50 Secrets
Your Company Doesn't Want You to Know -- and What to Do About Them,
St.
Martin's Press. The author, a former human resources
executive,
gives an insider's advice on corporate employment.
See also the next section on
considerations
for job-hunting.
2.2 CONSIDERATIONS
FOR JOB-HUNTING
Here are some caveats:
- I am a software engineer and researcher, not a professional
advisor on job-hunting.
- Different cultures can have different practices.
I suggest that you investigate and respect the employment practices of
the country in which you want to work.
I have worked only in the United States, and I can't guarantee
the extent to which these considerations apply to jobs in other
countries, but I
suspect that most of them apply.
- This section's
information is, of course, just a fraction of the information that you
might find useful for job-hunting.
See also the previous section on
considerations
for
work.
NETWORKING:
People find many (perhaps most) jobs through networking (contacting people), not through
applying to companies' human resources departments.
In networking, asking for “advice on finding a position” sounds less
threatening than asking more directly whether the person knows of a
position. If a networking contact happens to know of a
position,
he/she
will mention it in answering your request for advice. If
he/she
does not know of a position, his/her advice can still be
useful.
Many companies give bonuses to current employees who find new
employees; therefore, a networking contact at a prospective employer
has a motivation to help you.
Of course, maintaining your network of
contacts and being willing to help them are important even during
periods when you are not looking for jobs.
There are many potential sources of networking contacts; this
list is probably incomplete:
- Contact your friends and relatives.
- Search the alumni directories of any colleges or
universities
that you attended. Many but not all alumni are happy to help
a
fellow alumnus whom they don't know. To maximize the
probability
of finding a cooperative alumnus, do not pick alumni
randomly.
Instead, limit your search to alumni whom you know, who majored in your
major subject, who work at companies that interest you, who work in
occupations that interest you, who have announced their availability to
give career advice, or who have some other relevant
characteristic. Very recent graduates might be less
cooperative
than older alumni, who have seen more of the world of work.
- If
you are a member of an organization, search its membership directory.
As with alumni, limit your search to members who
have a
relevant
characteristic.
- Contact relevant professors whom you know (not necessarily
at colleges or universities that you attended).
- Attend local events of professional societies.
For computer scientists, examples of such societies
are ACM, IEEE,
and the New
England
Database Society.
- There are web sites for business-oriented
networking. LinkedIn
has many
participants and also has a section for job openings. You
will
probably find many people whom you know and many people at the
companies that interest you. There are
tips
on using LinkedIn to find a job. I have less experience with Ryze.
Some people do career-related networking on social networking
sites that are
not specifically business-oriented, e.g., Facebook.
There
are other sites, and many
people whom I do not know at all have sent me invitations to
join.
If you are a member of a networking site, I
recommend
against inviting people who have never heard of you, to avoid annoying
them.
- Many products have users
groups, some of which have local chapters. If you have
experience
as a developer or a user of a product, consider the users group.
- Your geographic area might have networking
groups. Several people have recommended
WIND in Massachusetts.
- See the web sites of venture capital (VC) firms.
Many (but
probably not all) help in placement at the companies that they
fund. The National
Venture Capital Association lists many VC firms.
The web sites
of many VC firms include biographies of their team members; you might
find
a fellow alumnus.
- There are various Yahoo
groups for networking and job-hunting. There
are groups for various geographic areas. For example, the
Boston area has boston_tech_jobs,
bostonbusinessprofessionals, bostonstartups, and
NewEnglandNetworking. There are groups for people affiliated
with
various universities. For example, if you are a computer
scientist affiliated with Brown University, try cslubrano. If
you
are affiliated with Harvard University, try Harvard-startups
and HarvardJobs. I am less familiar with Google
groups.
OTHER TECHNIQUES FOR FINDING EMPLOYERS:
There
are
web
sites for
job postings. Several people have
recommended
monster,
Dice (for
technical jobs),
craigslist, the
ACM career center (for computer science jobs), and the
IEEE Computer Society career center (for computer science jobs).
Some other sites are specific to certain products or technologies.
Yes, some newspapers still exist. For example,
the
Boston Globe and
the
San Jose
Mercury News have online listings.
For
information on a company that interests you,
Hoover's,
Yahoo Finance,
and
Google Finance
can supplement what you find on the company's own web site.
Outside
recruiters (which some people call “headhunters”) find people to work
for their client companies. Some people like to use
recruiters,
and some people do not. If you contact recruiters, it is
likely that some will be energetic for you and many will not be
energetic for you. Some companies' employment advertisements
say
“no recruiters” or “principals only.” I'm not certain, but I
think that all these things about recruiters are true:
- A company hires employees through a recruiter only if the
company has an agreement with the recruiter.
- A company has such an
agreement only
if it is willing to pay the fee that the recruiter
charges to a company that hires an employee through the recruiter.
- A recruiter would send your resume only to
companies
that have agreements with the recruiter, not to
companies that lack
agreements.
Therefore, I suspect that:
- If
company X has such an agreement, then your use of the recruiter (to
find a position at company X or another company) would not prevent
you
from getting a job offer at company X, because company X is willing to
pay the recruiter's fee.
- If company X has no
such agreement, again your use of the recruiter (to find a position at
another company) would
not prevent you from getting a job offer at
company X, because I think that the recruiter would not send your
resume to company X.
- If a recruiter does send your
resume to a company that has no agreement with the recruiter, then the
company has no obligation to pay the recruiter's fee if the company
hires you.
Some people do free-lance (contract) work. Some web sites
that match companies with contractors
are
Elance,
oDesk,
sologig.com,
and
VirtualAssistants.com.
I have no experience
with these web sites.
SOURCES OF ADVICE:
Here are ways to find advice
in areas like choosing a career direction, improving your resume,
tracking employment trends, networking, interviewing, and negotiating:
- Many universities have career advice on their web sites.
Like
many things on the web, the advice is free,
even for non-alumni. Some advice
is oriented toward students who will graduate soon, but much advice
also applies to people with more work experience.
Some such web sites list companies that are recruiting.
- The United States Department of Labor has links to
advice.
- There are many books on job-hunting. One classic,
which is
updated regularly, is R.
N. Bolles, What
Color Is Your Parachute? 2009:
A Practical Manual for Job-hunters and Career-Changers,
Ten Speed
Press. The author gives advice on choosing a career,
searching
for jobs, and other topics. I heard the author at a
seminar.
He's an
interesting speaker:
- He said that he once lost a job as a church's canon,
but that's OK because cannons are meant to be fired.
- Somebody mentioned “recession-proof jobs.” He
said that if anybody has a recession-proof job, he does.
- Another book is C.
Shapiro, What
Does Somebody Have to Do to Get a Job Around Here?,
St.
Martin's Press. The author, a former human resources
executive,
gives an insider's advice on interviewing, resumes, and other topics.
- You can often find employment-related information in
Yahoo Finance,
Money,
professional societies' web sites,
and professional societies' e-mails to you.
- For employment trends and advice in computer science, you
can
register
for a free e-mail subscription to Computerworld's career information
(after selecting “CareerMail”).
- A career counselor can customize his/her help toward your
goals. Here are ways to find a career counselor:
- Contact counselors at the career
offices of colleges or universities that you attended.
Typically, they serve both alumni and current
students.
- If you live far away and you prefer a local counselor,
your college might have a list of local counselors.
- The National
Board for Certified Counselors lists career counselors and
other types of counselors.
- A counselors' organization or licensing board in your
state or local area might also list career counselors.
-
The
Myers-Briggs Type
Indicator (MBTI), which I mentioned in the previous
section on considerations
for
work, can provide guidance on career choices.
Different career counselors have different opinions of
the
value of the MBTI in deciding on a career direction.
Different sources of advice can contradict each other.
For example, some people advise that a resume should always be 1
page long.
Some say that the maximum is 2 pages. Some people advise that a
resume can be longer, perhaps 1 page per
decade of work experience.
I will not resolve the debate.
However, if you have a large amount of information to convey, but you
do
not want a long resume,
one compromise is to set up your own web site (containing all the
information that you want
to convey) and to create a shorter resume that references the web site
for more information.
Many e-mail providers also provide web hosting.
MISCELLANEOUS CONSIDERATIONS:
The file name of
your resume should include your name, e.g., “ResumeGeorgeWashington”
(if your name is George Washington). Recipients might get many people's resumes and would not want many
resume files all named just “Resume.” Of course, if your name is
George Washington, you are probably applying for a job as chief
executive officer of
a start-up.
☺
I have read that to be successful, a fertilizer salesman emphasizes
the customer's lawn, not the company's fertilizer.
Similarly, in interviewing, you can emphasize how you can help your
prospective employer.
One part of preparing for interviews is to consider what you would want to hear if you were a hiring manager.
On any topic (e.g., job-hunting techniques), two people's suggestions
might contradict each other. That's life!
2.3 TOPICS
IN COMPUTER SCIENCE
SEARCHING
THE RESEARCH LITERATURE:
I
have used mainly three free web sites. For each site, this
table
lists the site's name, the areas covered, and the number of
publications that the site found in November 2007 when I searched for
publications that I have authored:
Of the 16 publications that Google found, 8 were in both ACM and
DBLP, 3 were just in ACM, 1 was just in DBLP, and 4 were in
neither. DBLP also found 1 publication that was in neither
Google nor ACM. Google found all my patents, but ACM and DBLP
did
not find any. When analyzing this comparison, remember that
this
was a one-time test that involved only one search criterion (authorship
by
me); different search criteria can produce
different comparisons (
YMMV).
All three include facilities for advanced search.
ACM's
advanced search seems to be the most powerful; it even lets you search
by authors' affiliations (companies or schools).
ACM and DBLP also let you browse the tables of contents of journals and
conference proceedings.
If you
search
DBLP by author, DBLP sorts the displayed publications by
year.
Google (for some publications), ACM, and DBLP include
BibTeX tags for
publications,
which will save you time if you want to reference the publications
in a document that you are preparing with
LaTeX.
You can also search for U.S. patents through the
Patent
and Trademark Office.
There are web sites for producing a pdf file for a patent;
one such site is
pat2pdf.org.
Many authors' web sites list more publications than any of the search
sites list for those authors.
Besides using a search engine (
Yahoo,
Google, etc.),
here
are other ways to find an author's web site:
- In
the ACM Guide, if you follow an author link from the page for one of
that author's publications, the Guide also displays a link to
the author's home page (if the author has an ACM web account
and has
sent the URL to ACM). The page that results from searching
the
Guide by author will not
display the home page link; you must follow an author link from a
publication page.
- If you search
DBLP by author,
DBLP also displays a link to the author's home page (if the author has
sent the URL to DBLP).
THE
JAVA PROGRAMMING LANGUAGE:
I
like this book:
D.
Lowe and
B.
Burd,
Java
All-In-One Desk
Reference For Dummies, 2nd Edition, Wiley Publishing,
2007. It is
thorough (882 Pages) and easy to understand. The book also
notes
these interesting facts:
- The Java
license
agreement says “Licensed
Software is not designed or intended for use in the design,
construction, operation or maintenance of any nuclear facility.”
- The Java
copyright says
“Nuclear, missile, chemical biological weapons or nuclear maritime end
uses or end users, whether direct or indirect, are strictly prohibited.”
I'm so disappointed!
☺
I
can usually find other Java subjects (not found in the book) on Sun's
web site or elsewhere on the web. Sun's web site provides the
full
specification of the language, a
searchable
tutorial, an
overview
of the platform
packages, and
other things.
MISCELLANEOUS
TOPICS IN COMPUTER SCIENCE:
There is a
blog
on
web 3.0 and the semantic web.
Forward
to Section 3. Topics Dealing with Leisure.
Return to Gary
Sockut's home page.