Moral Dilema: My Company Doesn't Know A Thing About Standards

I was in a similar position in my last job. It was worse than that though, it was bad PHP and bad HTML. Things as bad as having an opening div echo’d in one file and a closing div echoed in a totally different one. The “Lead developer” had no clue about OOP and barely even understood the concept of a function. The codebase was a mess, making even fairly minor changes took hours of work trying to discover how things worked and what knock on effects changes would have in seemingly arbitrary parts of the system (and this was running a site with hundreds of thousands of pageviews a day and a database with over a billion records across a couple of hundred tables!). There was so much redundant code, undocumented that nobody there knew how it worked or if it was even in use! It got to the point where the “Technical Director” decided to start switching off pages/code blocks he assumed weren’t in use and waited to see if anyone phoned up complaining. Brilliant.

Despite being the “Junior Developer”, I managed to teach people there OOP. This happened because they saw how robust my code was and how everything was separated to make re-use and substitutions easier. Eventually, one of the other developers was eager to learn and together we put forward a case for a total re-build knowing it would save so much time and problems for the company long term. I actually headed up the development of the site structure and back end despite still being the “junior developer”!

It is possible to make changes from the bottom up, but people need to see the practical and technical benefits rather than an argument which is based entirely on “But this is how it should be done!”. Show them pages which break in some browsers, show them how difficult it is to control the design when <br />s are used. Make them think, ask them how they’d solve certain problems and why they’d do it that way.

^Yup, been there… only noone was willing to learn how to do anything different from the way they normally do it. They hadn’t even heard of version control and would edit code on the live servers… mad.

The real problem is no when things are not done properly… Maybe they don’t know better… the real problem is when people don’t want to learn any other way, even if it supposed to be better

I would have to completely agree with @Oddz comments. I would look for another job, some things are just out of our control and the moral ground on these circumstances would only lead you to be isolated and with office politics this only further increases the chances of you being disliked and in a workplace this is awful.

In office setting seniority and confidence matters more than correctness of information. You can have the dumbest idea but if delivered well with extreme confidence with a little seniority to back you up people will embrace it. That is the way it works.

…so so true. I would make your life a little easier and look for another job. I would not complain nor make a scene, just find better alternative work and leave in the best manner possible.

I am (and they know it) a very honest and open guy. The reason I have kept shut up is because they’re “superior” to me, and the last thing I want to be is right and be called a Heretic.

Not the best of characters to have in an office environment. Instead I would recommend you to be reserved and closed, until others have at least shown you their colours. Once you know who you’re dealing with then you can loosen up.

Your situation is almost identical to mine, in the end it was too much to bare and I left. Maybe this was not the best thing I did, maybe it was. In either case I made my decision back then.

We were using tabled layouts too, no validation, inline CSS, DreamWeaver and in many cases created external meaningless DW generated CSS, basic php includes and the best cases a very bad proprietorial CMS. Some of their websites even used the vintage <font> tag.

I did make some positive changes but in the end I ended up teaching everybody how to work, with a bottom dollar salary after almost a year and half of endurance I decided the best thing to leave.

With most office settings, information and knowledge is almost like some secret treasure; protected and kept under secrecy. This makes a terrible environment for evolving your learning but it’s the nature of this environment that limits evolution.

Information must be shared and openly released as people find things out in order to serve their company and not their selfish needs. The very essence to why information is kept secret is so the organization does not evolve resulting in the appearance that your better than everybody else, this protecting your temporary job position.

The Greeks have a saying for this:

Being better than than the group of worse people is certainly no prize. In the end those people protecting their jobs will drag their company down resulting in the eventually closure. If this happens those very people will struggle to find work in today’s world of the web.

Simply, always produce 2 options - human mind works in a strange way - give them 2 options at least, they will have to choose from 1 at the end, no escaping there. Don’t keep it open ended for them to produce critique.

And then handle it diplomatically - regard your work as coming from their intuition. That’ll do the trick. Bend their rules against them dude. AND NO NEED TO QUIT the industry…!!

I guess what you suggested is the best way, but despite my attempts to code well and bring it to their attention, they’ve been pretty indifferent about my code, they don’t question it.

Just as most of us here do with accessibility, you’ll have to sneak it in. You just write good code and just don’t tell anyone (the first time you did, you got yelled at. That’s a sign that if you are going to stay there, you stop showing people your code). It may take you extra time. Let them think you’re a little slow.

I am still figuring out jQuery so I used that as my excuse for slowness while I looked at how to make some JS interactions keyboard and AT-friendly. Now they just see what they want, and secretly it also works for other people too.

Evangelism is fine when you’re a big-shot. Apparently publishing a book can make you one. But otherwise, if you’re a minimum-wage code-monkey like the rest of us, you just do the best work you can and don’t show it around.

You will never win this battle, and it’s not a moral issue, really. I think that’s a little dramatic.

Many large companies are slow to adopt standards, and you are being paid to do it the way that they want you to.

If they want your opinion, give it to them.
If they don’t want your opinion, you serve nobody by giving it to them.
If you don’t like this kind of work, find an employer who works the way you like

While you are worrying about changing one organization to use standards, the whole world passes by. Pick your battles.

Sorry for not responding for a while, work’s been catching up. :stuck_out_tongue:

I fixed something like that about a month ago on our company website, it seemed so illogical. I think if I’m going to do any changing then I guess everything you said is going to be useful.

I did try out and see if I could get out, but the lead tells me to wait until my probation period is over, then he’ll recommend me to the engineering section (this is a good company, might as well try for another division).

I see, I think I’m going to stay here for a while, and see if I can take it since it’s worth it.

Thanks to everyone for their thoughts. :slight_smile: