Tuesday, February 12, 2008

Get Rid of These Bad Work Habits

Get Rid of These Bad Work Habits

By Anthony Balderrama, CareerBuilder.com writer
Who doesn’t have at least one habit that drives everyone else insane? You might bite your nails, slurp your coffee or tap your pen incessantly. Annoying? Yes. Serious problems? Not really.

In the office, however, some habits can go beyond annoying your co-workers; they can damage your career.

For the sake of your career and your co-workers’ sanity, here’s a list of bad work habits that can harm your career and how you can break them. If you’re guilty of one (or more), it’s time to get them under control.

Bad Habit: Missing deadlines.
What you think: “If it’s only a little late, it doesn’t mean anything.”
What it really says: Your colleagues and boss can’t count on you.
What to do: Don’t view deadlines as negotiable. Remind yourself that people are counting on you to do your job well, which includes completing tasks on time. Even if you just barely missed the deadline and everything turned out OK, you probably caused your teammates a lot of anxiety and extra work, which they won’t forget.

Bad Habit: Dressing unprofessionally.
What you think: “I’m the office free spirit with a quirky sense of style!”
What it really says: You don’t take the job seriously.
What to do: You don’t have to be a boring dresser to be professional, but you shouldn’t look like you’re about to go clubbing or strutting down a runway. Take a cue from your co-workers to see what’s considered acceptable in the office.

Bad Habit: Not being punctual.
What you think: “As long as I get all my work in, nobody cares.”
What it really says: You think your time is more important than everybody else’s.
What to do: Stick to the schedule. Everyone in your office would like to sleep in a little or leave early, but they don’t because people rely on them to be on time.

Bad Habit: Checking your e-mail, playing games, shopping.
What you think: “I’m discreet.”
What it really says: You’re not doing your job.
What to do: Keep the fun stuff to a minimum. Most employers don’t mind if you check your e-mail every once in awhile or read your favorite blog for a few minutes in the morning. They begin to care when you minimize that game of Scrabulous every time they walk by your desk. You’re being paid to work, not play.

Bad Habit: Gossiping.
What you think: “I’m just saying what I heard.”
What it really says: You can’t be trusted.
What to do: Sure, everybody gossips a little here and there, but it shouldn’t be your livelihood. Eventually you’ll gain a reputation for not keeping anything confidential –whether it’s a personal matter or work-related. Plus, your chattering could end up hurting somebody’s feelings or reputation.

Bad Habit: Being negative.
What you think: “Everybody complains.”
What it really says: You’re the person to avoid.
What to do: It’s natural to grumble about work once in awhile. If you gripe and moan when you’re asked to do anything, however, people will not only get annoyed, they’ll wonder why you don’t just quit. Keep in mind that work isn’t always fun; keep the complaints to a minimum.

Bad Habit: Trying to be everybody’s best friend.
What you think: “I’m just sociable.”
What it really says: You don’t know how to set boundaries.
What to do: It’s not uncommon for friendships to develop at work, but don’t expect it to happen with everybody. Unless you have reason to do otherwise, treat your superiors, colleagues and subordinates like professionals, not like drinking buddies.

Bad Habit: Burning bridges.
What you think: “I’ll never see them again.”
What it really says: You’re not a professional who thinks about the future.
What to do: As much as you dream of telling off your boss or co-workers after you’ve handed in your resignation, restrain yourself. People change jobs, companies merge – someone you dissed in the past may end up being your boss down the road.

Bad Habit: Always being the funny one.
What you think: “People love me.”
What it really says: You’re really annoying.
What to do: There’s nothing wrong with being funny – most people do like a good sense of humor. Just remember that not everybody wants to hear your sarcastic quips and “Godfather” impersonations every five minutes.

Bad Habit: Forgetting you have neighbors.
What you think: “I’m not as annoying as they are.”
What it really says: You’re inconsiderate.
What to do: Do unto your co-workers as you’d want them to do unto you. Your hour-long conference call on speakerphone is just as irksome to your cube mates as theirs are to you.

Anthony Balderrama is a writer and blogger for CareerBuilder.com. He researches and writes about job search strategy, career management, hiring trends and workplace issues.

Monday, February 11, 2008

Speeding Up Web Page Loading

Speeding Up Web Page Loading - Part I (1)


As more and more businesses go online, just having a web presence is no longer enough to succeed. It takes a reliable, high-performance Web site that loads quickly too. After all, nothing makes an Internet user leave a site quicker than having to wait ages for a web page to load.

A previous post briefly identified the factors that determine how fast (or slow) your web pages load, namely:

* Size (of your web page)

* Connectivity (quality of your host's network connections and bandwidth)

* Number (of sites sharing your server).

This article will now discuss ways that webmasters can ensure their sites' pages load quickly and efficiently, by focusing on the first factor.

File size - the total of the file sizes of all the parts of your web page (graphics, music file, html, etc.) should be small enough to download quickly. A reasonably fast loading page is sized at around 50 - 70Kb, with up to 120Kb for more graphics intensive pages. You can optimize your file size by:

1. Reducing page weight:
* Eliminate unnecessary whitespace (use tools like HTML Tidy to automatically strip leading whitespace and extra blank lines from valid HTML source) and comments
* Cut down on extras (buttons, graphics) and don't put a lot of graphics and big midi files on the same page
* Move webrings from your homepage to their own page
* Reduce the file size of some of your graphics (use GifBot, an on-line gif reducer at Net Mechanic)
* Redesign pages so it works over 2 different pages instead of just one
2. Reducing the number of inline scripts or /Moving them into external files - inline scripts slow down page loading since the parser must assume that an inline script can modify the page structure. You can:
* Reduce the use of document.write to output content
* Use modern W3C DOM methods to manipulate page content for modern browsers rather than older approaches based on document.write
* Use modern CSS and valid markup - CSS reduces the amount of markup as well as the need for images in terms of layout. It can also replace images which are actually only images of text. Valid markups stop browsers from having to perform "error correction" when parsing the HTML and allows free use of other tools which can pre-process your web pages.
* Minimize CSS/script files for performance while keeping unrelated CSS/scripts in separate files for maintenance
* Use External HTML Loading - involves using an IFrame for Internet Explorer and Netscape 6, and then shifting that content via innerHTML over to a
tag. Benefits: keeps initial load times down to a minimum and provides a way to easily manage your content. Downside: we have to load content along with all the interface elements, which can severely impair the user experience of the page. A tutorial on externally loading HTML can be found here.
3. Minimizing the number of files referenced in a web page to lower the number of HTTP connections required to download a page
4. Reducing domain lookups (since each separate domain costs time in a DNS lookup) - be careful to use only the minimum number of different domains in your pages as is possible
5. Chunking your content - the size of the full page is less important if the user can quickly start acting on some information. How?
* Replace table-based layout with divs
* Break tables into smaller ones that can be displayed without having to download the entire page's content
o Avoid nesting tables
o Keep tables short
o Avoid using tables to lay out elements on the page
o Exploit several coding techniques:
+ split the page layout into multiple independent tables to preserve the browsers' ability to render each of them step-by-step (use either vertically stacked or horizontally stacked tables)
+ use floating tables or regular HTML codes that flow around the floating objects
+ use the fixed table-layout CSS attribute
* Order page components optimally - successive transmission of the DHTML code enables the browser to render the page during loading
o download page content first (so users get the quickest apparent response for page loading) along with any CSS or script required for its display;
o disable any DHTML features that require the page to complete loading before being used initially and only enable it after the page loads;
o allow the DHTML scripts to be loaded after the page contents to improve the page load's overall appearance
6. Specifying image and table sizes - browsers are able to display web pages without having to reflow content if they can immediately determine the height and/or width of your images and tables
7. Using software and image compression technology
* Use tools that can "compress" JavaScript by reformatting the source or obfuscating the source and reducing long indentifiers to shorter versions
* Use mod_gzip, a compression module using the standard zlib compression library, to compress output - compressing the data being sent out from the Web server, and having the browser decompress this data on the fly reduces the amount of data sent and increases the page display speed; HTTP compression results in 150-160% performance gain (sizes of web pages can be reduced by as much as 90%, and images, up to 50%)
8. Caching previously received data/reused content - make sure that any content that can be cached is cached with appropriate expiration times since caching engines reduce page loading time and script execution by performing optimizations and various types of caching; cuts down latency by as much as 20-fold, by preventing dynamic pages from doing any repetitive work, and reducing the turnaround time for each request
9. Choosing your user agent requirements wisely - specify reasonable user agent requirements for projects; basic minimum requirements should be based upon modern browsers which support the relevant standards
The next post will focus on the other two factors, as well as other ways that webmasters can speed up their web page loading.

Speeding Up Web Page Loading - Part II (2)


In Part I, we detailed how webmasters can speed up the loading of their web pages by optimizing their file sizes. Here, some additional tips to make pages load faster will be discussed.

Another factor to consider is the speed at which the pages are served. What happens is that servers get bogged down if too many web surfers ask for the same page at the same time, resulting in a slowdown in loading speed.

Although there is no way to predict exactly how many people will visit a site at once, it is always a good idea to choose web hosting companies that tune its servers to make sure that enough computing power is given to the sites that get the most hits.

You can opt for hosts, like LyphaT Networks, that use caching and/or compression software to maximize the performance of their servers and minimize page loading times.

Another consideration is your host's connectivity or speed of Internet connection and bandwidth. Bandwidth refers to the amount of data that can be transmitted in a fixed amount of time and this actually fluctuates while you are surfing. Different users also have different access to the Internet (some might use dial-up or a dedicated T-1) so it is up to you to keep your file sizes down so that no matter who is viewing your site, they get as quick a download as possible.

Some ways you can do this is by:

* Testing your page loading time with low bandwidth emulation - you can use the mod_bandwidth module for this if you're running an Apache Web server. This module enables you to set connection bandwidth limits to better emulate typical modem speeds.
* Pinging your site (reply time should be 100 ms) and then running tracert - each hop/transient point should be less than 100ms, and if it takes longer or times out, then it could be slow at that point.

You can check your results against the table shown at the Living Internet site on the number of seconds it takes to download data of various sizes at varying speeds of Internet connections.
* Using the HTML Toolbox program at Net Mechanic, or the Web Page Analyzer - 0.82, a free web-based analyzer that calculates page size, composition and page download time.

Tracking Web Site Traffic


When you establish an online presence, you're basically after one thing, to get your message across to Internet users. You don't set up a website just so people can ignore it, do you?

Whether or not you are running mission critical ecommerce sites or online marketing campaigns, as a webmaster, you're naturally curious about your site's visitors.

But first, it is important to distinguish what kind of visitors go to your site. According to Yari McGauley, in his article Web Tracking & Visitor Stats Articles, websites get two kinds: normal visitors (people) and robots (or any kind of automatic 'web crawling' or 'spidering' programs), ranging from Search Engines, to Link and Website Availability Checkers to Spam/Email Harvesters.

So how can you find out more information about your visitors? There are a number of ways.

1. install a counter at your site - a counter simply provides an indication of the number of visitors to a particular page; usually counts hits (a hit is a single request from a browser to a server), which is not a reliable indicator of website traffic since many hits are generated by a single page visit (both for the request itself, and for each component of the page)
2. use logfiles - if your server is enabled to do it (check with your web host) then every action on the server is logged in logfiles (which are basically text files describing actions on the site); in their raw form, logfiles can be unmanageable and even misleading because of their huge size and the fact that they record every 'hit' or individual download; you need to analyze the data

There are 2 ways this can be done:
* Download the logfiles via FTP and then use a logfile analyzer to crunch the logfiles and produce nice easy to read charts and tables
* Use software that runs on the server that lets you look at the logfile data in real-time

Some log file analysers are available free from the Web (ex. Analog), though commercial analyzers tend to offer more features, and are more user-friendly, in terms of presentation (ex. Wusage, WebTrends, Sane Solutions' NetTracker, WebTracker)
3. use a tracker - generally, each tracker will require you to insert a small block of HTML or JavaScript into each page to be tracked; gives some indication of how visitors navigate through your site: how many visitors you had (per page); when they visited; where they came from; what search engine queries they used to find your site; what factors led them to your site (links, ads etc).

Tracking tools also:
* provide activity statistics - which pages are the most popular and which the most neglected
* aggregates visitor traffic data into meaningful reports to help make website management decisions on a daily basis (ex. content updates)
4. third party analysis - services exist which offer to analyze your traffic in real time for a monthly fee; this is done by:
* placing a small section of code on any page you want to track
* information generated whenever the page is viewed is stored by the third party server
* server makes the information available in real time for viewing in charts and tables form

*OpenTracker is a live tracking system that falls somewhere between 3 and 4. You might notice, however, that tracking services will report lower traffic numbers than log files. Why? Because good tracking services use browser cookies as basis, and so, do not recognize the following factors as unique visits or human events:

* repeat unique visitors (after 24 hours)
* hits
* robot and spider traffic
* rotating IP numbers (i.e. AOL)

It also distinguishes how many unique visitors are from either: the same ISP, or corporate firewalls, large organizations. Otherwise all these users will be counted as the same visitor. Log analyzers, on the other hand, record all measurable activity and do not distinguish between human and server activities.

So why are web traffic statistics important? Because they help you fine-tune your web marketing strategy by telling you:

* Which pages are most popular, which are least used
* Who is visiting your site
* Which browsers to optimize your pages for
* Which banner ads are bringing the most visitors
* Where errors or bad links may be occurring in your pages
* Which search engines are sending you traffic
* Which keywords are used to find your site
* Which factors affect your search engine rankings and results
* Where your traffic is coming from: search engines or other web sites
* Whether your efforts to generate new customers and sales leads (such as newsletter signups and free product trials) working or not
* Which are your most common entry pages and exit pages

Broken Link Checkers


One of the basic things that webmasters need to master is the use of links. It's what makes the Internet go round, so to speak. Links are simple enough to learn and code. But sometimes, we make mistakes and end up with broken links (particularly if we're coding manually) or even dead ones (if we don't update content that often).

To an Internet user, there's nothing more frustrating than clicking on links that give nothing but error messages (alongside those pop-up ads, of course), and as a result, they may leave your site. That's not so bad if it's just a hobby site, but what if you're running e-commerce sites? Or if you're trying to get your website registered with search engines?

I know manually checking for broken/dead links can be time consuming, not to mention migraine-inducing. So what's your recourse? Automated link checkers of course! There are a number of them available online.

Here are some (latest versions), available either for free or under GPL, for your consideration:

* LinkChecker v1.12.2 - a Python script for checking your HTML documents for broken links
* Checkbot v1.75 - written in Perl; a tool to verify links on a set of HTML pages; creates a report summarizing all links that caused some kind of warning or error
* Checklinks 1.0.1 - written in Perl; checks the validity of all HTML links on a Web site; start at one or more "seed" HTML files, and recursively test all URLs found at that site; doesn't follow URLs at other sites, but checks their existence; supports SSI (SHTML files), the latest Web standards, directory aliases, and other server options
* Dead Link Check v0.4.0 - simple HTTP link checker written in Perl; can process a link cache file to hasten multiple requests (links life is time stamp enforced); initially created as an extension to Public Bookmark Generator, but can be used by itself as is
* gURLChecker v0.6.7 - written in C; a graphical web links checker for GNU/Linux and other POSIX OS; under GPL license
* JCheckLinks v0.4b - a JavaT application which validates hyperlinks in web sites; should run on any Java 1.1.7 virtual machine; licensing terms are LGPL with the main app class being GPL
* Linklint v2.3.5 - an Open Source Perl program that checks links on web sites; licensed under the Gnu General Public License
* LinkStatus v0.1.1 - written in C++; an Open Source tool for checking links in a web page; discontinued and forked and to KLinkStatus, a more powerful application for KDE (which makes it hard for Windows and Mac users to build); KLinkStatus v0.1-b1 at KDE-Apps.org
* Xenu's Link SleuthT v1.2e - a free tool that checks Web sites for broken links; displays a continuously updated list of URLs sortable by categories; Platform(s): Win 95/98/ME/NT/2000/XP
* Echelon Link Checker - a free CGI & Perl script from Echelon Design; you simply edit a few variables at the top of the script, set a url to the page you want, and it'll go to that page, get all the links, and check each link to see if its "dead" or not; allows you to set what word or words define a dead page, such as 404 or 500; Platforms: All
* Link Checker (CMD or Web v1.4) - CMD version can check approximately 170 links in about 40 seconds; CGI version takes about a minute and 10 seconds; very accurate; scans for dead links (not just 404 errors but any error that prevents the page from loading Platform(s): ALL
* phplinkchecker - a modified freeware version of the old PHP Kung Foo Link Checker; reports the status (200, 404, 401, etc.) of a link and breaks the report down showing useful stats; used for finding broken links, or working links on any page; can be easily modified for any specific use Platform(s): Unix, Windows

You can also have your URL's links checked (for free) at the following sites:

* 2bone's LinkChecker 1.2 - allows site owners to quickly and easily check the links on their pages; allows users to add their link to 2bone's links section; added (as of Jan 2004) an option to see all results returned on a single page or use the quicker 10 links per results page
* Search Engine Optimising - via its Website Broken Links Checker Platform(s): All
* Dead-Links.com - via its Free Online Broken Link Checker from Dead-Links.com; spider-based technology and super fast online analysis

With all these resources available at no cost to you, there's really no reason why you should still have those broken and dead links around.

Caching Web Site for Speed


MarketingTerms.com defines caching as the 'storage of Web files for later re-use at a point more quickly accessed by the end user,' the main objective of which is to make efficient use of resources and speed the delivery of content to the end user.

How does it work?

Well, Guy Provost offers a more detailed explanation of How Caching Works, but simply put, a web cache, situated between the origin Web servers and the client(s), works by saving for itself a copy of each HTML page, image and file (collectively known as objects), as they are requested, and uses this copy to fulfill subsequent requests for the same object(s), instead of asking the origin server for it again.

Advantages:

* if planned well, caches can help your Web site load faster and be more responsive by reducing latency - since responses for cached requests are available immediately, and closer to the client being served, there is less time for the client to get the object and display it, which will result in
* users visiting more often (since they appreciate a fast-loading site)
* can save load on your server - since there are fewer requests for a server to handle, it is taxed less and so reduces the cost and complexity of that datacenter (which is why web-hosting companies with large networks and multiple datacenters offer caching servers at various datacenters in their network; caching servers automatically update themselves when files are updated, which takes the load off the central server or cluster of servers)
* reduces traffic/bandwidth consumption - since each object is only gotten from the server once, there are fewer requests and responses that need to go over the network
* you don't have to pay for them

There are some concerns with its use, however:

* webmasters in particular fear losing control of their site, because a cache can 'hide' their users from them, making it difficult to see who's using the site
* could result in undercounts of page views and ad impressions (though this can be avoided by implementing various cache-busting techniques to better ensure that all performance statistics are accurately measured)
* danger of serving content that is out of date, or stale

There are two kinds:

* Browser Caches
o client applications built in to most web browsers
o let you set aside a section of your computer's hard disk to store objects that you've seen, just for you, and will check to make sure that the objects are fresh, usually once a session
o settings can be found in the preferences dialog of any modern browser (like Internet Explorer or Netscape)
o useful when a client hits the 'back' button to go to a page they've already seen & if you use the same navigation images throughout your site, they'll be served from the browser cache almost instantaneously
* Proxy Caches
o serve many users (clients) with cached objects from many servers
o good at reducing latency and traffic (because popular objects are requested only once, and served to a large number of clients)
o usually deployed by large companies or ISPs (often on their firewalls) that want to reduce the amount of Internet bandwidth that they use
o can happen at many places, including proxies (i.e. the user's ISP) and the user's local machine but often located near network gateways to reduce the bandwidth required over expensive dedicated internet connections
o many proxy caches are part of cache hierarchies, in which a cache can inquire from neighboring caches for a requested document to reduce the need to fetch the object directly
o although some proxy caches can be placed directly in front of a
particular server (to reduce the number of requests that the server
must handle), they are called differently (reverse cache, inverse
cache, or httpd accelerator) to reflect the fact that it caches
objects for many clients but from (usually) only one server

Hacking Attacks - Prevention


The first three steps are suggested by security consultant Jay Beale in his interview with Grant Gross, when asked how administrators can protect themselves from system attacks.

1. Harden your systems (also called "lock-down" or "security tightening") by

* Configuring necessary software for better security
* Deactivating unnecessary software - disable any daemons that aren't needed or seldom used, as they're the most vulnerable to attacks
* Configuring the base operating system for increased security

2. Patch all your systems - Intruders can gain root access through the vulnerabilities (or "holes") in your programs so keep track of "patches" and/or new versions of all the programs that you use (once the security hole is found, manufacturers usually offer patches and fixes quickly before anyone can take advantage of the holes to any large extent), and avoiding using new applications or those with previously documented vulnerabilities.

3. Install a firewall on the system, or at least on the network - Firewalls refer to either software (ex. ZoneAlarm) and/or hardware (ex. Symantec-Axent's Firewall/VPN 100 Appliance) that block network traffic coming to and leaving a system, and give permission to transmit and receive only to user-authorized software. They work at the packet level and can not only detect scan attempts but also block them.

You don't even need to spend a lot of money on this. Steve Schlesinger expounds on the merits of using open source software for a firewall in his article, Open Source Security: Better Protection at a Lower Cost.

At the very least, you should have a packet-filtering firewall as it is the quickest way to enforce security at the border to the Internet.

EPLS offers the following suggestions/services for Stopping Unauthorized Access, using firewalls:

* Tighten the Routers at your border to the Internet in terms of packets that can be admitted or let out.
* Deploy Strong Packet Filtering Firewalls in your network (either by bridge- or routing mode)
* Setup Proxy Servers for services you allow through your packet-filtering firewalls (can be client- or server-side/reverse proxy servers)
* Develop Special Custom Made Server or Internet services client and server software

4. Assess your network security and degree of exposure to the Internet. You can do this by following the suggestions made by EPLS.

* portscan your own network from outside to see the exposed services (TCP/IP service that shouldn't be exposed, such as FTP)
* run a vulnerability scanner against your servers (commercial and free scanners are available)
* monitor your network traffic (external and internal to your border firewalls)
* refer to your system log - it will reveal (unauthorized) services run on the system and hacking attempts based on format string overflow usually leave traces here
* check your firewall logs - border firewalls log all packets dropped or rejected and persistent attempts should be visible

Portmapper, NetBIOS port 137-139 and other dangerous services exposed to the Internet, should trigger some actions if you check all the above.

Also, more complex security checks will show whether your system is exposed through uncontrolled Internet Control Message Protocol (ICMP) packets or if it can be controlled as part of DDoS slaves through ICMP.

5. When using passwords don't use

* real words or combinations thereof
* numbers of significance (eg birthdates)
* similar/same password for all your accounts

6. Use encrypted connections - encryption between client and server requires that both ends support the encryption method

* don't use Telnet, POP, or FTP programs unless strongly encrypted passwords are passed over the Internet; encrypt remote shell sessions (like Telnet) if switching to other userIDs/root ID
* use SSH (instead of Telnet or FTP)
* never send sensitive information over email

7. Do not install software from little known sites - as these programs can hide "trojans"; if you have to download a program, use a checksum, typically PGP or MD5 encoded, to verify its authenticity prior to installation

8. Limit access to your server(s) - limit other users to certain areas of the filesystem or what applications they can run

9. Stop using systems that have already been compromised by hackers - reformat the hard disk(s) and re-install the operating system

10. Use Anti-Virus Software (ex. Norton Anti-Virus or McAffee) and keep your virus definitions up-to-date. Also, scan your system regularly for viruses.

Some of the ways by which Web hosting providers' Security Officers Face Challenges, are discussed by Esther M. Bauer. These include:

* looking at new products/hacks
* regularly reviewing policies/procedures
* constant monitoring of well known ports, like port 80, that are opened in firewalls
* timely installation of patches
* customized setup of servers that isolate customers from each other - "In a hosting environment the biggest threat comes from inside - the customers themselves try to break into the system or into other customers' files"
* investment in firewall, VPN devices, and other security measures, including encrypted Secure Sockets Layer (SSL) communication in the server management and account management systems
* installation of secure certificates on web sites
* purchase and deployment of products according to identified needs
* monitoring suspicious traffic patterns and based on the customer's service plan, either shunting away such traffic as bad, or handling it through a content-distribution system that spreads across the network

SQL: The Standard and the Language

SQL: The Standard and the Language

by
Jim Melton

The SQL Query Language

SQL is a language designed especially for access to relational database systems; it is arguably the most significant relational database language in existence...although it does not strictly implement the relational model at all! SQL, which was initiated by IBM as part of its System R research prototype in the late 1970s, has been implemented by more than 20 vendors and is available in some form on virtually every important computer platform in the world. SQL's model of data is one of "tables", corresponding to relations in the relational model; this tabular view of data provides columns (having names and data types) and rows (containing the actual data) and a uniquely intuitive way of looking at data. Its most important improvement over earlier data models is that operations on data are specified in non-procedural ways and entire collections ("sets") of data are manipulated with single statements. This notion removed from application writers the burden of "navigating" around a complex database structure and significantly reduced the amount of code that had to be written for any specific purpose.

In 1986, the American National Standards Institute (ANSI) published the first de jure SQL standard, X3.135-1986; the International Organization for Standardization (ISO) published a technically-identical standard, ISO 9075-1987, a few months later in early 1987. That standard was widely viewed as a "least common denominator" of existing SQL implementations and consequently failed to standardize many popular and necessary features of the language. This standard provided the ability to invoke SQL capabilities from four programming languages: COBOL, FORTRAN, Pascal, and PL/I.

In 1989, both ANSI and ISO published replacement standards (ANSI X3.135-1989 and ISO/IEC 9075:1989) that slightly enhanced the language and also added an optional capability called referential integrity, which allowed database designers to require certain relationships between data in different parts of the database. In the same year, ANSI published X3.135-1989 to add support for two additional programming languages, Ada and C.

In this general timeframe, X/Open published its first specification of SQL, not directly tied to the ANSI or ISO standards, but specifically designed to reflect the existing products provided by X/Open shareholders to their customers. For several years, X/Open's Portability Guides kept this "what's available" approach, but it became apparent that vendors were using the absence of X/Open requirements as a reason for not implementing features required by the de jure standards: the de facto standard began to inhibit technological advances. As a result of this observation---coupled with X/Open's adoption of a strategy of alignment with de jure standards wherever applicable---the SQL specification began to evolve to a "programmer's guide" based very closely on SQL-89. The value added by X/Open's document included a much more thorough specification of "limits", such as the minimum number of tables that an implementation must support, a precise selection of precisions for numeric values and lengths for character strings, and so forth. X/Open SQL continued to contain certain important (and widely implemented) features, like indexes, that the standard does not address.

Levels of SQL

In 1992, when ANSI and ISO published the third revision of the SQL standard (X3.135-1992 and ISO/IEC 9075:1992), X/Open quickly moved to align with the lowest level, Entry SQL, of that standard, while taking important features from Intermediate SQL as well (notable dynamic SQL, the remote connection capability, and certain diagnostics capabilities). In the United States, NIST (the National Institute of Standards and Technology) had developed a conformance testing suite for SQL-89 whose requirements were reflected in a Federal Information Processing Standard (FIPS 127-1); the publication of SQL-92 was accompanied by a revised FIPS 127-2 and an updated test suite. Both FIPS 127-2 and the test suite reflect NIST's belief that the step from Entry SQL to the next level in the standard, Intermediate SQL, was too large for vendors to accomplish in a year or two; NIST therefore specified a level called Transitional SQL for which conformance could be claimed for a limited time (hence the name "Transitional").

In 1993, after adoption of FIPS 127-2, X/Open began development of the next version of its SQL Common Application Environment specification, designed to align with Transitional SQL. In addition to maintaining the traditional X/Open additions like indexes, this CAE-in-progress is expected to reach into higher levels of SQL-92 and even the unfinished next generation of the language, "SQL3". One especially important feature currently being adapted by X/Open is the "stored routine" capability in development for the SQL standard; using stored routines, an application can gain tremendous performance advantages and even move entire portions of application code into the database server.

Testing and branding

X/Open has a long tradition of branding products that are based on their specifications; SQL products are no exception to this practice. However, in the past, X/Open has not developed a branding suite for SQL, so vendors were forced into doing their own best-effort testing and claiming conformance to get the X/Open brand. That brought with it a contractual requirement to correct any conformance deficiencies within a specified period following their reporting by any interested party. The inconveniences---to users and to vendors---of this approach made the existence of a testing capability very important. Even though NIST has a conformance test suite for SQL implementations, it is closely tied to U.S. Federal Government requirements and is not always comfortably viewed by users in other nations. More important, the NIST suite doesn't test the X/Open features like indexes, so neither vendors nor users were protected in such areas by NIST's testing. To resolve this problem, X/Open has entered into an agreement with both NIST and with the National Computing Centre (NCC) in the UK to develop a more comprehensive test suite, with NIST providing a Transitional SQL test capability, X/Open providing additional tests for X/Open-only features, and NCC adding tests to cover Intermediate SQL. Appropriate licensing agreements will make it possible for independent testing laboratories to test SQL products, issue conformance certificates and reports that will X/Open to provide product brands. All this will be backed up by legal obligations, including a Conformance Statement Questionnaire that every vendor must complete for a product to be branded, identifying all options, limits, and so on that the product provides.

Benefits of X/Open SQL

All this sounds like a lot of trouble, doesn't it? Why would a vendor want to go to all this pain just to have the privilege of putting the X/Open logo onto his products and advertising? Indeed, why would a user out shopping for an SQL product bother to look for the X/Open logo?

It all boils down to the voluntary nature of standards. Standards provide a (usually!) well-defined way to do things, but they can't force anybody to do it that way. However, the computer industry's focus on "openness" has led both vendors and purchasers to look for ways to reduce costs (development costs and acquisition/use costs, respectively) while increasing their options (marketplaces and sources, respectively). Standards---both de jure and de facto---provide a path towards this goal. But that path has proved to be remarkably rocky and ill-defined.

It is through the existence fo branding and certification facilities like X/Open's that users can cut through the metaphorical underbrush and locate products---without going to enormous trouble---that implement the capabilities they need...and that they have specified. If users know that, by looking for the X/Open brand, they are specifying and then purchasing a product with known capabilities that will run their applications, then they can make purchases with less effort and more quickly. And they run a far lower risk of being disappointed.

Similarly, vendors can know that their display of X/Open's brand guarantees them a reasonable opportunity to sell their products to a well-known market...customers who are aware of the brand. These vendors don't have to worry about "what set of features should we implement for market x" and can focus on "how can we implement that required set of features most efficiently" or "how can we get the product to market most quickly". In short, everybody benefits (except, perhaps, those most interested in the proprietary world!). Particularly with X/Open's increased thrust towards state-of-the-art technology instead of least-common-denominator specs, vendors can find themselves challenged to keep up instead of worrying about inventing new features that might---or might not---be interesting to broad categories of users.

What will the future hold?

Nothing stands still, least of all technology. (Even mountains move: the early-1994 earthquake in Southern California resulted in at least one 1000+ meter peak being raised by over 40 cm and moving to the northwest by about 6 cm!)

The SQL standard continues to evolve, with another replacement expected to be published in 1996 or 1997 (my money's on the latter). X/Open is actively participating in the development of SQL3, partly by early adoption of the stored routine capability mentioned above and giving feedback to ANSI and ISO during this work.

Undoubtedly, the most dramatic development in SQL since its inception is SQL's addition of object-oriented capabilities to the language. While this is extremely controversial and, like much of the object-oriented world, there is not yet uniform agreement on exactly what must be done (never mind how), there is unanimous agreement among the SQL vendors that this will be the shape of the future. The SQL standard is also adopting that great missing data type so widely implemented by vendors, the BLOB (Basic Large OBject)...whose name has nothing to do with object orientation (surely this doesn't suggest that we've reached the limits of English expressitivity?). BLOBs are used to capture very large chunks of data that are not (usually) otherwise acted on by the database system---they provide only a storage mechanism. X/Open is poised to adopt this specification early on. Beyond that, X/Open will, as always, study the marketplace, work directly with users, gathering requirements, analyzing them, and helping the formal standards efforts with that knowledge.

Naming Guidelines

Naming Guidelines

1). Private Variables (Fields in C#) Naming Guidelines

Naming guidelines

Prefix private variables with a "_" and Hungarian-style notation.

Case guidelines

Use camel case as a general rule, or uppercase for very small words

Example:

_strFirstName, _dsetEmployees

// Field
private OleDbConnection _connection;

// Property
public OleDbConnection Connection
{
get { return _connection; }
set { _connection = value; }
}

2). Local Variables Naming Guidelines

Naming guidelines

Prefix private or local variables with Hungarian-style notation.

Case guidelines

Use camel case as a general rule, or uppercase for very small words

Example:

strFirstName, dsetEmployees

3). Namespace Naming Guidelines

Naming guidelines

The general rule for naming namespaces is to use the company name followed by the technology name and optionally the feature and design as follows:

CompanyName.TechnologyName[.Feature][.Design]

Prefixing namespace names with a company name or other well-established brand avoids the possibility of two published namespaces having the same name. Use a stable, recognized technology name at the second level of a hierarchical name.

Example:

Akadia.Traffic, System.Web.UI, System.Windows.Forms

Case guidelines

Use Pascal case as a general rule, or uppercase for very small words.

Example:

System.Windows.Forms, System.Web.UI

4). Class Naming Guidelines

Naming guidelines

Use a noun or noun phrase to name a class.
Do not use a type prefix, such as C for class, on a class name.
Do not use the underscore character (_).

Case guidelines

Use Pascal case. Example:

FileStream, Button

5). Interface Naming Guidelines

Naming guidelines

Prefix interface names with the letter "I", to indicate that the type is an interface.
Do not use the underscore character (_).

Case guidelines

Use Pascal case. Example:

IServiceProvider, IFormatable

6). Parameter Naming Guidelines

Naming guidelines

Use descriptive parameter names. Parameter names should be descriptive enough that the name of the parameter and its type can be used to determine its meaning in most scenarios. To distinguish parameters from other variables the prefix "p" should be used.

Do not prefix parameter names with Hungarian type notation.

Do not use a prefix for parameter names of an event handler and exceptions.

Case guidelines

Use camel case. Example:

pTypeName, pNumberOfItems

7). Method Naming Guidelines

Naming guidelines

Use verbs or verb phrases to name methods.

Case guidelines

Use Pascal case. Example:

RemoveAll(), GetCharAt()

8). Property / Enumerations Naming Guidelines

Naming guidelines

Use a noun or noun phrase to name properties.
Do not use Hungarian notation.

Case guidelines

Use Pascal case. Example:

BackColor, NumberOfItems

9). Event Naming Guidelines

Naming guidelines

Use an EventHandler suffix on event handler names.

Specify two parameters named sender and e. The sender parameter represents the object that raised the event. The sender parameter is always of type object, even if it is possible to use a more specific type. The state associated with the event is encapsulated in an instance of an event class named "e". Use an appropriate and specific event class for the e parameter type.

Name an event argument class with the EventArgs suffix.

Case guidelines

Use Pascal case. Example:

public delegate void MouseEventHandler(object sender, MouseEventArgs e);

Exception Naming Guidelines

Naming guidelines

Event handlers in Visual Studio .NET tend to use an "e" parameter for the event parameter to the call. To ensure we avoid a conflict, we will use "ex" as a standard variable name for an Exception object.

Example

catch (Exception ex)
{
// Handle Exception
}

Constant Naming Guidelines

The names of variables declared class constants should be all uppercase with words separated by underscores. It is recommended to use a grouping naming schema.

Example (for group AP_WIN):

AP_WIN_MIN_WIDTH, AP_WIN_MAX_WIDTH, AP_WIN_MIN_HIGHT, AP_WIN_MAX_HIGHT

Visual Control Type Notation

Assembly asm
Boolean bln
Button btn
Char ch
CheckBox cbx
ComboBox cmb
Container ctr
DataColumn dcol
DataGrid dgrid
DataGridDateTimePickerColumn dgdtpc
DataGridTableStyle dgts
DataGridTextBoxColumn dgtbc
DataReader dreader
DataRow drow
DataSet dset
DataTable dtable
DateTime date
Dialog dialog
DialogResult dr
Double dbl
Exception ex
GroupBox gbx
HashTable htbl
ImageList iml
Integer int
Label lbl
ListBox lbx
ListView lv
MarshallByRefObject rmt
Mainmenu mm
MenuItem mi
MDI-Frame frame
MDI-Sheet sheet
NumericUpDown nud
Panel pnl
PictureBox pbx
RadioButton rbtn
SDI-Form form
SqlCommand sqlcom
SqlCommandBuilder sqlcomb
SqlConnection sqlcon
SqlDataAdapter sqlda
StatusBar stb
String str
StringBuilder strb
TabControl tabctrl
TabPage tabpage
TextBox tbx
ToolBar tbr
ToolBarButton tbb
Timer tmr
UserControl usr
WindowsPrincipal wpl

Friday, January 25, 2008

A Big Man...

a famous quote: "A big man is one who is ever busy"....

Well, i am not a big man but i am busy these days. Our CTO (Chief Technical Officer) is in Pakistan these days and we are awfully busy in these days in some upcoming projects meetings, some existing projects reviews and updates and bla bla bla...

Our CTO, Mr. Aamar Gulzar Qureshi is a big man and I have no hesitation to say that he is really a genius of our age. I have never seen such a great mind in my life... except one... Ali Khan. I will write about him some other time...

C Ya... :)

Sunday, January 20, 2008

Salary Negotiation Tips

With thanks to businessballs.com.


tips and techniques for salary negotiation for employees, and salary negotiation tips for managers - and tips for job promotions and improving conditions
Salary negotiation (asking for a salary increase, a pay rise, or simply more money) affects everyone from time to time. Salary negotiation can be difficult, and many people handle it poorly, causing frustration and ill-feeling. There are constructive ways to approach salary negotiation, and techniques to achieve good outcomes.

UK Management Earnings Survey Report (Chartered Management Institute, 2007)
If you are a manager, you will need to handle salary negotiation positively. If you encourage people to adopt a constructive approach to salary negotiation, you will help to minimise upset and to achieve a positive outcome. As a manager dealing with salary negotiation or a pay increase request, it's important to encourage a grown-up, objective, emotionally mature approach. These ideas and techniques will help achieve this whether you are giving or receiving the salary increase request.
There is no 'proper' or standard way to ask for a raise or salary increase. It's not something that people are trained to do, and little is written about it. People use various approaches: they can write; discuss informally; discuss with colleagues and hope the boss gets to hear; they drop hints to test the water; they ask the boss politely; demand firmly; go over the boss's head, or maybe even threaten to resign, secure another job offer, or simply resign.
Largely people do not look before they leap; they are often under pressure, and they feel uncomfortable and stressed asking, so they fail to plan and control the situation, which makes achieving anything difficult. Simple planning and keeping control makes a big difference.
Knowing relative market rates helps objective assessment of situations - for employers and employees. Here is an example of market information about salaries of the sort that you can find in relevant media (newspapers, magazines and websites, etc). Having a good amount of information about the market, and not just your own situation, is helpful for employers and employees alike, and can avoid discussions centering on opinion or emotion. Of course situations vary and industry averages are just a guide, but it's generally better to have some external perspective than to approach pay and earnings issues in complete isolation.
The techniques here might not secure a salary increase immediately - there are usually very good reasons why this is not possible anyway - but these ideas will eventually bring a better reward and outcome than doing nothing, or doing something the wrong way. As a manager receiving a request for a salary increase, encourage people to follow this approach, and then respond fairly sensitively and openly. Only make promises you can be sure to deliver, and always try to understand the person's needs and feelings before you explain the company's position.
It is important always to recognise the difference between the value of the role that you perform (or any employee's role if looking at this from a manager's perspective), and your value as an individual (or the employee's value). The two are not the same.
If you continually feel frustrated about your pay levels despite trying all of the techniques and ideas for achieving a pay rise, it could be that your boss or employer has simply reached the limit of the value that they can place on your role, which is different to your value as an individual. You could have a very high potential value, but if your role does not enable you to perform to your fullest extent then your reward level will be suppressed. For example does a professor who sweeps the street deserve a street sweeper's salary or a professor's salary?
Salary levels are largely dictated by market forces (notably the cost of replacing the employee), and the contribution that the employee makes to organisational performance (which is particularly relevant for roles which directly impact on profitability). When you acknowledge this principle you begin to take control of your earnings.
Aside from issues of exploitation and unfairness, if you find that the gap between your expectations and your employer's salary limit is too great to bridge, then look to find or develop a role which commands a higher value, and therefore salary. You can do this either and both with your present employer by agreeing wider responsibilities and opportunities for you to contribute to organisational performance and profit, and/or perhaps with a new employer.
Focus on developing your value to the employer and the market-place, rather than simply trying to achieve higher reward for what you are already doing. Again, see the earnings survey example report below.

salary, pay and contract negotiation for a new job
If you are changing jobs, the best time to negotiate salary is after receiving a job offer, and before you accept it - at the point when the employer clearly wants you for the job, and is keen to have your acceptance of the job offer. Your bargaining power in real terms, and psychologically, is strongest at this point, and is stronger still if you have (or can say that you have) at least one other job offer or option (see the tips on negotiation). A strong stance at this stage is your best chance to provide the recruiting manager the justification to pay you something outside the employer's normal scale. The chances of renegotiating salary after accepting, and certainly starting, the job are remote - once you accept the offer you've effectively made the contract, including salary, and thereafter you are subject to the organization's policies, process and inertia.
A compromise in the event that the employer cannot initially take you on at the rate you need is to agree (in writing) a guaranteed raise, subject to completing a given period of service, say 3 or 6 months. In which case avoid the insertion of 'satisfactory' (describing the period of service) as this can never actually be measured and therefore fails to provide certainty that the raise will be given.
If you are recruiting a person who needs or demands more money or better terms than you can offer, then deal with the matter properly before the candidate accepts the job - changing pay or terms after this is very much more difficult. If you encourage a person to accept pay and terms that are genuinely lower than they deserve, by giving a vague assurance of a review sometime in the future, then you are raising expectations for something that will be very difficult to deliver, and therefore storing up a big problem for the future.

salary negotiation during and after new job interviews - tips for employees (and managers)
While these tips and techniques are ostensibly for employees, they also serve as a helpful guide to managers who are recruiting staff, and want to ensure that people joining are doing so happily and on a sustainable basis. People who join happy that they've been given a fair deal are more likely to stay, and less likely to harbour grudges or feelings of being 'bought' for less than they deserve.
Employers who recruit people at less than their market worth might think they've done a good deal, whereas in fact such employees are likely to become frustrated and feel 'cheated'. Again, see the earnings survey example report below. Help employees to make good, right, and fair decisions about their careers, and they will respect you and your organisation for doing so.
That said, from the employee's viewpoint, changing jobs is a very good opportunity to increase your salary level. Critically, to take advantage of this opportunity you must negotiate before you accept the new job offer, whether the job is an internal or external move. Any manager who fails to give this opportunity to a new recruit is likely to be putting a problem into store for the future.
The most important thing from the employee's perspective is to secure the job offer first. There is no point in negotiating until then.
The employer's initial offer will be based on their own budget and internal pay-scale reference points, and what level of reward they feel is necessary to secure you (or a suitable alternative candidate), and this salary/package level is nearly always negotiable.
The stronger you convince the interviewer and employer that you are the best person for the job - in all respects that need to appeal to them - then the more likely you are to do well when it comes to negotiating the package.
If the employer asks you before or during the interview to confirm your salary/package expectations, give them a broad indication at the top of the range that has already been indicated or discussed for the role (plus 10-20 per cent for good measure if you wish), and say that ultimately your decision will be based on comparing your options (think and behave as if you expect to have more than one).
Tell them 'Let's see if you like me first - then we can discuss/agree the detail.'
It's a matter of personal feeling as to where you set your target salary level for a particular job, ie., how much you'll eventually be happy to accept, and how firmly you hold out for it and anything above it. This will be a combination of what you want, need, whether you have another real offer, and generally what your market value is - these are the reference points.
In terms of negotiating salary and package, your best position is always to secure two job offers from two different employers, which gives you the huge advantage of choice. If you can't or don't, (which is normal), then behave as if you have other options, which of course you do, if not right now.
Do not allow the interviewer/negotiator to set, suggest or argue for a salary level based on your previous one (assuming it's lower) - be very firm about this. It's not relevant. What you earned before and why you worked for that wage is not their business and has no bearing on your value to them and the market now (make that point politely not aggressively of course).
What's relevant is your value in the market, and how much the employer wants you compared to other candidates and their respective salary expectations. It's important to give them the feeling that you are entirely confident in being able to go elsewhere if the deal's not right. Bear in mind also that you can always buy some time to 'think about it' whatever they offer you. Time will generally work in your favour if they want you. They will worry that they'll lose you, perhaps even to a competitor, and so will be more likely to increase their offer, and to justify some extra budget if required.
You do not need to give them a rushed answer whether to accept their offer just because they'd like one. Of course they'd like one quickly because they know they'll get a better deal that way, and they'd like to finalise the recruitment ASAP.
Generally a good manager and employer will respect you more, and feel you are more valuable, if they get the impression that you are in demand elsewhere.
During the negotiation be sure to maintain a positive and committed view towards the prospective new company and the job (assuming of course you feel that way about them). This will prevent the risk of their coming to the view that you are wasting their time or stringing them along. It's important to be fair and right with people, even while negotiating.
While acknowledging the appeal of the opportunity, conduct your discussions professionally, firmly, confidently, and at the same time ask for their understanding that you have a responsibility to yourself and your family to achieve the best 'price' for what you can do in your particular job market.
See the job interviews page if you are changing jobs.
And see the earnings survey example report if you've not already done so.
asking for a salary negotiation or pay rise in the same job
If you feel the need to ask for a raise, the most positive way to approach this is to ask for extra work and responsibility and link this to a pay rise, if not immediately then in the future. This is a grown-up approach that employers respond to better than simply asking for more pay for doing the same job.
Another positive approach is to ask for a performance related bonus or pay increase subject to achieving more, based on standards or output greater than current or expected levels. This again should be received positively by the employer because you're offering something in return, and not simply asking for more money, which most people tend to do.
If you do not understand the organization's method of awarding pay increases, your first step should generally be to discuss this with your boss. Pay is normally linked to performance, which allows the company to increase your grade, or promote you, or to award a bonus. Discuss with your boss how you can improve your performance and contribution to the organization, in a way that will enable promotion and grading and pay improvement. At times of low inflation any significant annual pay increase is not automatic or a 'right' of the employee - a pay increase will generally be given in return for achieving agreed objectives or standards and an increased contribution to organizational performance. Find out what process exists in your organization to enable this exchange to happen. It's always essential to keep your boss informed of your position, so talk to them first. If your boss doesn't know then you should ask your personnel department, or person responsible for personnel and human resources, but always keep your boss informed, because their opinion will usually be sought before your employer considers improving your job and remuneration package. You need your boss's support.
Ask for a face to face meeting rather than try to present your case in a letter, which is just a one-way communication and doesn't allow you to develop a mutual understanding of the situation and what to do about it. Simply ask your boss for a review meeting to discuss your responsibilities and remuneration. In the meeting ask what the opportunities are and/or process by which you can improve your salary package. Follow the principles described here - the process needs to be two-way discussion. Approach it positively and constructively. Ask what flexibilities exist and what the rationale is for setting and increasing pay levels. Who does your boss have to make a case to? Will he/she support you? What would improve your case? What commitments would the company want from you? What exchanges can be agreed - what you can put in and what can be given in return. It's a discussion, not a demand.
Separately, before the meeting you must get an objective view and measure of your market worth. Look at other similar jobs outside as well as inside the company and compare them to your own responsibilities and rewards. Personal views about reward and job-load can become very subjective and need to be validated or it's difficult for you (or anyone else) to decide how deserved the claim is.
If you are so nervous about asking verbally for a meeting and therefore need to write, keep it very simple, particularly do not include any details of your position or justification or financial claim. Here's a sample letter for a review meeting request:
sample letter asking for a pay review discussion
(Alternatively an email or memo - but make sure it's kept private and discreet.)
Dear.......
Can we meet please to discuss my role and development? I'd appreciate your advice.
Please let me know a time and date that suits you.
Best wishes, etc
Stay positive and constructive - look for opportunities to make your boss's task in dealing with your approach as easy as possible, especially given that resolving salary raise requests are difficult for your boss too.
As an employee, at any grade, it's important to understand the company's position, and to understand your own properly. Taking an instinctive or emotional approach rarely works, and will often lead to conflict and early rejection. Try to avoid thinking and presenting your position in terms of 'I want' or 'I need'. Instead try to present an objective, neutral view, as if you were an observer, which should provide a good platform for sensible discussion, and will also enable you to present a stronger case.
Obviously threats of any kind (resigning or reducing commitment or effort) are likely to provoke the boss and the company.
Achieving a salary increase depends on many factors, and it's important to understand as many of them as possible before you make your move.
factors which affect salary negotiation
how well paid you are at the moment compared to the market norms
the rate of inflation
where you live and work and the costs of living associated with the area, and in relation to other geographical locations where company employs people
the company's position concerning staff turn-over, retention, recruitment and head-count (ie increasing, reducing, or static; in accordance with planned levels or not)
the company's trading performance (relative to budgeted costs and planned sales and profitability)
the available budget your company has for pay rises (which is usually none, apart from annual salary review time)
the company's last company-wide salary review, and the range of % increases awarded
the company's next company-wide salary review, and the likely range of % increases
what precedents would be set for other employees by giving you a rise (this is often a significant issue for the company)
how valued you are to your boss and company
how easy it would be for them to replace you with someone of similar capability and value at the same or less salary
how much extra responsibility and/or you are prepared to take on
how much extra effort you are prepared to put into the job and how ambitious you are
and, very importantly, what you will do if you don't get a raise or salary increase (ie., how much you want to stay with your present company and how confident you are that you could find a better job elsewhere)
You need to understand all of these factors before you decide how to approach the situation. The stronger your position the more firm you can be in asking for a salary increase.
Ask yourself why, honestly, you want or need a salary increase. Some ask because they feel under-valued. Some people are genuinely are under-paid. Are you being fair and realistic? Stepping back and taking a truly objective view is so important. Put yourself in your boss's shoes. How would they see the situation?
If you believe that you have a strong deserving case, then write it down, which will help you to see things objectively, and will provide you with a prepared position, enabling you to keep control and present your case fairly and professionally. Find out what you can about the company's position, referring to the above factors. If you can find references from the market that indicate you are paid less than the norm then prepare to use them.
Always remember that you are one of several or many hundreds or thousands of employees. Each one would take more money if offered it. The company has had to plan and budget for employee head count and salary along with all other costs and revenues, and it's not easy for a manager or director to change things outside of the normal time to review these budgets.
Nevertheless, if you present a strong case the worst you will do is increase your chances of receiving a more favourable review when the next review time comes around. At best, if the company has sufficient flexibility and reason, you may be able to achieve a pay rise before then.
Having prepared your case, ask for a meeting with your boss, but don't state the precise reason for the meeting. Say it's to discuss a personal matter, or to discuss your development, or to present a proposition. If you say you want to ask for more money your boss is likely to say no there and then, or to warn you that the answer will be no, and you've lost the chance to present your position properly. You need instead to keep control of the situation and that includes crucially controlling the timing and basis of the decision.
Present your case, unemotionally, and try to understand your boss's and the company's perspective. The case you present should emphasise what you are prepared to do for the company - what's in it for them (see WIIFM). Avoid making a case that's wholly centred around what you want. Present as much objective information (ie., not your own opinion) and evidence that you can - you are trying to build a case, not merely make a request. It may be that if the decision has to be referred upwards by your boss that your boss will agree to present your case on your behalf, in which the clearer and stronger it is the easier this is and the greater the chance of success.
Ask your boss to explain the company's position if you do not understand it. Try to understand your boss's own role within this and how decisions are made. This information may give you ideas about how best to progress the situation from here on.
It is unlikely that your boss will be able to agree to your request at this meeting. The bigger the company and the further removed your boss is from the CEO the less likely a quick answer will be.
Often your immediate boss will not be empowered to agree salary increases for anyone. In this case it's important to gain agreement in principle from your boss to the case you are presenting. Try to secure your boss's agreement that they will pursue the matter and they they will support your claim.
If your boss is the CEO or a director with suitable authority to agree to your request, the process is more straight-forward. This situation is more likely to apply in smaller companies and/or if you hold a senior position with the company.
If the company is not able to agree to your request ask for reasons why, and consider them carefully. Try to see things from your boss's and company's point of view - they may have no option but to refuse your request. If your request is denied for reasons of budget and timing you should seek a commitment that the increase will be given or at least considered at the next suitable opportunity for the company. This will normally be at the next annual salary review for all staff, at which time you would obviously be expecting to receive an increase greater than the general level or range for all employees.
There may be circumstances that prevent the company from offering any performance related increase, or linking an increase to greater responsibility. You must decide if you think the company's position is right and fair.
If, despite your your best efforts at presenting a reasonable case objectively, and discussing it professionally, the company will not consider or agree any way for you to achieve an increase in pay, you have no option other than to conclude that they do not value you as much as you value yourself.
This happens sometimes. It's not the end of the world, and this may be the time to seriously think about moving on. If you decide to look for another job don't do it with a bitter heart - aside from anything else it will show in your discussions with new prospective employers and you will not be offered the jobs you want. If you decide to move on do so with a glad heart and with the minimum of fuss. Certainly avoid telling your employer that this is what you intend to do. Some, not all, employers can become defensive or even aggressive towards people whom they consider have become disaffected. This is particularly so for anyone working in a sensitive role who could damage their employer or waste resources while continuing to work while seeking another job.
Retain your dignity. Integrity has an immense value and you never know whose paths from your past you will cross in the future. Falling out with a boss or employer over salary rarely profits anyone.
If you find yourself looking for another job in response to being undervalued by your current employer, you are very vulnerable to being seduced by what's on the other side of the fence, simply because it provides an escape and a chance to prove certain people wrong. The grass will appear greener on the other side of the hill, but often it's not. Some people embark on a bad marriage on the rebound, and the same thing happens with job changes. Think carefully about the new opportunities you find, and consider everything properly. Write things down so as to evaluate the pro's and con's objectively. Often you will find that after really thinking properly about things that your current position compares very favourably with everything else available out there.
When and if the time comes to leave, you should ensure you have a written job offer before you resign. Discuss your intentions and reasons with your boss in a grown-up, professional and polite manner. You must also give written notice. It is very important to behave with dignity.
Do not be surprised if your boss responds to your resignation with an offer to increase your salary. You may even be offered a promotion. It's the way that a lot of companies work - they don't do anything until and unless they absolutely have to; it's simply the way a lot business is - decisions and activities are all based on priorities. A salary request is regarded as relatively low priority by most organizations - they simply dare not give any other impression or they'd be deluged with requests every day. A resignation of a valued employee is potentially very high priority -it has implications of job coverage, productivity, continuity, recruitment and selection time and costs, induction and training costs - all very expensive and disruptive, which is why people resigning are often suddenly asked to stay and offered suitable incentive. If this happens think carefully about it. Don't say no for pride's sake alone. Don't say no for fear of letting down your prospective new employer (they'll get over it). It is after all what you were seeking in the first place.
It is often said that the only true way to find out how much your company values you is to resign, and this may be so. Some have even gone so far to say that if you think you are underpaid, resign and re-apply for your own job when you see it advertised at the higher salary you were requesting. I'd never advocate such a risky tactic, not only because most times life goes on without you and they'll find somebody who can do your job acceptably well for the same or less money, but really for this reason:
If you are unhappy about your salary, and you feel underpaid and undervalued, you will do your reputation and future a lot of good by approaching the matter in a professional, well-prepared and objective way. People that can handle their own difficult situations are seen by their employers as people who can handle other difficult situations well too, and as such your value and potential increases.

increased responsibility with no increase in pay
Good managers in good companies respond well to people who are prepared to take on more responsibility for little no extra pay - typically helping with supervisory duties or standing in during the boss's absence; but this is usually on the understanding that within a few months or a year at most, the new grade is formalised with a resulting increased package.
Such an an arrangement (increased responsibility with a conditional future increase in pay) would normally be recorded as part of an individual's career path development, so there's a meeting of minds and a mutual commitment.
Companies do sometimes (deliberately or unintentionally - the former needs dealing with very cautiously by employees) exploit staff who agree to take on more (work, hours, responsibility, etc), and employees who refuse such 'promotions' cannot really be criticised for saying no and protecting themselves from this risk of exploitation.
A manager or company which offers an unpaid promotion without any guarantee of review or increase in reward demonstrates a concerning lack of proper process, both in substance and style. Such poor management is not unusual, particularly in small companies, where financial pressures can cause proper process to be sacrificed. If a big company does this I'd be even more concerned because they should know better, and should have safeguards and policies in place to prevent it.
As ever the challenge is to turn the opportunity of unpaid promotion into a positive:
Ideally, assuming you want advancement and you like the job and the company etc., you should be trying to find a way of accepting the opportunity, because that's what it is, irrespective of the fact that the company might be asking you to do more for no extra money.
Increased responsibility is always an opportunity - to learn and develop and grow - in this respect an unpaid promotion is no different from a paid one; there are many benefits outside of the financial reward.
However, bills have to be paid, and no employee is a charity.
The best way to handle anyone (an employer, supplier, customer, friend, whatever) asking you to agree to give a major concession like this is to make your acceptance conditional. This is an important aspect of negotiating (effectively you are in a negotiating situation with your employer, even though they won't have positioned it as such). See negotiation technique.
For instance, in this situation you might say "okay, subject to your guaranteeing me an increase/performance bonus/proper review in 3/6/9 months time" - whatever you feel is suitable and reasonable given the company's circumstances.
Do this even if the company has offered no guarantees. You have to encourage them to think about this - it's called managing upwards. If they can't agree even to a review in 6 months time (which I think would be a reasonable minimum expectation on your part), ask what they can do for you in return for your commitment and trust in them, and decide accordingly.
If initially you've said no a day or two ago, it's not too late to re-open discussions with them - just say you've been giving it some thought and you'd like to try to help arrive at a way for them and you to be able to move forward constructively. This way you are seen to be both positive and professional, and you put a stake in the ground as to how long you'll do the higher grade job before getting something in return.
If they won't play ball you may very well be working for the wrong company. If they will play, plan your contingency accordingly - if you agree to take the management job with a review in 3/6 months, look around for another job as the review approaches - you'll be able to secure a far better new job offer by taking on the management role than if you'd stayed in your current role, and most new employers will respond well to the positive way you've approached the situation.
Obviously make sure any agreement has a written record.
If you can't agree any way forward and the management team is there to stay, then it may be time to start looking for another job - you are likely to be ready for promotion or they wouldn't have offered it, so seek it elsewhere.
If you end up staying with the same company in the same role for whatever reason, as to whether you'll be asked again will depend on how grown-up the management is - if not, they could take your refusal or negotiation stance personally and regard it as a challenge to their authority - then you'll not be asked again for a while or never, (again, good reason to find another company which places more value in you).
Aside from all that, 'the company' is the board and to a lesser extent the management. You need to judge how permanent the board and senior managers are - if they leave, then policy it likely to change. New brooms and all that, which is another reason to stick around, particularly if you really like the job, your workmates and the business environment.
It's not unusual - in sales particularly - to receive a pay cut when moving from a well-paid performance-linked sales job into management for the first time. In some companies the best sales-person earns more than any manager maybe two or three levels up the ladder. So pay isn't everything, especially if you see management as a stepping stone to more important things, like being your own boss, or moving into consultancy, or becoming the CEO one day.
You need to weigh it up - then act professionally and with integrity.
sample letter asking for a pay rise or salary review
Always try to discuss the situation first, face-to-face, with your boss - you need their help and guidance. When and if you decide that you need to write a letter to request a pay rise or salary review, keep it short and simple, and positive, with a suggestion of give and take. Here's sample letter asking for a salary review. Adapt it or use it as is.
Dear........
I'd appreciate a review of my responsibilities/role and salary/remuneration.
I'm very positive about my job and the organization, and would like to discuss how to increase my contribution, and the reward I receive.
I'd be grateful for your advice on this.
Best wishes etc.
asking for a pay rise/raise after being given extra responsibilities or duties
In many situations people are given extra responsibilities or duties, with no offer of pay increase or a raise. Sometimes a raise is warranted, sometimes it's not - it depends on the circumstances. Whatever the case, it is wrong for any manager or organization to impose extra duties or responsibilities on an employee without discussing and clarifying expectations on both sides with the employee concerned. Failing to do so usually creates a feeling of unease, or even resentment, in the employee. If, as an employee, you find yourself in this situation and feel that you deserve a raise (again, sometimes a raise is warranted, sometimes it's not - it depends on the circumstances) you should ask for a review meeting. Ideally do not try to make your case for a raise in a letter or email - save it for a two-way review discussion, when you should discuss your manager's (and your employer's) expectations for your performance (ie., your objectives and standards) as well as your own expectations (salary, reward, and development).
To arrange a review discussion, write something very simple, in an email or letter, or ask face-to-face verbally:
Dear....
Thank you for increasing my responsibility recently. This is something that I welcome. I think it would help us if we meet up to review my objectives, my future development and reward, and any opportunities for me to contribute more to the team effort.
Please let me know a suitable time.
Yours, etc.
What you say at the review (especially how long you are prepared to wait for an increase, and how much you are seeking) will depend on how strongly you feel about your situation, in which case you need to think and decide about your position.
It's rare for organizations to give more pay or reward to anyone unless the organization (or a suitably powerful manager) sees the need, (ie., they are placed under pressure for one reason or another).
As an employee you will only generally place your employer under pressure if you are valued by them, and feel strongly about deserving a pay increase (or any other rise in reward or benefits). Conversely, if you do not feel strongly about it (strong enough to start looking for another job), then at the review don't bother asking for an immediate extra raise, ask for some commitment to pay more in the future subject to performance or achievement of certain objectives, or maybe to add a performance-linked element now (although from the organization's point of view the extra reward would have to be based on extra performance).
Bear in mind that it is easier for an organization to agree to give a raise when it is planning the next trading year. Giving a raise during the trading year is difficult if no budget exists for it, which is generally the case in most organizations. Many employees fail to realise that manager's hands are tied in this respect - your manager may be supportive, but if the budget isn't there, then usually nothing can be done immediately. It is often a good tactic to show that you understand this and that you will wait a while for your raise, provided a clear commitment can be agreed. This also gives the organization time to see you prove that you are worthy of the raise (that you can adequately perform the extra duties).
sample letter when asked by your employer to write a letter justifying a salary increase
Sometimes your employer or boss will ask you to write a letter giving reasons why you believe you deserve a salary increase or pay rise or other improvement to your reward package. If so this is an opportunity for you to present a clear commercial case for giving you a raise. Always bear in mind that your employer needs to see a commercial justification above all else - personal feelings are not a strong justification for a raise. So think about and explain what you have contributed to the organization's effectiveness and profitability, whether saving costs, increasing sales, improving efficiency, etc., and where possible calculate and show an annual value benefit for the organization for each item.
letter example structure - reasons for a pay rise
Dear....
You have asked for justification as to why I should receive a pay rise/ improved remuneration/salary arrangements.
Here are the reasons:
(List the reasons, presented as 3-7 concise clear bullet points. Where you attach values show them rounded to nearest 100 or 1,000 or 5,000 depending on scale, or shorten using the k symbol, eg $50,000 looks tidier when shown as $50k) in a column ranged right margin one above the other, and you can even show a total value bottom right if appropriate - see the examples of reasons below, and tailor to reflect your own situation).
(Then add) I'm happy to provide more detail on any of the above if you need it.
(End with something positive like) I thank you for this opportunity to present this information. I greatly enjoy working with the company, I am pleased to give my loyalty and commitment, and to take on extra work and responsibility. I am keen to be trained, to progress, to learn new things, and I want to contribute as much as possible to the company's success in the future.
I look forward to your response.
Yours etc..
examples of reasons for a salary raise
Here are some examples of reasons that you might use to justify a raise - tailor to your own situation:
Refer to objectives you've achieved in the past year - attach values per annum (cost saved or extra profit or revenue achieved) to the company.
Refer to examples of your achievements outside of your objectives above, which have contributed to profit by increasing turnover, efficiency, solving problems, training others, saving time, saving costs, etc - the more examples of your achievements in these areas the better - try to attach estimates of value per annum (profit, cost saving) each example has produced for the employer.
State the extra responsibility/ies you have taken on since your last raise, either officially or informally - make reference to your basic job description and the additional responsibilities you now fulfil beyond these duties - attach values or person/days/per year equivalent of this extra work you do - ie., it's saving them having to employ someone else to do this extra work.
Refer to any supervisory or management responsibility that you have taken on informally or formally since your last raise and attach values as in the items for point 3.
If you produce or retain sales/customers, quantify the value of any business per year that has not already or fully been compensated via bonus or commission - it is reasonable for you to be compensated for this contribution.
Refer to any qualifications earned since your last raise or that your employer may not be aware that you possess - employee qualifications often increase the competitive strength and/or customer accreditations of a supplier organization.
Identify extra opportunities, responsibilities or activities that you would be happy to take on in the future if suitably rewarded, which would benefit the company (increase sales, profit, reduce costs or save time) - especially if these items are not being attended to currently.
And optionally, depending on the situation and whether you think this will be received positively, (because these items can be seen as threatening by some bosses and employers):
Compare your package with market norms (eg., other advertised rates for similar jobs - this often provides good justification for a boss arguing on your behalf).
Suggest that companies who pay more than market average tend to secure the services and loyalty of the best people available (this is relevant if you work for an employer who aspires to be a high quality company as high quality companies need high quality, and therefore more expensive, people).
Suggest that you may have to consider your position if your remuneration fails to match the level that you could find with another employer (obviously this is a threat - use only if you have had to resort to such tactics, eg., if you have an extremely hard-headed boss who likes to play hardball).
tips on how to handle pay rise request discussions
This is from the employee's standpoint, for example when a boss or decision-maker has agreed to discuss salary, when you believe you are not being paid fairly, and are due a raise.
Generally the best way to discuss a pay rise situation like this is to look at the situation objectively together with the boss or decision-maker, rather than approach the discussion head-to-head.
Discussing the situation as if you were a neutral outsider, both looking at the situation, rather than it becoming a face-to-face argument or justification struggle, is the best way to avoid emotional reactions and obstacles. (This 'detached positioning' incidentally is the best way to avoid emotional distractions and provocations for any sensitive discussion between two people or factions, even disagreements with neighbours, disputes with the authorities, complaints about suppliers or products or services, negotiating with children and teenagers, etc.)
In this way, in a discussion about salary level or an overdue pay rise, it would be reasonable to suggest (which you could do as a sort of neutral commentator) that anyone doing the job concerned for this level of pay concerned is likely at some stage to look for and secure a better package with another employer. Moreover typically before doing so, employees who feel undervalued (because they are underpaid) find if difficult to maintain enthusiasm and effort - it's only natural.
This would be a waste for the current employer who had invested so many years in developing the knowledge, experience, mutual relationship, trust, loyalty, etc in and with the disillusioned and later departing employee, which would be a shame.
The employer would then be forced to recruit, train and invest again in the replacement person, which is expensive in cost and management time, not to mention disruptive to the service activities involved and related or dependent.
It's a shame also for employees who are forced to leave jobs they love because they simply cannot afford to stay for financial reasons, or for reasons of frustration and/or stress (feeling undervalued is a big cause of stress).
The ideal outcome to these situations is for the employer to make the employee a sensible improved pay offer, based on market norms and the true value of the employee.
Employees normally aren't greedy - they just want to be valued and treated fairly.
Paying employees what they are worth doesn't generally open the floodgates to lots of ridiculous wage demands - it simply maintains a fair balance of effort and reward that's essential for any successful and sustainable enterprise.
Employers who intentionally or unintentionally take advantage of the goodwill and tolerance of any employee, by paying them less than is fair, generally end up losing the employee and never knowing why - here is an opportunity (you can suggest, if you are the employee) to act before matters become difficult.
An optional extra suggestion is that the best companies generally pay slightly higher than market norms - this ensures they attract and keep the best people, which enables the company to perform better than its competitors. It follows that the employers who pay less than market norms will eventually end up with the least able employees, because the best ones are all working for the competition.
As an employee embarking on discussions about a pay rise, you might also find it helps to empathise with the employer as to how the situation has developed - it's no-one's fault - it's just the way that things happen sometimes. This will demonstrate your maturity, remove any perceived threat of your holding the employer personally responsible for your mental anguish, and should hopefully ensure that the compromise is relatively easy for the employer to agree.
Big arguments involve big climb-down for someone, and that someone is rarely the employer, so don't have an argument, have a mature objective discussion.
negotiation of salary increases and pay rises - frequently asked questions, and answers
Q: When is a good time to discuss salary rises?
A: When the organisation is reviewing performance-related salary increases for all staff (prior to finalisation of the coming trading year's budgets). Or when you have secured another job offer. Or when your boss is asking you to take on significant extra responsibility which you have a choice whether to accept or not.
Q: What is the best way to approach your boss about this subject?
A: Ask for a face-to-face discussion about your responsibilities, reward and career direction. Then at the meeting ask for help in formulating and timing an approach and justification for an increase in salary that meets (rather than conflicts with) your organisation's processes, protocols, policies and timing.
Q: How can you prepare yourself for a salary negotiation meeting?
A: Understand the policies, timings, protocols, criteria, etc., within your organization. Have quantifiable evidence of your value and contribution to organizational performance and profit. Be positive and constructive. 'Facilitate' the process. Help your boss to help you. Avoid being a pain in the ass. If you are really up against it ideally secure an alternative job offer beforehand; this is the only thing that will give you sufficient power and choice necessary to apply real pressure (and more particularly to provide the management with justification for breaking policy to meet your demands).
Q: Where can you find out information like the average salary for your field, so you are prepared and have fair expectations?
A: Local, national and trade newspaper job adverts. Online job adverts. Competitors job vacancy adverts especially. Also paywizard.co.uk.
Q: What other things are good to negotiate at a time like this, why, and how do you best approach the subject? (ie holiday, bonuses, work hours etc)
A: Keep the whole package in mind all the time. Think about it all beforehand and be able to provide market-norm examples and reference points as justification and evidence. You will make things difficult if you try add new demands and after-thoughts in later. Ask for things that are usual in your organization, and for which some precedent exists and can be referenced. Strange requests will meet with far greater resistance.
Q: What should (and shouldn't) you use as leverage in a salary negotiation meeting?
A: Use evidence of your value to the organisation, directly linked to cost saving, profit improvement, and other KPI's (key performance indictors), eg customers gained, retained, problems solved, efficiencies achieved, initiatives started, positive effect on colleagues/team-members, customer feedback, business generated. Use alternative job offers, especially (if your employer is very stubborn and unfair) from competitors. Avoid using anything that is not fair, honest, right and proper as this will undermine your integrity and credibility.
Q: What factors affect salary negotiation?
A: Your boss's feelings about your value to the organisation and his/her level of influence in the organisation. Timing, and how this fits with the organisation's salary reviews and budgeting. The value the organisation places on you to the organisation, which is partly contribution-related, and partly reputation/attitude/influence-related, ie., your standing in the organisation. Simply - try to be a person that is well-regarded by your boss, his/her boss, and the senior managers/executives who can recommend and approve salary increases, especially if what/when you seek is outside policy norms. Your value to the organisation also depends on their organizational priorities, and relevant capabilities and resources are at the time. Be aware of whether market forces are on your side or not: essentially the extent to which the organisation sees you as being vital to the achievement of corporate aims and targets, and extending this, how easy is it to replace you (or to choose an alternative applicant). No-one is indispensable, but some people are less dispensable than others, and these people will always have more leverage when it comes to salary renegotiation.In summary:
Be aware that when you attempt to negotiate a salary that is outside normal policy or timing, then you are attempting to control or at least influence the behaviour of a very big and complex system, ie., your organisation. The more you can understand what this system needs, and how it operates in terms of making these decisions, including all the personal factors affecting managers and upline executives, then the better chance you have to achieve an improvement.
The 1st law of cybernetics states:
"The unit within the system with the most behavioural responses available to it controls the system."
This is also known as the the law of requisite variety. It is also central to the concepts of neuro-linguistic programming (NLP), which are helpful in all matters of relationships and communications, not least for salary negotiations with your boss.
Your career is a marathon not a sprint. Consider the longer term and have a faith in yourself that you will eventually get what you deserve.
Finally, if you achieve a salary increase, especially one that is outside of normal policy, ensure you deliver your side of the bargain. This will stand you in good stead the next time.

tips for job promotions
These tips for getting job promotions are ostensibly written for employees, but they are helpful also for managers and employers 'on the receiving end' of promotion requests, because the principles described indicate how to approach these issues of promotion and career advancement positively and constructively - by which employees can be encouraged to be more self-reliant, proactive and aspirational.
Getting promoted is an aim of many employees in organisations. But there there are far fewer vacancies than people who'd like to fill them.
So take a different approach.
While you are waiting for your dream vacancy to appear, make something happen for yourself.
Don't wait for a dead-man's shoes opportunity or vacancy to arise - applying for an internal advertised vacancy is often no more than a lottery - similar to getting a job in the first place. So why compete with lots of other people, all going after the same single vacancy, if you can instead make your own opportunities and build your own bigger area of responsibility?
Pay and position and job promotions are driven and defined by scale and effectiveness. The first three - pay, position, promotion - are very difficult to change for yourself in isolation. The latter two - scale and effectiveness - you can influence all you want by what you do and how you work. Raise the scale and effectiveness of what you do, and all else will fall into place quite naturally in time.
Rather than wait to be given the new job and new responsibilities, start looking for ways to become more valuable and effective in your organisation while performing your current role. In so doing you will almost inevitably create a promotion for yourself - in a job that you love, because you'll have defined it for yourself.
This means of course that you need to invest some time and effort. Most people don't do this because they don't want their employer to get something for nothing, but think about it:
It's an investment you'll be making mainly for yourself, for the increased experience and value you'll derive - which will make you more valuable to your employer - and any other employer as well.
Of course when choosing new additional areas to develop for yourself it makes sense to tell your boss what you are doing and why you are doing it. Not least so that when you've achieved some great things, and demonstrated that you work better at a higher level, you can ask for suitable recognition, promotion, reward - whatever - you've set your stall out, and now you've presented an irresistible case. Employers fight hard to keep people who do this sort of thing. They'll almost always offer you improved terms and promotion before you ask for it, because they'll worry about losing you.
So don't wait for a vacancy, carve out your own niche - irrespective of having formal responsibility or position to do so - develop your activities and level of operation into higher, bigger, more strategic, more productive areas. Anyone can do it, and you don't need a promotion or new job title first.
Let your boss know what you are doing - especially if you need permission or approval for new project ideas - and be open to advice, guidance and support, but (most bosses love to help people develop - you'll be a breath of fresh air).
If you see opportunity laying around pick it up
If you see a responsibility vacuum fill it.
Be mindful that most job promotions entail managing people. So ensure you start working on and demonstrating great capabilities in that area: develop a reputation as someone who helps others - in whatever way you can. Coach, encourage, thank, recognise, praise, give credit, listen to, and always be good to others. Essential responsibilities of good management are coaching and developing others, and helping them to do a better job. You can start doing that tomorrow if you are not doing it already. Now you have begun to promote yourself.
If you are in selling or account management, or buying, or any other role that directly relates to increasing revenues or saving costs - grow your activities and effectiveness (and results) to the point that you need assistance, and then it's easy to make a case for bringing a trainee in to work under your wing - now you are managing and training someone else - and you've created your own promotion where no opportunity 'apparently' existed, because the scale of what you are managing has increased beyond your original job responsibility.
Invest your own time, energy, commitment, enthusiasm in building your reputation as someone who is proactive, self-reliant, mature, tolerant, productive and self-motivating. Be the promoted person you want to become, and the formal recognition and reward will follow.
On which point, although financial reward and promotion generally follow good achievement, your biggest reward for doing great work and achieving good things is actually your increased experience and value as a person, not the pay or the promotion. It might not seem like it at the time, but this is a fact.
Think about how you can help the organisation to be better, in ways that you enjoy and are good at:
Identify activities which produce a high yield or great results from your effort - you are an expensive resource within your organisation - use yourself wisely.
Demonstrate that you have good strategic judgment by the way you manage your own time and priorities - if you demonstrate this it follows that you will be able to manage a larger scale of activities, and you will be seen by others as capable of doing so.
Act like the promoted person you want to be - start doing the things, and behaving in the way, that (good) higher level people do.
Where necessary seek approval of course for new initiatives that are technically outside your remit. Consider the implications carefully and help your boss to understand and agree with what you want to do.
Discuss other new ideas and projects with your boss. Agree aims and parameters. Offer to check back at key stages.
Seek approval for starting initiatives and projects - and choose things which demonstrate your ability to make good things happen for the organisation.
I repeat - you do not need to have the formal responsibility or title to simply get on with doing higher level things.
Imagine you are an external provider, who is contracted to take on new tasks wherever a significant and relevant opportunity arises - this gives you the attitude that the organisation is your customer - give them your best - more than they expect - and they will do almost anything to keep you.
Always be positive and constructive - become valuable to the team - coach and help others - lead by example.
Get involved in new things and initially do not seek additional reward - tell your boss what you are doing and that you are happy to do this because you are investing in your own future, and that you have a confidence that formal promotion will inevitably follow higher level achievements (or words to that effect), hopefully with your current employer, but if not, no hard feelings, with another employer.
Have the faith that reward and promotion always follow people who perform above their formal responsibility.
Expose yourself to greater responsibility, new learning, and higher level experiences because this will develop you for life, not just for your current employer - if your employer does not recognise and reward you for your increasing contribution and potential to manage a wider scale, then someone else out there will.
Make a difference - become indispensable - help to develop and encourage others.
Doing all this will generally create a pressure on your employer to promote you sooner or later- whether or not there is a vacancy.
As already mentioned above, your working life is a marathon not a sprint. Invest in yourself. By becoming more valuable you will irresistibly command a bigger reward and greater formal responsibility.
And what if your employer does not allow you to make a bigger contribution? Find one who does.
Or if your employer isn't interested in your coming up with creative ideas for making improvements? Find one who does.
Or if after achieving great things and carving out your own niche your employer refuses eventually to reward and recognise you for your achievements and value to the organisation?...
Are you not now in a much better position to go find one who will? You betcha.
So start acting promoted now. Seek greater responsibility. Help others. Improve the organisation. Make a difference.
And one way or another, promotion will follow.

tips on agreeing or negotiating new working hours and conditions
These tips on negotiating working hours and conditions are written from the employee's perspective, but the principles described - of cooperation and creative exploration of change and improvement - are just as relevant for managers and organisations.
First, consistent with the tips on pay rises, understand your organisation's policies, reasons, decision-making and flexibilities relating to hours and conditions - ask your boss, the HR department, anyone who can help you understand.
Organisations are complex and changing things isn't easy, so what helps is understanding what kind of change might offer an improvement to the way the organisation works, as well as you.
Then think creatively about ways to change and achieve what you want that will also benefit your manager, colleagues, the organisation and customers, suppliers, etc.
Organisations (and bosses) often benefit from positive suggestions for change from their people (because the need or opportunity hasn't been recognised yet, or if it has they don't know how to achieve a change) and there can often be be a good fit between what you need and what they will find helpful.
Be creative and facilitative in your approach - remember that people need a WIIFM (what's in it for me).
If your idea contains no WIIFM for the other person and the organisation then it won't get off the ground.
Approach the situation with an attitude of enabling and facilitating rather than negotiating, which can be seen as confrontational.
Instead, help your boss. See things from his/her point of view. It's in their interest to have happy people with fair and appropriate working conditions. Be creative; enable, cooperate - don't impose or go head-to-head.
Look for changes that contain benefits and improvements for all - they are there if you look for them.
Be mindful that your boss is likely to have to sell or justify the change to the system behind him/her.
Ask yourself and understand: what are the systemic implications? How can the change be managed?
Organisations don't want problems and cap-in-hand requests - they want positive constructive thoughtful solutions, recommendations and ideas.
All this links to other aspects of pay and reward, career advancement and job promotion:
Anyone can complain or raise problems and awkward requests. Kids do it to their parents. Victorian factory workers used to do it to their masters. But now the world is changing - more and more employers are opening up to the idea that their people have great potential, and can achieve great things, can identify and solve problems, can help to change the organisation (often where the bosses have failed to).
The paternalistic management style is dead. Because people can look after themselves.
So take responsibility for yourself, and the organisation, in seeking change and improvement.
Look for ways to improve the organisation and its activities around you, and you will improve yourself, your opportunities, and your value at work and beyond.

pay and reward for 'in-job growth' development of role and responsibilities
For the purposes of these notes, 'in-job growth' is defined as development of an employee's responsibilities and capabilities within a role or job that clearly and positively exceed the basic remit (or job description) of the job or function concerned.
In today's fast-changing world, if you stay in a job for a few years it is highly likely that the role, and your effectiveness, capabilities, range, responsibilities, etc, will grow considerably. You might also find that you are doing a lot of your boss's job.
This creates a challenge and an opportunity, especially if you begin to feel that your growth and extra contributions are not being recognised and rewarded.
In-job growth creates obvious challenges and opportunities for organisations and employers too, especially since the situations often lead to tricky discussions about pay rises, extra rewards, bonus payments, job-grades, and promotions, etc.
That said, employees and employers always should encourage, welcome and react positively to in-job growth.
From the employee's perspective if you are seeking reward (pay rise, bonus, grade, advancement, etc) then you yourself - the employee - are normally the determining factor:
As already discussed, it is rare for employers to offer extra pay or grade unless they are forced to one way or another. The notion of rewarding people without being pressurised by the employee to do so, clearly undermines the over-riding focus on cost or profit that most employers, and therefore management, see as their main priority.
Therefore passive loyal employees who do not aggressively put themselves forward for pay rises and promotions can find that they become victims of their own loyalty and tolerance, which is a shame.
If you find yourself in this situation here are some ideas to help you decide what to do, and some thoughts for employers too.
What you do about finding yourself with a role far bigger than originally contracted depends on your need to stay with the same employer and how much you want to help them, versus your personal need to develop, grow and maximise your rewards and opportunities.
Your strength of response (ultimately being prepared to leave) will determine the employer's reaction.
I'm not advising either way - it's up to you - you must decide what's best for your and yours.
Stay or move is the real question.
Staying = acceptance. Moving = improvement (almost always, and especially after many years in the same job since often 'familiarity breeds contempt' and employers tend to take passive loyal employees for granted).
In this respect the principles elsewhere on this page apply about seeking a pay rises.
Ultimately how you are treated by an employer is dependent on your strength of feelings about improving your situation, versus your loyalty to and love of the job.
It's normal for good people achieve a lot of 'in-job growth', simply by doing the job in a positive committed way over a few years.
Thus people naturally develop their responsibilities and range beyond their formal job descriptions, which can also extend progressively to taking over some or many of their boss's responsibilities.
Good bosses should be encouraging this (it's called succession planning..) but of course many fear it, and most employers are slow to react to this sort of 'in-job growth' because of general organisational inertia.
Good organisations should encourage the whole process of 'moving into the space above' (and to the side as well, wherever, as long as people are growing), because that's how everyone becomes more productive, strategic, and fulfilled as individuals.
First, employees must accept that some in-job role growth is inevitable, is a good thing to be strived for, and doesn't necessarily produce extra reward or grade. This is the way organisational systems develop (civilisations too): functions and job roles continuously become more informed, capable and effective over time. Compare a basic clerk's effectiveness and capabilities now with twenty years ago - a clerk performs many duties today that would have been senior management or expert responsibilities a generation ago - and yet the pay rate and grade for a clerk's job in real terms is not any different today than in the past.
Second, however, employers need to recognise and respond when a good employee's growth does warrant increased pay, grade, promotion, reward, etc., which it does in many cases.
How the employee responds to having achieved significant in-job growth largely determines whether the growth does actually result in extra pay, grade, etc., or not. It's a self-fulfilling prophecy.
If the employee accept things (no improvement to pay or grade - even after a review and a fuss) then the organisation automatically sees no need to pay no more for the role. The inertia survives intact.
If the employee leaves (or secures another job offer and resigns) then the organisation clearly sees that the role is being insufficiently valued and rewarded. Good employers will try to keep good employees in such circumstances (usually by offering the requested pay-raise or promotion); bad employers will probably not, and probably won't know the difference anyway between a good employee and an average one; never mind understanding and being able to manage in-job growth and succession planning, etc.
Therefore what typically determines where the line is drawn between role growth that attracts better grade and pay, and role growth that does not, is you - the employee. The employee is the 'market force'.
Where employers fail to recognise and reward good employees, particularly those who achieve significant in-job growth, the good people (even the passive loyal ones) eventually leave to find the growth path and reward elsewhere. Many do so without a fuss and the employer hasn't a clue what's happening because all they are worrying about is saving money and making profit. Market forces kick in when a neglectful inertia-bound organisation starts losing too many good people, who move on because they are not fairly recognised, rewarded and developed, etc. The neglectful organisation saves money in the short-term, and maybe some management time too, but then eventually succumbs to market forces when they realise all their great people have buggered off to better employers, upon which the dumb employer then has to start paying more money and offering better development and career progression, etc., in order to attract and keep any people at all.
Employers should recognise and support as much in-job growth as people want, and where warranted should formally increase grade, give promotion, reward, etc., without passive loyal employees having to agonise and worry about pleading for fair reward and advancement.
Some organisations, strangely, find it difficult to judge whether someone's growth warrants recognition or reward or advancement. More likely it's the inertia thing again - leave sleeping dogs to lie, etc., - "If we ignore it they might forget about it and go away..." You betcha - they'll go all the way to your competitors and you'll be left with the resource gap and the headache of recruitment and training.
So let's be clear, (and this is for employees and employers): appropriate reward for in-job growth is 'warranted' when the employee's additional contribution can be clearly seen to add value to organisational performance beyond the originally agreed job description and pay and grade, etc., - and at the same time, the organisation can genuinely afford to increase reward levels, whether attached to job grade increase or promotion, or any other method as would enable fair reward.
By addressing these issues organisations can begin to break the inertia that commonly prevents proper and fair response to in-job growth, especially when it's achieved over several years by passive loyal workers.
Finally, realise that you - the employee - are actually the market force that determines the visibility of this issue for the employer - you can determine how you are treated. There's a big wide world out there - if your employer is not fair and ethical, find one that is.

salary surveys and market rates of pay examples
Knowing market rates and reading surveys of relevant job earnings can help employers and employees to make more objective assessments in local and personal situations.
Examples and surveys are often published in newspapers and in other appropriate media. Look and you will find pay rates examples and surveys of salaries that you can relate to your own situation.
Below is an example of this sort of salary information, essentially concerned with managers' earnings and job satisfaction, the UK 2007 Earnings Survey by the UK Chartered Management Institute (CMI).
Of more specific interest to employees and employers considering pay-rise issues, also see the detailed earnings figures by industry sector.
The survey summarised and analysed below also makes interesting reading in terms of the health and growth of UK organisations and business, and the way UK workers are treated. Even allowing for the emphasis that the CMI will understandably apply to such a survey and report, the findings suggest that many UK employers are not doing enough to satisfy their employees. This information is published with permission from the CMI, which is gratefully acknowledged.
Chartered Management Institute Annual National Management Salary Survey- 25 June 2007
"Earning power falters, adding to record recruitment problems"
Earning power across the UK has dropped for the first time in 4 years - movement in earnings is now 5.3 per cent (5.7 per cent last year) and this is the lowest growth since 1996. Other key highlights include:
Record recruitment lull: more than 80 per cent say they can't attract staff - a figure that has gone up 4 times in 5 years.
No staying power: 77 per cent of organisations say they have problems retaining staff, up from 55 per cent, last year.
Resignation rates are also up, standing at 7 per cent, compared to 4.6 per cent last year.
The average managers' earnings are now £47,499 with an array of differences across industry sectors and regions.
Organisations across the UK are struggling to attract staff as movements in earnings drop for the first time in 4 years and bonuses become less frequent. A survey of 42,205 individuals by the Chartered Management Institute and Remuneration Economics also shows that resignation levels are up, despite employers offering a variety of incentives, as they try to hang on to the best talent.
The 2007 National Management Salary Survey shows an average increase in earnings of 5.3 per cent, down from 5.7 per cent in 2006. Representing employees from trainee level to chief executive, this figure is also the lowest movement in earnings since 1996. At 2.6 per cent the smallest pay rise was awarded to employees in the transport and logistics sector.
Top of the 'industry earnings league table', for the 12 months to January 2007, is the HR sector (5.9 per cent). In real terms, the findings show average total earnings, for managers, of £47,449 across the UK. Managers in Scotland enjoyed the highest increase (8 per cent), but at £47,902 they are only the third highest earners. The top earning managers are London-based (£54,808) and their take home pay represents a 29.9 per cent difference against the lowest paid managers in Northern Ireland (£38,399).
It is also clear that bonus payments are playing less of a role in overall 'take home pay'. In 2007 59.2 per cent of executives were awarded bonuses, representing a drop for the second consecutive year. The findings go on to reveal an average bonus payment across the UK of £5,543 for managers, but shows vast regional differences. Employees in the South East, for example, were awarded £3,171 on top of their annual salary compared to £5,382 in Scotland and £8,887 in London.
The survey, now in its 34th year, also reveals that 81 per cent of employers are reporting recruitment problems - a fourfold increase since 2002. In a sign that employers are becoming increasingly desperate to find the right calibre staff, 32.6 per cent now offer 'golden hellos', compared to just 16.3 per cent in 2006. 82 per cent also indicate that they will make 'referral payments' to staff, up from 62.5 per cent, last year.
Asked why they are experiencing difficulties recruiting staff, the majority of employers (73.2 per cent) blamed a lack of qualified candidates. Competition from other organisations ranked highly (68.4 per cent), but employers also admit that they have failed to learn lessons from recent years. 51 per cent said they offered little in the way of training or career development, a figure that has risen from 37 per cent, last year. More than 1 in 4 (27 per cent) also said restructuring had caused job insecurity (up from 20 per cent). The survey also reveals that resignations have increased; now standing at 7 per cent compared to 4.6 per cent, last year.
These findings point to a return of the mid 1990s trend, with resignation rates higher amongst managers (4.6 per cent), than directors (3.5 per cent). In regional terms, employers in the North West are worst affected, with 8.5 per cent of staff resigning in the twelve months to January 2007. Jo Causon, director, marketing and corporate affairs at the Chartered Management Institute, says: "The steep climb in organisations reporting recruitment difficulties, mixed with an increasing number of resignations should be ringing alarm bells for employers. The marketplace is clearly tipping in favour of the employee, so if they are serious about retaining the best talent organisations urgently need to meet the needs and expectations of their staff."
Looking at wider benefits, the proportion of organisations providing a 'complete remuneration package' continues to climb. For example, childcare voucher provision is up to 70 per cent (from 67 per cent, last year) and life assurance is offered by 57 per cent of employers (up from 52 per cent). Protecting the environment is clearly climbing the organisational agenda as company car provision is declining and more organisations (70 per cent) encourage use of public transport through season ticket loans, compared to this time, last year (67 per cent).
Paul Campfield, director at Remuneration Economics says: "This year's survey shows how benefits packages are increasingly being offered to employees amongst all levels of seniority. When reporting first began, in 1974, provision of medical insurance was largely the domain of directors. Today, over 70 per cent offer the same benefit to staff across the organisation."
© CMI 2007
Further information, including regional and sector breakdowns, is available from the Chartered Management Institute on 020 7497 0496. Here is a detailed breakdown of the figures from the survey by industry sector.
If you are (already, or aspiring to become) a UK manager or director then this sort of information is obviously very useful in assessing your own situation and opportunities in relation to pay and earnings. If you have yet to reach those dizzy heights then look around for information, surveys and reports, etc., that relate to your own job level, industry, and region.
Ultimately you are responsible for ensuring that you achieve the best reward for what you offer - as an employee or an employer. It is therefore sensible that you know as much as you can about the market as a whole, and do not limit your awareness to what others tell you or would have you believe. And while many people discover that they can potentially command higher earnings, the exercise in awareness is also helpful in confirming sometimes that actually you are better off than you thought. As ever having some facts and figures is more helpful than subjective opinion alone, whichever side of the fence you happen to be sitting.

Subconscious Mind!

What if I told you that there was a part of your mind that is always working, even when you are asleep? This part of your mind is known as...