[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] About Computer Careers

On Wed, Jul 11, 2007 at 03:32:51PM -0300, Margarita Manterola wrote:
> Yes, I have the same feeling. But why?  Starting up from what someone
> already knows, instead of from the bare basics would allow them to
> learn much more in the same amount of time.  

I think it's more that people start off knowing different amounts, so in
order to be able to offer a degree to the most number of people at once,
they start more or less from scratch.

> Is it that universities
> do not want students to become experts? Do they do this so that they
> can afterwards charge you more for the post-graduate courses?

If you've got enough experience that the first level undergrad courses
aren't useful, I think the idea is you go for a masters based on your
existing experience, at which point you tend to be able to do the higher
level undergrad courses.

> Well, they are currently very much focused in end-user apps, and that
> ends up in a problem because everyone is specialized in that. I think
> that the IT field has expanded enough to justify more than just
> "Programmer" or "Computer Science" degrees.

The expansion's really what's forced the work-oriented stuff -- the
majority of people interested in computers are interested in Java or .NET
or PHP or whatever, instead of having come from a maths or physics or
engineering background with more of an interest in the underlying stuff.
That's definitely the way things worked at my uni, though it's changed
again sometime after I finished, going back to teaching fundamentals
(lisp!) in first year.

> On browsing through the web, looking at Universities around the world
> I found that the UCSC (University of California, Santa Cruz), offers a
> "Certificate Program in Linux/UNIX Administration and Programming":
> http://www.ucsc-extension.edu/ucsc/public/category/courseCategoryCertificateProfile.do?method=load&certificateId=184
> Which looks similar to what I was wishing to find, although it's just
> a "Certificate" and not a full degree.

FWIW, I'd expect you could learn more from participating in projects like
Debian, or Linux user groups and similar, than doing a course like that. To take
each example:

    * Linux Kernel Architecture and Programming (1.5 units)
    * Linux Device Drivers (3 units)
    * Linux Device Drivers, Advanced (2 units)
	-- follow lkml, do kernel janitoring, watch videos from LCA or OLS,
	   try the latest kernels and try to fix bugs that come up

    * Perl Programming I (2.5 units)
    * Perl Programming II (2.5 units)
    * Python for Programmers (3 units)
	-- join the perl/python development lists, join some irc channels and
	   have competitions like "perl golf" on writing the niftiest code,
	   start hacking on some perl/python software upstream

    * Linux System Administration (3 units)
    * Linux/UNIX Shell Programming with Bash (2 units)
    * UNIX System Administration I and II (4 units)
	-- maintain some Debian packages, do support in Debian or in a LUG

    * C Programming, Advanced (3 units)
    * C Programming, Comprehensive (3 units)
	-- follow lkml, work on some software that's already written in
	   C, ideally by coders that are well respected in the open
	   source community (eg, samba, rsync, apache, linux, bsd, etc)
    * Linux System Programming (3 units)
	-- find some bugs in things like coreutils, tar, gzip, dpkg,
	   the kernel, gcc, etc and try to fix them -- keep reading
	   and talking to people and thinking and trying things until
	   you've succeeded

    * UNIX Security for System Administrators (2 units)
	-- participate in some of the security groups in Debian or elsewhere,
	   by reading lists like bugtraq, following exploits, backporting fixes,
	   and trying to help people understand if they're vulnerable

    * TCP/IP Essentials for IT Professionals (3 units)
    * Linux Networking Administration (2.5 units)
	-- maintain a server on the internet, let other people use it,
	   maintain some Debian server-type packages and help support
	   people who use them, setup a honeypot, work on fixing wishlist
	   bugs in networking packages

    * Linux Embedded Design and Programming, Introduction (3 units)
    * Real-Time Embedded Systems Programming, Hands-On (3 units)
	-- get an NSLU2 and install Debian on it, start hacking at
	   useful things you can do; port Debian to a console; instead of
	   Debian try ucLinux; get an arduino board or one of the other
	   fairly cheap but easily programmable microprocessors out there
	   and hack on it; tell one of the companies that like Debian
	   and do embedded-ish stuff that you're interested in doing
	   some embededded hacking and seeing if you can get a freebie

Formal learning is a great way to meet like minded people and do cool
stuff, particularly ones that you can meet in person rather than just

It's a great way of getting introduced to a topic so you have some vague
idea how to learn more about it, and having the fundamentals so you can
understand what you're seeing and know what areas exist that you might
not have even thought of.

But it seems to me, that if you want to get a really thorough
understanding, or learn stuff that's kinda specialist you really need
to end up teaching yourself.

(Which in a sense is what this list is really all about -- Debian and
women teaching themselves useful things, so I dispute the "[OT]" tag :)


Attachment: signature.asc
Description: Digital signature

Reply to: