I thought everyone knew that stuff!
In the gap since my last post, pretty much every minute I've spent at work has been spent, well, working (and if that seems either redundant or stupid, please see my previous post about "thinking time"). But Your Working Boy is hardly complaining about that. In the last 3 months, I've gone from being a DotNet Dilletante, with plenty of book knowledge on the subject and next to no experience, to being a legitimate C# progrmamer, whatever that means or is worth. (Actually, I know full well what it's worth: my next job, almost without question.)
No my complaints aren't about hard work. Nor are they about the technology switch itself. I have been largely impressed with C# as a language and with the .NET framework overall as a technology -- and I say this with some reasonable Java experience as a basis for comparison. Sure, there are weaknesses (*koff* build and deploy *koff*), but my feeling is that M$ is dealing with them, and the open source community is stepping up to handle what is slipping through the cracks. And quite frankly, there are plenty of weaknesses in Java, too.
Sidebar #1 - But see, I can't get into the political wars over toolsets/vendors because to my thinking, and without belaboring yet another software development metaphor, "a hammer is a hammer." I got on the M$ bus early in my career, and despite having several opportunities to change that decision, I've stayed there. Monopoly or not, I like the M$ approach, I like their dev tools, and we live in a Windows world. So nah.
Anyway, back to this post:
My complaints are purely about, as usual, the poor decisions people can make in the context of business software development. As I described last time, many people have indeed camped out in their cubes to get this new code cranked out, with wide-ranging degrees of success for their efforts. I have personally been lucky in that the whole move has felt more like a homecoming to me. Familiar territory. Rather than struggling to translate my intentions into our totally obsolete technology base, I've been enjoying familiar syntax, IntelliSense, and outlandish notions like objects, methods, properties. And so (can you see it coming?) therin lies the rub...
A lot of what I took for granted as common knowledge, isn't. Common, that is. Like basic OOD/OOP ideas and techniques. So while I've had FUN FUN FUN doing what feels like "real" coding for the first time in over a year, I have been astounded at how hard it's been for some to make the platform switch.
And more than that, I'm EXTREMELY CHAGRINNED at the poor design artifacts that situation has left us with. I mean, some really dumb stuff has been put into some low-level classes, which means we all pay the price. I really don't want to go into details, because 1) technical fine points aren't really what my blog is about, and 2) I don't feel like writing enough to convey the necessary system background to clarify why the decisions were so poor. But suffice it to say that almost all of the architectural and maintenance benefits we could have derived from this change have been overlooked or eschewed in favor of doing things quickly. And more than that, several of those decisions are ALREADY being regretted, yet nothing is being done about them. All to gain maybe 2-3 weeks of coding -- which, had a better foundation been laid, might have been unnecessary anyway.
I don't care about not being listened to, or about getting things my way, or whatever. This is just about the right ways and the wrong ways to develop software. I'm sure YOU know which is which. Right?
Until next time I remain,
Your Working Boy


Recent comments
1 day 3 hours ago
36 weeks 6 days ago
36 weeks 6 days ago
1 year 19 weeks ago
1 year 20 weeks ago
1 year 20 weeks ago
1 year 21 weeks ago
1 year 22 weeks ago
1 year 22 weeks ago
1 year 22 weeks ago