EXPERT RESPONSE
Given an interest in networking, the subjects to concentrate in are easier
to recommend than one or more programming languages (alas, there's not
always a clear relationship between taking care of networks and writing
code, though there are opportunities that permit the two to be melded from
time to time). Thus also, a software engineer is more likely to be somebody
who builds networking tools or utilities than somebody who designs, manages,
or maintains networks - -and hence, also defines a way to "do networking" and
"write code" under a single umbrella.
Subjects you'll want to pursue include networking topologies and
technologies, including wireless and wired LANs, MANs, WANs, and long-haul
high-bandwidth infrastructure technologies (e.g. SONET). They also include
networking protocols and service, especially the huge subject area that is
TCP/IP. You'll also want to understand fundamentals of network management,
security, and design as well. On the development side, you'll want courses
in programming language design, algorithms, various math courses (linear
algebra, discrete mathematics, automata theory, and set theory are all
particularly helpful for would-be computer scientists and software
developers), plus whatever languages you choose to pursue.
On the languages side, I'd recommend C+ and some object-oriented language
like Java or C# (pronounced "C-sharp"). All of these languages are widely
used for networking software and operating system development, and should
stand you in good stead.
|