Basically, it's a combination of adaptability, breadth (not necessarily depth) of knowledge, persistence, and luck.
Like many trades, it seems that the tech industry, especially in today's IT economy, is very much about being in the right place at the right time and knowing the right people. Skill and experience are certainly very important, especially when getting to the enterprise level, but in my experience, and that of many friends in the industry, is to just keep trying and hopefully get lucky.
It sounds as if you already have some decent programming skills are and quite comfortable in a Linux/BSD environment. This is definitely a plus. If you haven't already, start teaching yourself admin skills. You don't have to be an expert on everything, but knowing a little about a lot goes a long way. As has been suggested, set up a webmail gateway for your students.
As far as skills, I recommend the following:
- Mail: Get familiar w/ sendmail and alternative MTAs.
- Web: Know the basics of Apache installation and administration inside and out.
- DNS: Be able to setup and administer BIND. Both the 4.x legacy versions, and 8.x. Familiarity w/ 9.x is also a big plus.
- Have a STRONG grasp of TCP/IP fundamentals
- Have a good head for security issues and best practices
- Be able to program in at least on popular shell (preferably sh). Be able to at least read and modify C and Perl code.
- Be familiar w/ good backup procedures and fault-tolerant design prinicples.
- Be at least familiar w/ SQL. MySQL is the easiest to learn, then move on to Postgres.
- If you're familiar w/ PHP and Java, this is also a plus but not too important.
- Make sure you have good documentation skills. For practice, document stuff you do in a thorough and comprehensible manner. Be able to write for other techies reference and also briefs/updates for PHBs.
Now that's a lot to know. But just having basic skills in each area will do a lot to get you in the door at smaller operations.
Now how do you go from knowing that stuff to finding a job? There's a variety of paths, but here is what I did (if you care to hear another personal story):
I kept playing w/ Linux and FreeBSD while in college for History and Sociology. While in school, I took jobs doing help desk work for the university and also worked at a large corporate call center in tech support. This was dreadful work and I didn't take it too seriously, but it was enough to keep tech work on my resume for a couple of years. After school, I took a job w/ a local network consulting/integration firm doing primarily NT/2k/Novell work w/ a little bit of *nix here and there. That lasted for about 8 months. My break into Unix administration was w/ a state-wide ISP, which is where I am still. I got this job basically by being active in the local LUG and getting to know other techies in the community. The job wasn't ever advertised but was filled by referral, which in my experience, is how a lot of tech jobs at small to mid-sized companies get filled.
Since you already work full-time in another profession, I would recommend brushing up on a variety of administration-type areas of knowledge and finding some way to get referrable experience doing tech work of any variety at this point. Going the gov/edu route may be easier for you, or you may want to look at volunteering as others have suggested. There are lots of non-profit orgs on the net that can use good volunteer admins/techies (e.g. if your politics fi, try www.indymedia.org). With some reference-able experience on your resume and connections through a LUG or other local user group of some sort and being enthusiastic about helping out other ppl, something will pan out for you eventually. I highly recommend pursuing the small to mid ISP route once you have some experience and references, as many of them are all Linux/BSD shops and typically provide a flexible learning environment w/ a lot of mobility from the start.
Basically, it's a combination of adaptability, breadth (not necessarily depth) of knowledge, persistence, and luck. Like many trades, it seems that the tech industry, especially in today's IT economy, is very much about being in the right place at the right time and knowing the right people. Skill and experience are certainly very important, especially when getting to the enterprise level, but in my experience, and that of many friends in the industry, is to just keep trying and hopefully get lucky. It sounds as if you already have some decent programming skills are and quite comfortable in a Linux/BSD environment. This is definitely a plus. If you haven't already, start teaching yourself admin skills. You don't have to be an expert on everything, but knowing a little about a lot goes a long way. As has been suggested, set up a webmail gateway for your students. As far as skills, I recommend the following: - Mail: Get familiar w/ sendmail and alternative MTAs. - Web: Know the basics of Apache installation and administration inside and out. - DNS: Be able to setup and administer BIND. Both the 4.x legacy versions, and 8.x. Familiarity w/ 9.x is also a big plus. - Have a STRONG grasp of TCP/IP fundamentals - Have a good head for security issues and best practices - Be able to program in at least on popular shell (preferably sh). Be able to at least read and modify C and Perl code. - Be familiar w/ good backup procedures and fault-tolerant design prinicples. - Be at least familiar w/ SQL. MySQL is the easiest to learn, then move on to Postgres. - If you're familiar w/ PHP and Java, this is also a plus but not too important. - Make sure you have good documentation skills. For practice, document stuff you do in a thorough and comprehensible manner. Be able to write for other techies reference and also briefs/updates for PHBs. Now that's a lot to know. But just having basic skills in each area will do a lot to get you in the door at smaller operations. Now how do you go from knowing that stuff to finding a job? There's a variety of paths, but here is what I did (if you care to hear another personal story): I kept playing w/ Linux and FreeBSD while in college for History and Sociology. While in school, I took jobs doing help desk work for the university and also worked at a large corporate call center in tech support. This was dreadful work and I didn't take it too seriously, but it was enough to keep tech work on my resume for a couple of years. After school, I took a job w/ a local network consulting/integration firm doing primarily NT/2k/Novell work w/ a little bit of *nix here and there. That lasted for about 8 months. My break into Unix administration was w/ a state-wide ISP, which is where I am still. I got this job basically by being active in the local LUG and getting to know other techies in the community. The job wasn't ever advertised but was filled by referral, which in my experience, is how a lot of tech jobs at small to mid-sized companies get filled. Since you already work full-time in another profession, I would recommend brushing up on a variety of administration-type areas of knowledge and finding some way to get referrable experience doing tech work of any variety at this point. Going the gov/edu route may be easier for you, or you may want to look at volunteering as others have suggested. There are lots of non-profit orgs on the net that can use good volunteer admins/techies (e.g. if your politics fi, try www.indymedia.org). With some reference-able experience on your resume and connections through a LUG or other local user group of some sort and being enthusiastic about helping out other ppl, something will pan out for you eventually. I highly recommend pursuing the small to mid ISP route once you have some experience and references, as many of them are all Linux/BSD shops and typically provide a flexible learning environment w/ a lot of mobility from the start.