Software design
Just like any other places, there are both good and bad things about working here, where I’m at. The company has many great benefits, and other programs. One of them comes in the form of an employee requirement–each of us are supposed to take minimum of 40 hours of training in job related topics each year. Which is great. They really want us to improve on our skills and enhance ourselves. That enables us to do better job, helping the company more effectively.
What’s the catch? I hardly see any training that I’m truly interested in. I’ve been a paid programmer for 6 years with this company, in this department, working with same people. To this date, I’ve taken zero hours of professional IT/IS classes. I’ve taken a whole bunch of soft skills – how to manage better meetings, project management, speech, presentations, conflict management, e-mail etiquette, etc, etc. The list goes on. Some of them are useful.I’m very fed up with it, and I’m trying to deal with the management to agree that I can take a technical course. But there’s a great many obstacles to do this. For one, most of the outside, professional courses have the prohibitive price tags. $600+ minimum. $1000+ is often. WTH? For a 3-day courses?! Give me a break. And one more thing – class locations. This is one bad thing about living in Kansas – there’s nothing. Many of the courses are offered in either side of the coastal areas. Nothing in the middle.
I don’t take no as an answer very easily on these things. I’m always on the search on things I can read to learn more. Internet is great. It has shit load of junks. But it has loads of useful information as well. The problem? No matter how much reading I do, and how much I learn from them, none of them count toward my 40-hour requirement. *sigh* I can’t help it. Really, I don’t do blog surfing for nothing. My daily blog surfing consists mostly of programming topics. Not even a single anime site, really. (That’s saying quite a bit as a fansubber.)
Anyway.
In one of those quest for more self enrichment attempt, I was searching around the web on another topic that I thought would help me – user interface design. Joel on software is a very evil blog to me, in the same sense as how wikipedia is evil for many people – articles are inter-linked with each other, that you can spend hours reading different articles.
So, I’ve wasted 2 hours of my time this morning reading his blogs. I don’t regret it. He has written many things that made me go “ah-ha!” Most of the things are so fundamental, that it’s stupid. But stupidity really is his key note – it’s better to assume that the software users are dumb. We shouldn’t treat them like they’re dumb personally. We always need to pay respect to them. But more dumb we assume they’re when they use the software, it’ll be simpler for everyone to use the software. Great concept. Actually, many people say the same thing, in different words. But still, it is a great reminder how to think like a clueless users, not like a smart programmer. (That’s also one of my frustrations – we don’t have dedicated software testers, unlike other programming shops, who can give us good feedbacks often, and quickly.)
So, I’ve learned a lot, which is…. frustrating. Like I said, none of this counts toward my training hours. I’ve learned so much for free. I don’t want to waste 3 more days on this topic, telling me the same thing. I don’t want to spend $1000 company budget to learn the fundamentals I already know. Not even $20 to buy the book this blog author has written on the topic.
Before I disappear for another 3 months, I want to take a slim chance, and make a request :
If anyone knows of an on-line college/university course I can take, let me know. I’d much rather take a 3-months or 1-semester class than 1-week seminar on any topic. I want the materials taught in it to stick with me for a long time, not just for 3 days after I leave the classroom. My topics of interest right now – effective web design, software development and software project management with some focus on how to use the tools to assist us, software development in team environment, graphic designs with some training in graphics software (photoshop, paint shop pro, etc), extensible and flexible software design (with some emphesis on object orientation and software frameworking topics), and advanced topics on RDBMS – how database works behind the scenes, query optimizations, etc.
I’m not too picky, am I?