Data Tramp

Job vs. Career

September 19, 2007

Not long ago one of my developers asked me what I thought about a job opportunity he was offered – director of technology at another firm. It would have been a massive promotion for him – at least a 50% pay raise and extra responsibility. I had a lot of reasons to advise him not to take the job (you know… aside from not wanting to lose one of my best programmers). Luckily I didn’t have to resort to explaining these reasons (and by “explaining these reasons” I mean “begging”) because he knew my key arguments already. He is young and there are a lot of experiences he hasn’t had yet as a manager … or as a developer for that matter – so there are a lot of skills he still needs to learn in order to be successful in that kind of position. While the job offer sounded good he knew money wasn’t the only reason he gets out of bed every morning… he’s working on his career.

In the military I had a very clear career progression. It’s simple really. You start out as a private (usually out of high school) or as a lieutenant (if you finished college) and work your way up from there. The structure is ridged and well defined. If you want a promotion there are whole manuals on what training you need and what job experience is needed – even a website to compare yourself against others in the same grade.

Unfortunately, career progression is not as clearly defined in the corporate world – maybe even less so in recent years.
In any profession, people who have been with the same organization for a long time bring intrinsic value. Long-term employees understand the culture and see the evolution of process. They receive training and are an investment of both dollars and time. The military gets this point… from the time I was in boot camp it was presumed that I had entered into a career… not just a job. They prepared everyone as though they would be around for retirement. We were encouraged to train at a level above where we were – always striving for more.

But in an age where corporate employment is seen as temporary – training becomes a cost of doing business instead of an investment in long term employees. It’s a matter of dueling goals. Career-minded individuals need to gain the skills necessary to make the next leap in their career path regardless of for whom they are working. Companies on the other hand are largely motivated to train their employees to do the job for which they were hired… over training is expensive and might result in creating a resource which can no longer be afforded. Maybe this is an overly cynical point of view… but the take away lesson here is that no matter where someone is employed… they work for themselves.

A job is something a person does – it’s tied to where they work, not who they are. In a job the goal is to become as profitable as possible for the employer. Becoming more profitable means gaining experience or training focused on the tasks being completed. The focus is on filling a position.

A career, on the other hand, is more than what a person is doing – it’s where they’re going. In a career the goal is gain the experience necessary to progress to the next level – slowly becoming a professional who is valued as much for their opinion as their experience. This means not only having the experience necessary to work efficiently – but also an understanding of how the work completed fits into the larger picture. It often also means learning how to lead others and how to sell ideas – how to demonstrate the value behind what is being accomplished. I think the disconnect is that people tend to get too hung up on where they are employed and how much they are making and not hung up enough on where they are in their careers and where they want to be going. It is rare to find people trying to prepare themselves for the next level.

Career minded individuals consider more than work when looking into moving on – because the focus is no longer on their job. They also consider:

Education
– This can be formal classroom training or informal time spent researching on your own. Just be sure to apply what you are learning to your job and your career.
Volunteer time
– This does not have to have anything to do with your job at all. It’s the glory of the “hobbies and interests” section. Not to broadcast my hiring strategy – but anyone who has built houses for the poor through a non-profit lately, participates in organized sports, or brews beer at home and lists the activity on their resume will get a phone interview with me even if I don’t think the rest of the resume is interesting. Personality counts for a lot with employers now-a-days – especially in consulting.
Professional Associatio
– Time is an issue for many people, but the networking involved with a professional organization should not be scoffed at. You’ll learn about conferences, make contacts, meet recruiters and learn how other people are solving the problems you’re probably struggling through yourself. I am not sure which is better – belonging to several organizations or being extremely involved (like a board member) in a single organization.
Industry Understanding
– Knowing what is going on in your industry can give you a serious leg up – especially as your career starts to really advance. Know the major thought leaders. Read books and magazines on the business of doing what you do. Read trade magazines and maybe even write for them.

Finally, remember that the way to career goals may not feel like forward momentum. If a little less money or influence (say working for a non-profit or going back to school full time) will help you gain the skills or experience to further a career – then the move is worth it in the long run as long as a plan to move forward is in place. The key is to focus enough on yourself and where you’re going to be able to make those decisions as a professional – and not just because a recruiter calls and offers you a higher paycheck in the short term.

This article tagged -,

If you liked this entry, please consider linking it:

Feedback

Getting seen by the blind

September 11, 2007

I was walking home after a snowstorm last year and noticed a man in a wheelchair ahead of me. His wheelchair was of a higher quality than most I see rolling around – looking more like it was made in a high-end bicycle shop than a hospital ward. He crossed the street and began to struggle at the other curb. The wheelchair ramp had been swept clean and accessible, but a large chunk of ice sat in the street blocking the way.

As I went to help something hit me. People had gone out of their way to clear the curb by the ramp. These people had the best of intentions to make the sidewalk accessible - but they stopped short of actual .

Defining the problem

I like the Irish National Disability Authority’s definition of web accessibility:

“The goal of web accessibility is to ensure that information or services delivered through websites are available to and usable by the widest possible audience. This requires that all users can:

  • Perceive and understand the information provided
  • Perceive, understand and operate the website navigation
  • Perceive, understand and operate the controls and inputs

To achieve this, the design must take into account the fact that the ability to see, hear, make inputs, read text or process information varies from user to user, across time and across situations of use.”

There is a lot of talk about accessibility on the Internet, but very few people actually pay this kind of attention to how users view their material. The key phrase above is that ability “varies from user to user.” Designers are often paid to present a single optimal aesthetic solution without considering the sub-optimal reality of how their implemented designs may “look” to some users.

I could go into the myriad of impairments that would prevent people from being able to utilize a website site – but there are already great articles on the subject out there (including articles on disabilities which often go overlooked… such as cognitive impairment). I don’t think the problem lies in the general population knowing that limited users have problems using the internet. I think the problem is that the general population doesn’t know why they should care.

Now I should point out that I don’t blame developers or customers who want to ditch accessibility for “higher-end technologies” and more intricate interfaces (although I maintain that ALL interfaces can be made accessible at some cost). It’s a matter of target audiences. Most people I talk to on the topic wonder why they should spend time targeting a small percentage of their potential audience. Why is the cost worth the benefit?

Ah… but the thing to keep in mind here is that there is a whole class of lawyer out there who’s express intent is getting rich off of other people’s “oversight” and “prejudice.” Business practices that overlook or discriminate against minority groups generally result in multimillion-dollar legal fallouts.

Swimming against the tide

Businesses can fight the idea of paying for accessible websites and web applications for now. They can fight the same way community pools fight daily against lawsuits when kids hop fences and drown. They can fight the same way the PGA fought allowing handicapped golfers to use golf carts on the tour. They can fight the way banks fought Braille keypads on ATMs (I still want to know how blind people find the earphone jack on those things).

And fight businesses have so far. The internet community has seen big test cases come out against airlines (like South West), banks (Such as Bank of America), and retailers (such as Target). Thus far companies have been winning these test cases - but with private companies handling more critical government-style services such as voting and healthcare these days, the line between commercial protection from Section 508 and the legal loopholes around the ADA is rapidly fading. The plain fact is that eventually the law will shift to protect the disabled; it’s just a matter of time and a matter of who gets sued or fined first to force the issue.

All of this said - I don’t think we really need the threats. I think most people, on some level, realize that providing their content to the widest possible audience is a good thing. The more pressing question is how do we achieve accessibility in an affordable way? In other words, how can we squeeze as much benefit as possible out of the cost?

My suggestions

The following are my suggestions to developing accessible websites - along with potential side benefits to doing the work.

Develop your content
As it turns out, the same writing skills used to assist people with Cognitive Disabilities will also assist everday “fully enabled” users as well. Keep things short and simple. Use subheadings to separate content and give context. Use bullet points and graphics to break up content in a sea of text. Use <dfn>, <acronym> and <abbr> to define terms, acronyms and abbreviations. Write in a reverse pyramid format - presenting the most critical information up front and drilling into details. Oddly enough… these are all things I learned to use in news writing classes at journalism school. Poor writing skills will never win points with an audience - spend time on the task of creating content or hire someone to do it instead.
Develop with Web Standards
Most assistance tools for the internet are machine based. The problem is that machines are HORRIBLE at understanding context. Proper, semantic markup for content is a must for accessibility where users need to use screen readers or special browsers to surf the web. The side benefit here (actually maybe the main benefit) is a Search Engine Tuning boost. It also makes the website more scalable as well. This is far from a bandwagon, folks - if a developer is using inline styles for anything - fire them immediately and find someone who knows what they are doing.
Develop first without styles
I am sure everyone has a very pretty aesthetic design for their website. However pretty designs do nothing for the visually impaired - or for search engine crawlers, for that matter. Before beginning the development of CSS have the developer take a look at the content on screen without styles. What order does it appear in? Is the content ordered in a logical way? Often we developers build HTML pages left to right and top to bottom because it’s easier - the way my site is built here, actually. However long navigation lists or auxiliary information appearing before the content in our documents will Negatively affect SEO on dynamic sites with constantly changing content. Ensuring main content shows up first will also assist restricted users who visit the site with screen readers. Content up top means less to listen to and wade through to get to content
Remove extraneous images from markup
One misconception is that Accessibility means that the impaired user should be exposed to all the same content and actions as any other user of the site. This is simply not the case. A picture of a girl dancing through flowers on a financial website makes sense to a user who can see the image and comprehend the implied branding and stylistic sense. A blind user will normally hear their screen reader say - in a monotone voice - “Girl dancing through flowers.” This does not help site branding or stylistic sense - much less than help the user obtain what they were looking for - namely the content. Instead, only include images in markup which contain some sort of content or meaning - and include rich ALT attribute descriptions which actually describe necessary meaning and context to the user.This one warrants an example. A developer is working on an art history website and providing a page on a topic - say paintings with a distinctive feature. She decides to give a few image examples - so obviously, as key content, these would be included in <img> elements. However, leaving alt attributes which say something like “La Gioconda by Leonardo Da Vinci” will not necessarily make the image more accessible. Say something helpful to give context… such as “La Gioconda, otherwise known as the Mona Lisa by Leonardo Da Vinci, features a young woman whose gaze meets with the viewers, mouth curled in an almost expressionless smile.” Now, if there is an image which is not part of the content of the site - say border images or bullets, use CSS to include them. This technique, again, will assist with search engine optimization and make the website more scalable. The major side benefit, however, may come from how the site is viewed from mobile devices - which typically have troubles viewing inline images.
Use page titles and page descriptions
Users without the ability to visually identify which section of a website they are in - or even which website they visited - are more susceptible to getting lost. Since one of the basic precepts of design is context, I don’t think I need to explain why this is a bad thing. Hence, the first thing in a webpage body should be a very short context helper. A page title, page description and maybe breadcrumbs can go a long way to helping a handicapped user figure out where they are and what they can do there. These titles and descriptions can be hidden with CSS.
Action Keys and internal navigation
Setting up internal navigation on pages is important. While there isn’t much in the way of an auxiliary benefit out of it (aside from extra hooks for CSS maybe…) it gives important navigational features to limited users - especially on sites which do not use header tags often. Set up anchor elements with name attributes (<a name=”space”>) at each major section of the site so it can be linked directly. Then include a navigation menu to these sections. This includes primary and sub navigation, content sections, etc.While internal navigation may be difficult to provide on dynamic sites, access keys should be simple to implement. Features of a site which exist throughout - such as a contact page or a search feature - should be assigned an access key. It is also helpful to create an accessibility statement page which gives an index as to which access keys are being used and then assign that page an access key of ‘0′ on every page… such as Jeremy Keith did over at Adactio. I recommend following the UK government standard for deciding what keys to assign where.
Offer an audio version of key content
I don’t think the average person needs a marketing expert to tell them that a trained broadcaster reading content will be more pleasant sounding than a computerized screen reader – especially on sites with hard to pronounce locations, industry terms or acronyms. Recording an audio alternative to text content on the site will also ensure proper pronunciation of complicated words. Link it at the top or as an item in internal navigation - or offer it as a hidden link at the top of each section of content. All love for Freedom Scientific, but if I were a corporation I wouldn’t want to trust how my marketing sounds to JAWS. Might as well have a speak and spell read beer commercials. For the uninitiated, listen to JAWS read punctuation.
Spell it out
One of the things I lament about the trend towards dynamic based Content Management System websites is that, while our content is easier to publish, it is also generally harder to describe. We live in a culture of Acronyms, abbreviations and industry terminology – much of which may not be readily understood by segments of the audience. This situation becomes more complicated when an audience is trying to get at information through a screen reader. Read a Rachel Ray recipe on food network’s website and imagine trying to figure out “While you’re searing that steak, add a Tbsp of EVOO to the rue we just made - it’ll be de-lish!” (wait… in all seriousness… I doubt Rachel would ever add olive oil to a rue.)If acronyms must be used, couple them with a well thought out Aural Style Sheet. These can explain to a screen reader when to spell out “E-V-O-O” or say “Extra-Virgin Olive Oil” instead of the incomprehensible “ee-vooh”. Aural style sheets can also affect how fast difficult terminology is read.

In conclusion

I threw out a lot of ideas here… but the avid reader will notice I didn’t even touch design considerations such as high contrast color pallets (…looking for a good color-safe palette? hop over to Bob Stein’s site), large controls and text size. Go read a design blog to learn those… or maybe leave some ideas in comments below. The take away here is to keep limited users in mind when building sites - and test the results of the work being done to make sure the users are being served. The best of intentions didn’t help that guy in the wheelchair get to the cleared handicap ramp… me and three other people did.

This article tagged -, ,

If you liked this entry, please consider linking it:

Feedback

If you wanted a Mac like mine

September 8, 2007

So around December I became a Mac user. This was largely due to a program called TextMate - a popular web development IDE. I saw several demonstrations of developers using the program - which seemed faster and simpler than my old Dreamweaver. Before long I noticed one of our designers at work building his blog out in it. I was hooked by the speed of the Mac OS interface and the amazing amount of control Michael had from the keyboard. I was hooked, and ten years after my Mac Classic started collecting dust I returned tlife as a Mac User.

Recently I reinstalled the operating system on my PowerBook G4 to erase all memory of the prior inhabitants (it’s an office owned machine). As I suspected, the speed boost has been tremendous. The experience also made me think hard about what applications I use. See, in my initial exploration of the Mac world I installed just about anything anyone suggested. Most of it I didn’t need or use. In the end here are the items I found most useful - the aps I couldn’t live without:

TextMate - the text editor:
Gloriously simple, amazingly customizable and with none of the incredibly annoying habits of it’s windows counterparts - TextMate was ultimately the reason I switched to a Mac. The application hooks into the rest of my OS in glorious fashion - type “mate filename” from the command line in terminal to open a file; or open files in an Eclipse like library view of project folders; or hook directly into FTP aps for remote file access… it even . Also important is TextMate’s auto-complete - which is very intuitive. Tab if TextMate already recognizes the word or command you are typing, escape if you want it to complete a command for you… which is great if you need to type mysql_real_escape_string 30 times. In a stroke of genius, TextMate will also let you use soft tabs - inserting space characters instead of tabs for indenting - key if you’re working in SQL. Build your own macros… a feature I love in a text editor since it let’s me quick key my own quirkiness. And finally, TextMate comes bundled with language information for everything from ActionScript and C++ to php and SQL - it even comes with a bundle which will interface directly with your svn server. You need to pay for it (40 bucks) but it is worth every penny.
Cyberduck - the FTP browser:
FTP is one area I haven’t really gotten comfortable on the Mac with yet. Cyberduck has been the best thing I’ve found so far, though. Simple access, meshes with keychain and allows you to either download your files to the desktop or open them for remote development in TextMate.
Firefox with fireFTP - the other FTP browser:
I think Firefox plugins are probably a separate article - however there are times when all you wanna do is copy stuff and Cyberduck just doesn’t cut it. As such I’ll mention fireFTP as an alternative. Besides, sea horses are cute.
Path Finder - the file explorer:
The Mac is built to mask the operating system as much as possible. This works great for your average user but can drive a developer - especially a former PC developer - absolutely insane. If finder makes you cry the way it does me, pony up another 35 bucks for Path Finder. It works enough like Windows Explorer that you’ll get used to the UI in seconds.
xScope - the screen measurement tools:
$17 bucks well spent if you’re doing web design. xScope gives a series of on-screen measurement tools that sit in your menu bar. Saves me the time of taking screen grabs and opening them in Photoshop to QA, see what falls below the fold at a given screen resolution, etc. Seriously… it doesn’t sound like a big deal, but now that I have it I find myself using the tools constantly. Buy Coors instead of Rogue for a night to save enough coin and make life easier for yourself.
MySQL 5.0 - the database:
One of the great things about having a Mac is Terminal (conveniently hidden in your Utilities Applications folder until you move it to the dock… you did move it to the dock, didn’t you?). I find it a much more pleasant interface than my old DOS window to deal with things like MySQL and ssh. Since Macs come with Apache installed, adding MySQL is a snap - a great tool to have if you’re a developer.
MySQL Tools - the Database interface:
Because sometimes a little GUI with your database is a nice thing. Seriously… if you have ever installed phpMyAdmin without getting this free tool from MySQL AB I’ll slap you personally - and that goes for PC users as well. The Query browser is sweet - and the administrator takes the headaches out of setting up tight security and user profiles.
PHP - the scripting language
What LAMP developer leaves an Apache install without adding PHP? I found a great binary install for Mac with most of the items I love turned on. Warning - not a production level install of php, so keep that in mind while debugging - but not nearly as bad an install as you’d get with other binary installers (like Xampp)
Synergy - the multi-desktop interface:
240 pounds worth in puddin. Synergy allows you to use one mouse and keyboard to control as many computers as you like. I move my mouse seamlessly across all three monitors on my desk - the one for my Mac and two for my PC. It is a major pain to install properly (so that it starts each time without a lot of hassle) but it makes you feel like you’re starring in Swordfish and it’s free.
StuffIt Expander - the file compressor:
Why StuffIt? because zip files beg to be opened.
OnyX - the Mac ICU:
Because sometimes things go wrong. A while back my battery died before I was able to shut down. The result was a massive crash of my Mac. After getting a safe boot to work, OnyX was the only thing I could find to bring my baby back to life.
Adium - the Chat program:
Adium will let you jack into just about every chat program out there with one very customizable interface. People hear it chiming away at my desk all day if I don’t remember to plug in my headphones when I get to work.

In conclusion

Obviously there is more. Such as the Flickr Uploader, MS Office and Adobe CS2 (behind the times… I know). One of the things I love about the Mac community is that people seem more friendly and excited about sharing what they use - so if you see anything missing, let me know!

This article tagged -, , , ,

If you liked this entry, please consider linking it:

Feedback

Powered by WordPress