Thursday, 22 March 2018

Recruitment Agents are not bad people...despite what you might read

Welcome to WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships. My name is Gethyn Ellis I have been running a SQL Server consulting and training practice for the last ten years. You can check out my website and blog and feel free to connect with me on twitter and LinkedIn – we follow back 

In this short post we will discuss why recruitment agents are not bad people, we’ll talk about some urban legends myths and horror stories that I have read about

Urban Legends, Myths and Horror stories

Some of the horror stories I have read on various sites over the years regarding recruiters remind me of school. Going to secondary school in particular. Someone, maybe one of your friends from primary school who may have had an older sibling or older cousin attending your soon to be secondary school telling you tales of “getting your head flushed down the toilet” or “thrown down the hockey banking”…You get a little scared or anxious then when you turn up and realises that nothing like happens at all you can relax and get on with your education.

Some of the worst stories I have heard include this one:
A recruiter phoned up a contractor, had a chat, asked for details about your current client, contract and fees etc. Asked who the hiring manager was (the decision maker at the client). Which is a very common occurrence as a contractor. The agent then phoned up the hiring manager, told them that the contractor was leaving and they could replace the contactor for less money and the client took the deal and the contractor was booted out.

Now I don’t know if this is true, I have never encountered anyone that this happened too and it has not happened to me. It seems like one of the secondary school stories I mentioned earlier . It probably happened to someone once, but it’s definitely not a regular occurrence. If you are in a contract you will have a relationship in place with the client and you won’t be getting replaced because some other agent can find someone fractionally cheaper. If this happens, it’s because something is fundamentally wrong with your relationship with the end client. I’ll talk more about that relationship and managing it in a later post.

Don’t get me wrong, details of your current contract and work are valuable to an agent. Again a good thing to know in building your relationship with any business partner, knowing what is valuable to them. If you are working a contract for a company and an agent has no connections in that organisation then they know you have information that would be valuable to them. They hire contractors, they have active contractors working on site, they might have other requirements that the agent could help find solutions for. 

Why do Recruiters sometimes get a bad press?

In fairness, most of the bad press I hear about comes from contractors, not the end client themselves. With the end client paying all the fees and the agents controlling the relationship it can feel sometimes the odds are stacked against the contractor. Agents work in a cutthroat business with tight targets. If an agent doesn’t fill a position, one of their competitors will – the targets set in recruitment agencies are pretty tough too. They get a bad press because of some one the less ethical recruiters out there not all of them are like that though, but as sales people they are trained to gain as much information as possible to help them make sales, some of things I have encountered included:

  • I have contract doing x – anyway tell me about what you have been up to for the last two years. There is no contract x
  • I have a contract doing x I’m going to need at least two references from your last two clients with no further details on the contract. There is no contract x – just a fishing call looking for details of people that engage contractor
I don’t put references on any documentation – why? The information is in fact valuable. If I feel like I’m getting hoodwinked I just give the details of the agent involved in setting up that engagement for me – if there is one. When I have secured the contract offer then its common practice to supply some references and testimonials of  work that you have done but I don’t  provide those details until we get to the stage where I have been offered the work. I’m sure other contractors out there have other scenarios and stories they could share and I’d be happy to read those in the comments.

Recruitment Agents are not bad people

Most of these agents are trying to build up contacts and connections who they know hire contractors. They are working to sell your services. Always remember that recruit agents work in a cut throat business. Talking to their suppliers (IT Contractors) can help build up their network and list of warmish leads. If a client has hired contractor before they don’t need to be sold on the benefits of using contractors for current and future projects. Yes there are some unethical ones out there BUT these are few and far between. It will be helpful for you to be able to identify those early on. Most agents are very professional. All the agents I have ever had a business relationship have been excellent. Just be aware how you can identify people who fishing ultimately so I don’t invest too much time in that particular situation.

Tuesday, 20 March 2018

An Introduction to Enterprise Architecture

An Introduction to Enterprise Architecture

In this series I’m going to be looking at enterprise architecture. Over the last few years many of the projects that I have been involved with have involved complex digital transformation for large organisations. Delivering change in a large organisation can be a complicated and difficult process. The purpose of Enterprise Architecture is to align IT and IT systems to the business goals and objectives. When you break down to that sentence it seems full of common sense and it should be a common sense approach to take. However, business and IT alignment hasn’t always been the case, and in recent years more and more businesses are looking at their IT function as a key business driver as opposed to a cost centre. Enterprise Architecture can help with that… some of the terminology can be confusing and the nature of people who I will call stakeholders in the enterprise and how they react to and resist change can add to the complexity and delivery of enterprise architecture and business change. In this short series we are going to attempt to remove some of the confusion.

There are various tools frameworks and methodologies dedicated to Enterprise Architecture, The Zachman Framework and The Open Groups Architecture Framework being the most common. This series will try and remain framework neutral but we will make reference to these frameworks as we go along, and call on them where they provide a useful definition.  Just a caveat to note, we are TOGAF certified and work extensively with the TOGAF ADM. So if I seem to favour TOGAF over other frameworks you know why.

Lets start with some terminology

What is an Enterprise?

Let’s start by answer a simple question that can sometimes cause a lot of confusion. What is an Enterprise? It causes confusion because it can mean anything from a department that sits inside an organisation or a large organisation that consists of many departments’ suppliers and customers. The latter is called an extended enterprise. TOGAF defines an enterprise as “any collection of organisations that has a common set of goals.”

TOGAF goes on to list some examples including

  • A whole corporation (for example Learning Tree)
  • A single department (IT department)
  • A chain of geographically distant organisations linked by common ownership (I think amazon, amazon distribution and AWS as an example here)

From an enterprise architecture perspective the term enterprise can be used to represent the entire organisation (or extended organisation) or a specific area or department within and organisation. Using a fictitious insurance company as an example the Life Insurance arm of a large insurance company could be represent an enterprise  all of its own.

What is Architecture?

We will also look at some definitions of architecture
ISO defines architecture as
“Fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution”
TOGAF embraces but does not strictly adhere to the ISO definition of architecture. In fact in TOGAF architecture can have two meanings, the following is taken from Chapter 3 of the TOGAF document. Section 3.8 which provides a definition of architecure:
1. A formal description of a system, or a detailed plan of the system at component level, to guide its implementation (source: ISO/IEC 42010:2007).
2. The structure of components, their inter-relationships, and the principles and guidelines governing their design and evolution over time.

What is Enterprise Architecture?

What is enterprise architecture? This again is an interesting question that can have many answers. I tend to think of enterprise architecture as being a strategic, business and technology perspective analysis of an enterprise  and documenting an enterprise in its current (as is) and future states (to be).
Enterprise architecture is all about aligning the IT and IT systems to business goals and objectives.
It can be used to optimize legacy sometimes fragments systems and processes into integrated environment that is responsive to change and supports the business’s goals. And as everyone knows you have to change to survive to that end enterprise architecture can help deliver that  change. In the age of digital transformation being a key business enabler understanding what you currently and where you want to get to can help you make key decisions on what needs to change in order to get to the desired future state. I was going to use end state, but you never really get to an end state. Just a state whereby you can change again.

If you do enterprise architecture well you can expect

  • Lower business costs
  • A more agile organisation
  • Business capabilities shared across the organisation
  • More efficient IT operation
  • Lower software development costs
  • Increased application portability
  • Improved ability to support enterprise wide initiatives 
  • Improved and simpler procurement

As you can see in theory Enterprise architecture should bring with it a number of benefits to the organisation. Which is why people spend time and effort in trying to get it right.

Monday, 19 March 2018

# Not the GDPR News

# Not the GDPR News

Mark Williams and myself will delivering a seminar called #Not the GDPR news in Cardiff on the 19th April...

#Not the GDPR News

This is not a session on GDPR!

This is the session abstract

Wonder why projects fail? Want to spot the signs of failure? Want to know how to turn failure into success? CPS Group are hosting an Interactive Seminar with Wyeden’s Mark Williams & Gethyn from (40+ years project experience between them). Wyenot come along, enjoy some drinks & food, chat with peer’s, listen & join in as you wish…& have fun?

It is free for you to  the link which will take you to the EventBrite website. Your name and email address is all you need to register. If you register and come along to the session on 19th you'll not only get a great session but there will be some free drinks (beers and soft drinks) and nibbles too. 

If you know someone, a friend or colleague who would also enjoy this session feel free to forward it on to them.

Thursday, 15 March 2018

Why contractors need recruitment agents?

Welcome to WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships. My name is Gethyn Ellis I have been running a SQL Server consulting and training practice for the last ten years. You can check out my website and blog and feel free to connect with me on twitter and LinkedIn – we follow back J
In this short video we will discuss why IT contractors need recruitment agents

In this short post and video we will discuss why IT contractors need recruitment agents

Why Contractors need Recruitment Agents?

Any business needs a sales team. If you are contractor running a small business you can try and do the sales work yourself, when it comes to sales you have a few options or combination of options for trying to do this yourself some of the tasks include:

Inbound marketing - blogs, social media
Networking - networking events and conferences
Cold calling - picking up the phone and phoning people to talk about their requirements

Inbound marketing and Networking I quite enjoy. Cold calling though is not for so using an agent who will do the bulk of the cold calling for you suits me just fine.

There is a really great article over on Contractor Calculator that discusses the pros and cons of using an agent to secure contract work and I have already touched on the idea of making sales directly with the end client. ( ). The article suggests that while it may appear you can earn more money by ‘cutting out the middle man’ the agent in this case and doing all the sales work yourself, the reality is the work involved in terms of time and effort that would go into making the sales yourself is not as cost effective as using an agent. 

You will very likely make more money – have billing clients for longer periods without contract gaps if you outsource the sales process and use an agent. You mileage may vary but this is what I have found too over the years. Using agents has minimised gaps in billable days. 

Lots of entrepreneurs have stated that when  building a successful business, surround yourself with people who love doing all the things that you don’t enjoy and some sales tasks, particularly cold calling I definitely don’t enjoy. They also say that Sales is key to any business survival so if you’re an IT contractor agents can be key to that sales process and your business success.

What recruiters are not

They are not technical experts or SMEs in technology.  They are sales people. Their job is to send suitably qualified people who can fulfill a requirement, i.e. solve a problem (first rule of sales) for their client. His or her skill is finding someone to help meet the end users requirement.  Your job as a IT Contractor, if you want to best utilise an agent as part of your sales team is to make it easy to demonstrate that you have the skills needed to solve the problem. This makes it easy for the agent to put you in front on the client…

Your CV needs to be spot on and targeted for the role – otherwise what chance does the recruiter have in getting you in front of the client? Which is the aim of the game. You need to help the agent as much as possible by providing them with a tailored targeted sales brochure. Also called a CV.

Somethings else to consider, it’s also not the job to get the contractor the best rate. The best situation for a recruiter to maximise their revenue is over sell the rate for the service to the client and pay the contractor the as little as possible thus making their margin as big as possible. That’s their end goal.
As long you go in with your eyes open and understand that it’ll help with the whole process.

Remember you can negotiate this is a business transaction…and you can always say no. An agent would rather have the deal done than the contract still sat on the table – if you don’t agree to the deal – they have to find someone else and a 15% margin is better than a 0% margin. If the agent finds someone for a contract and the margins work out for everyone – it’s a win win.

Tuesday, 13 March 2018

Allowing Azure Service to Connect to your Azure SQL server.

Allowing Azure Service to Connect to your Azure SQL server.

In this video David will look at the impact of allowing you Azure SQL databases to work with other Azure services and the knock of effect of setting the option "Allow Access to Other Azure Services".

In short, setting this option,  doesn't limit connections from just your Azure subscription. It allows Any Azure Service  from any Azure subscription  to connect to your SQL Database. In the video David demonstrates this...

The following is David' abstract from David's  the post on YouTube...

"If you want your Azure SQL server to interact with your Azure services you need to update your firewall rule to "Allow Access to Other Azure Services" . This seems pretty straight forward and sensible BUT there is a major weakness regarding this setting that you must be aware of. Watch my video find out more..."

If you have watched the video do you think its a security flaw? David discusses this too.

Any comments on thoughts please leave them in the comments here or leave them on David's YouTube Channel

Thursday, 8 March 2018

Win at IT Contracting: The recruitment Agent Business Model

WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships

Welcome to WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships. My name is Gethyn Ellis I have been running a SQL Server consulting and training practice for the last ten years. You can check out my website and blog and feel free to connect with me on twitter and LinkedIn – we follow back.

How do Recruitment agents generate revenue?

In this post we will look at the recruitment agent business model. If you understand how your business partners generate revenue from your business relationship. Understanding that relationship and that business model, will help you get the most of that relationship.

From various conversations, blogs, articles  and forum posts I have read over the years I fully appreciate that this can sometimes be a point of contention in that relationship. The purpose of this post if to try and help you understand the process, allow you get the most of out it and realise that it should be a win-win relationship. All parties benefits from it.

There are a couple of revenue models that I’m aware that contract agents use when setting up a contract:

  • Fixed price – the agent earn a fixed rate regardless of the contract value. For example, they will agree with the client that their fee for finding and pacing  a contractor will be say £20 a day regardless of the value of the contract. So they get x regardless of the rate of the contractor. I don’ think the fixed price model is very common, at least in my experience. The most common model I have found is… 
  • On margin – Recruitment agents usually make their money on the spread of the contract value. You could and probably should argue they are re-sellers of IT services. They buy for £x and sell at £y

Recruitment Agents Margin

When you contract using an third party or an agent there will be at least two contracts between you and the end client.

There will be one contract between the end client and the agent – who agree to supply a contractor or consultant at £x day rate

The second is between the contract agent and you the contracting supplier – the supplier agrees to provide the services for £y day rate 
The agent is effectively sub-contracting the work to your company. Therefore we can work out the agent fee by calculating £x - £y = Agent revenue

For example, the figures here are contrived and used only for illustration purposes. You as the contractor might have a contract that says you’ll provide a consultant on time and materials basis for the upgrade of a database platform to the latest and greatest version. 

  • The agent has an agreement with the end client to provide services for £120 (£x)
  • You agree to provide services £100 (£y)
  • Agent Revenue = £x - £y = £20 so they have margin of just 17%
  • Contract value is £120 – cost to the end client (100%)
  • Contractor receives £100 – 83.33 % of the contract value
  • Agent receives £20 – 16.66% of the contract value

It’s typical for an agent fee to be in 20% region.  There is no hard and fast rule around this though and the margin rate can vary depending on the skills and services that are being supplied. The percentage margin could be as low as 5% or as high as 40%

Lets at another example, if the agent agrees to find a contractor for a customer at say a day rate of £600 a day and they make an agreement with you the contractor to provide the services for £300 a day, the agent’s margin is then £300/day or 50%. 

The important point for the contractor here is to know your market day rate. So you don’t end up in this situation where you are resenting the agent for making and achieving a good deal for themselves at what you perceive  as a cost to you. 

Early on in my business, I may have made the mistake of  not negotiating my  day rate properly possibly not as severe as the above scenario but the agent did out maneuver me in the negotiations so I ended making less than I could have done if I had more nous about me the process and the agent had a healthier margin for them– but that’s business and at the time I was happy with the rate I achieved so I was never bitter about it.

Contractor contention about agent margin 

This margin can sometimes be a bone of contention for some contractors particularly if the situation above arises. The contractor  can feel that agent is taking their share of what the contractor belives to be their revenue. This is not the case. For a contractor businesses the agent margin represents the cost of sale. But you don’t have to part with any money. The situation I described above is a maybe a little contrived …but not an impossible situation to find yourself in.  However as long as you know the true market value of your services, and you think through the whole situation from end to end and appreciate that there is always a cost to doing business. 

If you want to increase your share of the margin then you need to improve your negotiating skills and negotiate with the agent to get the best rate possible.

That brings us to the end of the second post – looking at the recruitment agent business model. My name is Gethyn Ellis, check out our website at follow on twitter @gethyn_ellis and connect with us on LinkedIn too.

Check out the first post in the series What do recruitment Agents do for Contractors

Tuesday, 6 March 2018

Identify the owner and then change the owner of a SQL Agent Job

In this post and video you will learn how to identify the owner and then change the owner of a SQL Agent Job.

Have you ever had issues where the owner of a SQL Agent job leaves and their windows active directory account gets deleted/removed/disabled and the job(s) they own then stops working?
I was doing some SQL Server security work for a client recently. Part of that process involved changing the authentication mode of SQL Server from Mixed Mode to Windows only, disabling the built in SA account and locking things and removing components not used to reduce the surface area.

This process involved cleaning up old logins but some of the logins I wanted to remove were the owner of some SQL Agent jobs that were still needed and executing on a schedule. I needed to change the SQL Agent job owner for these jobs.

There is an argument  for setting all jobs to be owned by SA, you might have a different approach such as creating an account or login specifically for owning SQL Agent jobs – whatever approach you take you might want to avoid having jobs owned by users – if the users leaves the job might just unexpectedly stop working

The first thing I wanted to do was identify all the jobs on the instance and their respective owners – allowing me examine the problem

List job name and owner

The following query return the owners of a SQL Agent Job. It’s a join query getting data from the msdb.dbo.sysjobs system table and the DMV sys.server_principals

, AS Job_Owner
FROM msdb.dbo.sysjobs J
sys.server_principals P

ON J.owner_sid = P.sid

You can see from the results below that the owner of my all my jobs is a login called Gethyn

Just in case Gethyn leaves, or I need to move the job to another server which doesn’t have a login called Gethyn on it or its created with a different SID to the current server I want to change all these jobs to be owned by SA

Updating the SQL Agent job owner 

There is stored procedure in MSDB that allows you to change the attributes of Agent jobs including updating the SQL Agent job owner. The stored procedure is called SP_UPDATE_JOB. 

A Script to Create a Script

The next script is going to generate a script that is going use the SP_UPDATE_JOB stored procedure to change the job name.

I could wrap this in some dynamic SQL but I want to check my script manually before I execute the script. It will also give me some documentation as to what I have changed too.

It’s a SELECT statement that concatenates the TSQL needed to execute SP_UPDATE_JOB and passes some of the values of a SELECT from the first query above, providing a final statement to change the job owner of the jobs to SA. 

Before executing the below I change the query result output to be text (not grid) then execute the query

SELECT  'exec msdb..sp_update_job
        @job_name = ''' + ''',
        @owner_login_name = ''sa''
FROM msdb.dbo.sysjobs J
sys.server_principals P
ON J.owner_sid = P.sid
Execute the query select all the text in the result pane to text in management studio, take the results of the query and paste into a new query window. Execute the script pasted into the  new query window to rename the necessary jobs.

exec msdb..sp_update_job
        @job_name = 'Test',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'syspolicy_purge_history',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseBackup - USER_DATABASES - LOG',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseIntegrityCheck - SYSTEM_DATABASES',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseBackup - USER_DATABASES - FULL',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseBackup - SYSTEM_DATABASES - FULL',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'Output File Cleanup',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseBackup - USER_DATABASES - DIFF',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'sp_purge_jobhistory',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'CommandLog Cleanup',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseIntegrityCheck - USER_DATABASES',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'sp_delete_backuphistory',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'IndexOptimize - USER_DATABASES',
        @owner_login_name = 'sa'

If you re run the first query that shows us the list of jobs and their respective owners you can see that they are all now owned by the SA account.

If you need help with SQL Server check out our SQL Server Consulting page, or use the book a free appointment

Featured post

Creating a Linked Server to an Azure SQL Database

Why would you create a Linked Server to an Azure SQL Database? If you work in a hybrid environment with some databases stored on your on ...