The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
A man walks past a beggar every day and gives him $10 and that Continues for a year. Then suddenly the daily donation changes to $7.50.
" Well," the beggar thinks, " it's still better than nothing."
A year passes in this way until the man's daily donation suddenly becomes $5.
" What's going on now?" the beggar asks his donor. " First you give me $10 every day, then $ 7.50 and now only $5. What's the problem?"
" Well," the man says, " last year my eldest son went to university. It's very expensive, so I had to cut costs. This year my eldest daughter also went to university, so I had to cut my expenses even further ."
" And how many children do you have?" the beggar asks.
" Four," the man replies.
" Well," says the beggar, " I hope you don't plan to educate them all at my expense"
Well, I been at this job a couple of weeks now, and I'm glad this week is over! Agile environment is about as agile as an elephant with ingrown toenails. Comments in code? Why would you waste the characters? MVVM - in name only. Seems to me that most places I work at have very similar issues (hopefully I'm not the cause!!!) in that the developers are generally pretty damn good, but are just let loose with little technical management. So the code base is littered with 1001 ways of doing the same thing, broken design patterns and clever code that does the job it was designed to do, but is not very maintainable, and is about as flexible as my c*ck at a strip club (and, let me tell you, my poultry is exceedingly inflexible) I really liked the sound of this job as it was a chance to be a hands on dev without the responsibility I've had in the past - but I am wondering whether I might have to step up and rattle some cages a bit in order to get some processes working. Alternatively I just keep my head down, spend the money... and wait until PooperPig makes me enough to retire!
I mainly have a similar feeling. The front is often bloathed with buzz words used by (bad) managers or talk the talk developers. When you start looking under the hood many other words come to mind: spaghetti, maintenance nightmare and of course my all-time favourite: WTF ! (it's not for nothing that CP has a wtf icon you know )
Ah yes, talking the talk, but not walking the walk. All too common.
There are small strides being made at my job. I recently got a development/production branch setup in TFS and got everybody familiar with how to merge. That'll help ensure our dev/prod environments don't intermingle too much. And I spent a couple days this week cleaning up some code (e.g., converted a hodgepodge of string concatenation into a clean separation of view/model, and replaced embedded SQL calls with LINQ to Entity calls).
And there are some other folk who have setup a build server so you can't check in anything that does not build. The plan seems to be automatic deployments from TFS, but we need to get over a few hurdles first. They are also doing some interesting stuff with Ninject and are writing everything in C# ( ) rather than VB.NET ( ). Though, they have virtually no comments in their code; I'm hoping that's because they are changing stuff so frequently that they are putting code commenting off until later (though they seem like they might be the type who think well written code explains itself... hope not).
It's slow going, but there are a few of us fighting the good fight to improve the code base and processes. Better than previous places I have worked where any suggestion of change was met with rejection.
I really liked the sound of this job as it was a chance to be a hands on dev without the responsibility I've had in the past - but I am wondering whether I might have to step up and rattle some cages a bit in order to get some processes working.
Try it, but be ready to use plan B when you discover that you are fighting against windmills.
Well, it's your choice to evaluate the balance between employment, income and "doing the right thing," but do keep in mind that the phrase "don't shoot the messenger" became an idiom for very good reasons.
The "status quo" in a work-group is often something that has "crystallized" out of many competing organizational agendas, and factors, over a long period of time ... it can have a tremendous "inertia" that resists any fundamental change: you, as a newcomer, may not be aware of many of the "vectors" of influence and dynamics of exchange that led to the present status quo.
Of course, that may be an advantage for you, in a way: that you see the "Emperor has no clothes on;" that what is dysfunctional technically "leaps out" into your awareness immediately.
Before you take on the "status quo," I'd say you need to have "allies," and be aware of the potential reaction to your "rocking the boat."
As Hamlet says so magnificently:
"Whether 'tis Nobler in the mind to suffer The Slings and Arrows of outrageous Fortune, Or to take Arms against a Sea of troubles, And by opposing end them: to die,"
I once hop-scotched over my boss' head to the division manager about technical issues I thought were impeding the long-term increase in quality and productivity at a certain company: I was out of a job, soon, and I was delighted to leave because they gave me a substantial going-away gift of early vesting of stock in the company that I owned, but was nearly two years away from "really owning"
Looking at the Entity Framework 5 release, it has some nifty features I'd like to take advantage of (e.g., automatic query compilation, proper lookups of indexed varchar columns). However, many of those features will not work unless you have .Net 4.5, and we have .Net 4.
So, we just need to install .Net 4.5. However, .Net 4.5 doesn't work on Windows Server 2003, which is what our development server is on. So, we need to upgrade Windows.
And once we upgrade Windows, .Net, and Entity Framework, there are still some features we can't take advantage of (e.g., table-valued parameters), because we are on SQL Server 2005. We were supposed to upgrade to 2008 months ago, but it never happened. So, that will need to be kick-started too.
This could take a while to get all these ducks in a row...
Funny thing is we already have licenses. We just need the personnel to perform the upgrades. I'm just a web monkey; they don't (usually) let me install stuff on the servers. They already have plenty of DBA's, software engineers, and license managers to avoid installs as long as possible.