I was asked to think about how I'd train such a person. So I took a deep breath and a long, hard look (at least 10 minutes) at what knowledge someone would need to be successful.
You may agree with this list, decry it for it's obvious development bent, or wonder why I included so many articles from Joel on Software. Simple: IT is software, and Joel has an uncanny insight into general corporate insanity. Plus he's fun to read, and education should be fun. Or at least not put you to sleep.
So without furthur ado..(adieu? adoo? achoo?) an edited paste of the document I sent in for review.:
Optimization Analyst Training Regimen
aka: “Indoctrinating New Analysts the realist Way”
This is a BRAINSTORMING document. It is in NO WAY intended to be final, comprehensive, objective, or otherwise representing the opinion of anyone other than it’s author.
Objective
To make the object of training perfect in every way. At least in my limited and completely biased opinion.
Seriously.
Ok, not really. What we’re REALLY looking to do is our collective best to give you the opportunity to learn/experience/widen your horizons. We’re looking to build an IT Renaissance (wo)Man. Someone who has a little knowledge about a lot of things, and a lot of knowledge about at least 2-3 things. Above all, you’ll have the ability to communicate effectively, efficiently, and effusively. Or something like that.
There are those who will question the obvious emphasis on software development. The reason is simple – IT is nothing but software. At it’s core, we are responsible for the care, feeding, creation, maintenance of software.
Additionally, understanding the environment (people, project teams, politics) in which that software resides is crucial. The stereotypical computer geek may grok’s the code, but is mystified when it comes to dealing with the human element.
Good luck. May you know that you know what you know.
Subjects
- MS networking (domain, AD)
- Tcp-ip/internet networking infrastructcure
- ‘nix sys admin
- Ms net admin
- Troubleshooting
- PC/computer architecture
General programming/development best practices
- Source code control
- Daily builds/auto builds
- Unit testing frameworks
- Design patterns
- Specs/requirements
- Eliciting specs/requirements from customers
- What makes a good spec?
- QA/testing
Language learning
We’ll pick one initially. Choice will be based on fundamental usability, ease of ramp-up, scalability, and (let’s be honest) marketability.
We will NOT choose a language simply because it’s the buzzword-du-jour
Possible candidates:
- C
- Perl
- Php
- Ruby on Rails
- C#
- VC.net
- VB.net
- Java
Methods (ie, how we’re going to get the training done)
- Web tutorials
- Rccd reading (below)
- MCSE curricula
- Redhat cert. curricula
- Tail network ops for a week or two
- spend time with developers
- 1 hr programming class/ 3x per week
- 2 hrs study 3x/week
- Identify a real need (small scale) and implement a solution while “eating our own dogfood” (dev/documentation/requirements gathering/source code practices)
Reading:
Books:
Peopleware - Productive Projects and Teams, 2nd Ed. - Tom Demarco
Getting
Things Done: The Art of Stress-Free Productivity - David Allen
The
Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition
- Frederick P. Brooks
User
Interface Design for Programmers - Joel Spolsky
Head
First Design Patterns - Elisabeth Freeman
The Best Software Writing I: Selected and Introduced by Joel Spolsky - Joel Spolsky
Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity - Joel Spolsky
Websites:
Joel On Software - General Cluefulness:
Command and Conquer and the Herd of Coconuts Mar 23 2000
Human Task Switches Considered Harmful Feb 12 2001
Hard-assed Bug Fixin' Jul 31 2001
Painless Software Schedules Mar 29 2000
The Joel Test: 12 Steps to Better Code Aug 09 2000
Painless Functional Specifications - Part 1: Why Bother? Oct 02 2000
Painless Functional Specifications - Part 2: What's a Spec? Oct 03 2000
Painless Functional Specifications - Part 3: But... How? Oct 04 2000
Painless Functional Specifications - Part 4: Tips Oct 15 2000
Top Five (Wrong) Reasons You Don't Have Testers Apr 30 2000
Up the tata without a tutu Dec 02 2000
Getting Things Done When You're Only a Grunt Dec 25 2001
The Guerrilla Guide to Interviewing Mar 23 2000
Daily Builds Are Your Friend Jan 27 2001
Daily skimmers
General geek thought: www.slashdot.org
Of QA, requirements, and men: www.stickyminds.com
General development: www.secretgeek.com
General development: www.codesnipers.com
Development in general: www.joelonsoftware.com
INFOSEC http://blogs.ittoolbox.com/security/investigator/

2 comments:
excellent list!
i didn't see larkware.com (the daily grind) in there though -- that's the only daily skimmer i use!
>Definitions of ado on the Web:
>bustle: a rapid active commotion
(http://www.google.com/search?q=define%3Aado)
(e.g. Shakespeare, 'Much Ado About Nothing')
SO 'without further ado' it is.
Merci beaucoup.
I confess to being intentionally confused for literary emphasis. Probably too much ado. (about nothing much, really)
Post a Comment