Do they shape up, or do I ship out?
September 21, 2005 3:57 AM   Subscribe

I just started working for an IT company that has been dipping it's toes in the world of web design & development for a while, but not been doing things right. How do I get them to shape up? Or do I ship out?

Sites by the other programmer are mostly IE only, and used ASP and Access Databases. Which says it all. I'm trying to move things into XHTML and CSS, and using PHP + MySql, but I'm getting a lot of resistence. I know it's a better way of working, but I have trouble explaing WHY. I respect that the other programmer may have to learn new things, but I'm also being expected to learn ASP, which I am.

I'm also being asked to provide search engine optimisation, which I've always considered selling snake oil. I know there are some things you can do, but I don't expect them to make much of a difference.

Should I try to change them and stand up for what I belive is right? or just buckle and do as I'm told (and be unhappy)?

I've only be here 3 months, but I feel the urge to leave already. It has a lot of promise (my own office and working from home), but I'm being forced to bodge jobs that I would never do elsewhere.
posted by lemonfridge to Work & Money (13 answers total)
Write a letter explaining what is wrong. You should separate the two issues you've mentioned.

The asp / access thing is bad, but it isn't *that* bad. Tell them that you think this is the wrong way to develop, and give them reasons WHY it is. If you only have a feeling, then you've got no right to expect them to change. Don't quit over this unless you value your skillset more highly than your job. Personally, I've no problem with using access and asp. It's a tool. May not be the best tool, but there isn't anything intrinsically evil about it.

The S.E.O thing is a moral issue. You've got three choices.
1) Do what they say.
2) Refuse to do the SEO stuff, but not make a fuss when they give it to someone else in the same organisation. Expect to be fired.
3) Refuse to work for a company that engages in SEO behaviour. Quit immediately.

I'd take option # 2 here. Make it clear that you have a moral issue with what they are doing and refuse to have anything to do with it. Explain in great detail to them that you consider what they are doing is wrong & why that is. If they fire you, then fine. You've done what you considered to be the right thing. No-one said the right thing is the easy thing, but at least you can hold your head up.

As for why I wouldn't take option 3. Truth is that most organisations are doing something wrong, and the only way you're likely to be able to change them is from the inside. S.E.O isn't illegal and they will gain a competetive advantage from using it. Saying you're going to quit if they don't stop doing it isn't going to change the situation.
posted by seanyboy at 4:41 AM on September 21, 2005

I don't think you should try to convert from ASP/Access to PHP/Mysql just because of "Microsoft is the suxx0r". What runs on the backend doesn't matter one bit in terms of the actual site as seen by the user or the generated code, and if it works fine then so be it. Businesses don't like to switch things that are currently working "just because".

Now if there is a valid technical reason why ASP/Access is not performing as well as PHP/Mysql, then that's another issue. If you can make a business case for it (in terms of TCO) then go that route. But don't try to switch on vague grounds that ASP sucks or something.

As far as the site itself, the choice to only support IE (and presumably not be standards compliant) is a fight much more worthy of worrying about. But again you have to make a business case for it. If redesigning things in standards mode would cost more in developer manpower than the corresponding increase in sales of that extra 10% of web surfers would provide, then there's no sound business case for doing it. You may be able to make a case about accessibility if there are any regulations relevent to your business.

That aside, the problem is that outside the circle of web geeks, nobody cares whether a page validates or whether it uses IE-specific features. So while you and I may think it disgusting to do these things, you will need to make case based on tangible results, not just "we really should be doing it this way."

Remember, if the management above you chose to go this route then it's their decision. Obviously, you should do everything in your power to convince them of the error in their ways, but don't lose any sleep over it. If you make your best case and they still don't see the light then so be it. It's not your responsibility at that point -- if they are dead set on having a crappy site then they will have to live with the consequences.

RE: SEO. Yes, there are some shady techniques that try to game the system and you should stay as far away from those as you can. On the other hand, there are a lot of sensible things you CAN do that will greatly improve your ranking:

- Make sure pages can be easily indexed and parsed by robots
- Try as best as you can to get away from "tag soup" / table-based layout, and instead use the tags to convey the meaning they were designed to (semantic web)
- Use legitimate means of getting your site linked to from other sites
posted by Rhomboid at 4:53 AM on September 21, 2005

Sensible SEO is a great way to promote better use of XHTML and CSS; you really can't fully optimise a site that's full of bloated, hacky markup. If they're asking you to do 'black hat' SEO then that's another matter.

You might be able to get the go-ahead to change the way you work, and gradually take a few people along with you as time passes, but you have to realise that some people just aren't interested in doing things better, or aren't capable of updating their skills. The guys hacking around with ASP and Access might not be smart enough to move to ASP.NET and SQL Server, for example, and see anything new as a threat to plodding along.

I managed to get my employers to embrace web standards, but only because I initially went ahead and made sure sites were well-built even when I was specifically told not to bother, and I was working with a small number of colleagues who were interested in advancing their skills. Eventually everyone else realised it was a selling point and improved efficiency. Other colleagues have done similar things with server-side technologies, pushing things forward against the (sometimes understandable) inertia of the company.
posted by malevolent at 5:01 AM on September 21, 2005

At the end of the day, the differences between development tools are ultimately minor when compared with the talent of the people using them. It is certainly possible to create kick-ass websites with ASP+Access, and this is what I would recommend you try to do if you can't win your PHP/MySQL argument. Plus, the more experience you get with the tools, the easier it will be to win your argument.

I wouldn't lose any sleep over working on search engine optimization, assuming that neither my methods nor my customers were particularly sleazy.
posted by blue mustard at 5:01 AM on September 21, 2005

Yeah, no kidding bm. There's nothing inherently wrong with SEO -- if I were a web development client, I'd want to know that my chosen company was keeping an eye on those kinds of issues. Stay away from the black hat stuff... it's pretty silly anyway and there's no real value there over the long term. Stick to the basics, like making sure your entire dynamic site can be safely spidered, like having alt tags on your images, that kind of thing. The boring details make a big differene when it comes to true SEO.

The reason to switch to OS type development is simple -- there's no cost to scale it, once you've gotten a grip on the technology. Besides the fact that open code means that a lot of the hard work has been done for you and is available for your use, it's nice to not have to worry about the headache of "Hmmmm... do we have another legal license for Access around?"

That said, you should learn ASP and Access -- knowing those two things is actually really cool -- but there's no reason you can't mix and match technologies from there as you get more comfortable with both the workplace and the technology. You can use PHP to grab data from Access and ASP to grab data from MySQL. MySQL performs significantly better than access in most cases, but for small sites, it probably doesn't matter much.

As a side note from somebody who watches the programmer job boards every day: if you can move them towards .net and microsoft sql server, you won't be hurting for work if you can learn those skills.
posted by ph00dz at 6:05 AM on September 21, 2005

Not on topic but since ph00dz mentioned programmer job boards... i'm looking for a programmer (freelance) and was wondering what job boards do people recommend I know about elance
posted by matimer at 6:09 AM on September 21, 2005

As malevolent points out, the two issues are related: you should be advocating CSS / XHTML as a means of search-engine optimization, among other things.

In my own experience, the best way to convince a web design outfit to modernize is simply to read lots of books, know your stuff, and argue from the following premises:

1. transparency of code (i.e., SEO)
2. permanent accessibility (i.e., no dependence on a particular browser and oeprating system)
3. ease of coding (it really is much easier to write in CSS).

You need to make the case from a time- and profit-based perspective. How will good coding habits save time and money?

My guess from what you've written--I don't know for sure, obviously--is that your company is a small web design shop that makes small, fast websites for small, poor companies. As such they might have an assembly line approach: get the client, make the site, get paid. In these contexts there are very few opportunities to retrain and think through projects. Maybe you could take on a small project by yourself, do it your way, and then, by prior arrangement, use it as a demonstration platform for explaining why your way is better.
posted by josh at 6:30 AM on September 21, 2005

One tip about going XHTML/CSS: don't try to pull everybody along into CSS positioning. Anyone who's walked down the CSS positioning road knows that it can be intensely frustrating and time consuming to try and get cross-browser layouts that work. IMHO, it's worthwhile to learn how to do anyway, but reluctant coworkers and management are going to throw the very real downsides back in your face very quickly.

But conversely, the rest of CSS is so extremely useful that if your shop refuses to give up their tags and horribly nested tables, I'd say that you might want to look for another job on that basis alone.
posted by weston at 12:36 PM on September 21, 2005

" if your shop refuses to give up their tags and horribly nested tables"

if your shop refuses to give up their <font> tags, I mean.
posted by weston at 12:38 PM on September 21, 2005

Thanks for the advice, especially to kirkaracha. Useful links!

Its an IT support company josh. Websites have just been a sideline for them until I came along.

I totally understand that I can't force them down the CSS layout routes. I've tried them myself and find them frustrating. But Ive just had a project land in my lap that will be a perfect first attempt for me to try it in a real-world situation.

I'm going to continue with everything as it is at the moment, and try and change things slowly, and explain my reasons when I can.
posted by lemonfridge at 12:49 PM on September 21, 2005

They've been "dipping their toes"?

Convince them to stop dipping their toes and take it seriously.

By which I mean, tell them to create a new Web division, staff and resource it properly and appoint you head of it.
posted by AmbroseChapel at 6:59 PM on September 22, 2005

Some SEO can have useful side effects in helping usability and accessibility. Good terms in links helps disabled people, and it helps google. Degrading gracefully for non-javascript browsers also helps search engine robots that aren't better than Netscape 2. Having human-readable terms in urls makes for a more usable search history, and search engines prefer it.

But if by SEO you mean Spam, then that's just stupid and shortsighted. I'd quit because I don't want someone to find out I worked for spammers and have my name associated with it. But then there's a lot of work around so I can afford to be righteous.

Web Standards are good practice, and if you're trying to convince them you'll need to understand their motivations.

Good programmers should appreciate the html/css abstraction, and being able to more quickly make changes to a site than html tables and font tags. That cross-browser is easier when the browser is kept in compliance mode rather than quirks. And that it's future compatible.

Managers might like SEO benefits, that the bulk of sample code out there is for standards so it's faster for programmers, that alternative browsers are used by every 1 out of 10 people, that demonstrating standards in the occasional project might allow them to get Government contracts, that it's about 20% cheaper in bandwidth, and that the competition are doing it.

I'm just guessing, but you've only been there 3 months and some new employees ask too many questions - rather than trusting themselves - and then they're stuck implementing bad answers.

If you're right, and you seem to get it, then I'd just start doing it the right thing where it's ambiguous. Try to change their ideas socially, through email and presentations. If you're not completely tactless it can be quite influential.

As for PHP/MySQL vs ASP/Access... well, ASP.Net is ok, but if it's old style ASP has no future. Pick your battles though -- unless it's really messy ASP I'd care more about web standards than I would the programming language.
posted by holloway at 8:16 PM on September 22, 2005

« Older Do I get more petrol at night?   |   Reading in dreams Newer »
This thread is closed to new comments.