Without a doubt the uptake of Drupal in the past 12 months has been exceptional, as a consultancy we are being approached on a regular basis regarding projects that are either Drupal based or perfect for Drupal. As a recruiter over 65% of the roles we are approached to fill are open source, with a large number being Drupal based. It seems that every other day a large scale site is announced, only yesterday Dries was tweeting about the New York Stock Exchange moving to Drupal. Good news for all concerned! There's a buzz in the community.
However, is there a bump in the road ahead? We are finding the uptake in the development community to be behind the curve. There are not enough Drupal developers with the relevant skills to maintain the progression of Drupal at it's current rate. Basic economics tells us that if a commodity becomes short in supply and demand is high the price of that commodity will go up. If the price of developers increases then so does the price of any Drupal related project, which will lead to Drupal projects being cancelled, or alternate solutions found.
It's that, or companies will take on developers with lesser skills, ultimately leading to lower quality Drupal installations. Does this have the potential to tarnish Drupal's reputation?
I am interested to hear views from the Drupal development community. Do you agree with the above? Are you aware of developers actively looking to move into Drupal? Do you think more needs to be done to actively increase the Drupal skills base, as a corporate company such as MS would do? ..... Or, is everything just fine as it is?
This discussion will be running in parallel on the Drupal Contractor UK LinkedIn group and our twitter @gonnadoo.
Comments
Completely agree - we need to
Completely agree - we need to increase the entry to developers in a big way - especially in the UK. My question would be (being a non-developer) - what does Drupal offer to the developer?
I so often here "Its a steep learning curve", "Its to bloated", "I want to create my own things". Those are the three barriers I see to Drupal - all of which I think are valid, but also all of which I think are over-exagerrated or not understood entirely by php devs open to trying something new.
As a community I think we can work on them all, but I also think that as micro-communities we should do more. While inputting into the code, documentation etc. is the pillar of the community, we also need promotion and community development to increase and improve in order to reach out to more people and we should do this with the people around us. Drupal events, attending open source and developer events and creating an eco-system on a par with the workload that is clearly evident.
I think there is much work to be done, not just to ensure drupal 7 gets out, but also to ensure there is an able and thriving community around us! Lets inspire...
Operations Director at Consult and Design International
Co-ordinator of Drupal North East
Global Volunteer Co-ordinator for DrupalCon
Re: what does Drupal offer to the developer?
A rich frameworks that allows you to create a website or web application in a fraction of the time you'd take if you have to code from scratch.
Even if you use a framework like CodeIgniter or Rails you won't get a fraction of the functionality that you have in Drupal out of the box.
True, but you don't need to know every nook and cranny of the system to do a good job. What you really need is a person on your team -- or to fall back to -- that points you in the right direction.
The first thing you do after the site requirements and layout is to set the Drupal architecture. There are several ways of using Drupal depending on what you want to achieve; each one requires different skills. Once you have set the architecture, than you can tell your team members what to do. Anyone with basic skills in PHP, Javascript, HTML/CSS and MySql can proficiently work on a Drupal site if properly directed.
Let's see: Drupal 6.19 is 3.3MB, CodeIgniter 1.7.2 is 3.6MB, Joomla 1.5.20 weights in at 14.5MB
A professional developer would never say something like that, for me it would be a show-stopper.
I agree 100% with what
I agree 100% with what gonnadoo is posting. I am a 2010 university graduate in I.T and i stumbled upon Drupal november last year when cracking my brain on what technology to utilize in building my final year web site project. I had heard very little of CMS or what they actually do and all my web design experience was building static web pages at uni with HTML, CSS and very little PHP.
Funny thing was that, i never declared Drupal as a tech that i was going to utilize in building the web site so i had to run it by my project supervisor and he had never heard of it. I asked my Computing project module leader and the field chair for web design at my university ( Oxford Brookes university) and none of them knew what it was.
This was so strange because after carrying out an indepth research on drupal and finding out that the whitehouse, AT&T, Oxfam, Fujifilm, Google M-labs, Nokia, Grammys, CNN, popular science, Warner Bros, Michael Jackson, Virgin Radio to name a few all have drupal based web sites, you will expect this fantastic CMS to be widely known.
Well, the good news is that i sucessfully completed my computing project. I have gone on to build to commercial websites and i am completely loving Drupal though i understand that the learning curve is steep and sometimes there are certain things that i encounter in Drupal that make me feel like i have no brains at all. Bottom line is that i am still learning and have ALOT to learn.
Now comes the bad news. I joined the Oxford Drupal user group while i was still carrying out my project with the hope that i would be able to meet people that can tell me more about Drupal from a devs point of view and help me out in case i got stuck. Well i never got any help, not a single ounce of help. I offered to even do a zero paid internship with a Drupal based web design company in Oxford after meeting the owner at the user group meeting and they never got back to me even after 2 e-mails.
Now i am in London and looking to seek an entry level Drupal job and i can't get any. At the last london drupal pub meet everyone was talking about how their businessess are showing massive growth and how they all want to expand their teems by bringing graduates and training them in house. I take a bunch of complimentry cards, send them all e-mails with my CV and absolutely nothing till this day. One company even called sayin that for their entry level Drupal role, they want somebody with 2 years commercial experience with Drupal. How on earth can that be considered a graduate/entry level role? If i then say let me go freelance, i will then build Drupal based sites with rubbish code, hence tannishing Drupals image in the eyes of the client.
The worst thing is that all my uni friends that used out dated Microsoft Access to build a cheap project for their final year project all have jobs. So it now makes me think, has my time with Drupal been a waste?
IMO organizers of user groups should encourage companies and members of Drupal user groups to employ graduates. Especially those that have a keen interest in Drupal. They should start by employing people like me, that are trying to be active in the community but realize that their skills need to be improved in a commercial working environment with the guided hand of a professional guiding them and Only then can Drupal grow.
anyway, i am always an
anyway, i am always an optimistice person and i hope something in the Drupal environment will turn up for me.
vicious cirlce
I have also had a problem with the vicious cirlce; no commercial portfolio means no one will hire - no one will hire means no commercial portfolio.
I would have liked to get in touch with Drupal developers in my area and offer free service for the experience/mentoring but the only places I have seen with meet-ups in the area are London and Brighton - both too far for me. Your experience seems to suggest established developers are not interested in bring froward new talent (or that might just be in the groups you have tried). This could well be what leads to the problems in the job market that gonnadoo foresees.
It would be handy if there was a standard measure of skills (i.e. what would someone be capable of if they described their skills as basic / proficient / advanced / expert) so you could state your level and give relevant experience as examples when applying for positions. This could help with people who either overstate or understate their skills (guidance from gonnadoo possibly). It would also help if the job adverts used those metrics to state the skill levels required as well so there is no misunderstanding.
At present I am trying most of the things that Jeremy suggested to escape from the Drupal experience trap; I have been contributing towards the support forums whenever I can (I have learnt a lot that way from either finding solutions to other people's problems or reading the solutions that are posted), have provided patches for modules and themes and am assisting with further development of a module. I have ideas for the development of other modules for when I feel confident enough to "go it alone" on a project.
Other things you can do are to identify the skills required in the market at the moment (maybe gonnadoo can help with some guidance there again) and compare them to your own. No one can have a complete range of skills at the highest level but it is best of you have at least some knowledge over the range (theming, module development, site building/configuration and even design).
Within the Drupal community, you profile is the window on your skills. Make sure it shows you as a contributer to the community and that you have a web site listed. There is no reason why you cannot have a link on your CV to your profile but make sure you state the key points on the CV as not all recruiters will look at the profile.
I have looked at your profile, but you do not seem to have a web site. If you haven't already got one, then make one as a demo of what you can do. It doesn't matter whether it is something that gets a lot of hits or if it is an area where there are already too many similar sites, it is a showcase for your skills. A lot of cheap hosting pacakges will let you have unlimited domains / databases so you could create several sites using a range of modules to get experience - they could be clearly labelled as demo sites and built as a subdomain if you want. This may be the only way to get experience of Ubercart (you don't have to add a payment interface) outside of a paid project.
Try to bid for some of the projects on the Paid Services section of the Drupal site as well. There are some people here that only have a limited budget so are willing to take on someone who has limited experience for only a token fee of for free.
I have had a couple of bits of work from the Paid Services and have some good references from them and am setting up Ubercart for another developer who is just switching to Drupal and has lots of clients but not the time to learn a large group of modules (this is a contact I made through the support forum, so that is paying off as well).
I have also just started work on my first commercial site for a Chicago-based magazine. They just wanted a themer and were attempting to do the rest of the site in-house with someone who had learnt from video tutorials only so I offered to do the development side as well for free so I have a good showcase site for my portfolio.
It may be slow to get a foot onto the Drupal ladder but there are ways. It would be good to get a bit more help (with career development rather than the technical side) from the Drupal community though.
After my graduation, i met
After my graduation, i met some people in Oxford who said that they were very impressed with a website that i built for a module in I.C.T http://sots.brookes.ac.uk/~07071602/index.php. They wanted something like that for a menswear clothing brand and asked if i could do it. Well, i did using Ubercart. They loved it, we signed an agreement, i uploaded the site unto their server and they refused to pay me. Stating that there was some extra functionality they wanted to have in the site that was never talked about while getting the requirement speq from clients or in the signed agreement. Bottom line is that, i took the sight off line so i never got paid. That is the reason why i would rather work for a company for a couple of years,get some very valuable experience and build a portfolio in the process.
I have updated my profile to show a site based on my university project www.gistboard.com. The site is not very good but i have learnt a lot of lessons from it and would do it differently if i could do it again. Anyway, thanks for the advise and will take them on-board.
Standard measure
It would be handy if there was a standard measure of skills
You meen something like Certified to rock?
I know it is a bit basic and crude, but it gives a level. Interestingly there are only 600 people with a score > 4 so it requires a lot of work to go up the scale.
I had never heard of
I had never heard of Certified to Rock before you mentioned it (it just shows how information doesn't flow down the community). I just did a google and tried it out. It does not recognise my current or previous username and I have been a Drupal member for nearly 4 years.
I am guessing that it just picks out the number of posts under different categories and commits and runs an algorithm based on that. That isn't really any form of certification as it does not measure the quality of the work done (unless it counts the number of checkouts for modules you produce and then it is best to link up or take over a popular module so you can take the credit for someone else's work).
A standard is only any good if everyone knows what it measures and accepts it as a true test; Certified to Rock only looks like a bit of fun and does not fit this. I doubt it is able to break down skills into individual areas so it would not give an indication to where strengths and weaknesses lie.
Actually, in this case all I am looking for is a rough guide, for example:
Basic Theming skills: can select, download and configure a theme from the Drupal or third-party site. Can carry out minor changes to colours and backgrounds using css.
Proficient Theming skills: can create a sub-theme from based on a theme from the Drupal or third-party site. Can create css-based styles from scratch and writing override functions.
Advanced Theming skills: can create a theme from scratch including php override functions and jQuery/javascript FX.
This is just an example. Some people may have another idea of what counts as proficient and class the skills listed here could be advanced - we would then move everything up a level and add an expert category. How do we know unless there is some sort of measure?
This would mean that when someone asked for a certain level of ability, you knew what range of skills they required and could highlight those skills in your application. It would stop a lot of wasted time for both applicants and whoever sorts through them because of a mismatch of skills.
Any form of certification is only as good as the uptake and the ability to guarantee the skill level of the people who take it. I don't see current experts being willing to take an exam to become certified and it is doubtful whether you could police a certification scheme to ensure consistent skill levels. I don't see any sort of certification working unless it is started as a global initiative from the highest levels of the community.
I work as a freelancer (I have worked that way in other fields and am trying to move into Drupal freelancing) so understanding what a client wants and being able to match it against my skill set it crucial. I also need to know where I am lacking skills so I can improve them and gain practical experience in those areas. How can I do this when job adverts are vague and you rarely get replies from agents/clients? When an advert says they want advanced knowledge in areas, what does this mean in practical terms? Even something as crude as a check list of specific skills and examples would be handy.
Of course, clients always say they want experts in all areas and will need module development skills - do they actually need this? Do we need to educate clients so they know what they need and can recruit accordingly? This would free up the top level developers for projects that actually need their skills and they could charge a premium for those services while mid-level project prices would remain the same or go down.
Here is a discussion on
Here is a discussion on certification http://groups.drupal.org/node/89354
Getting on with drupal
I hope you keep up with this group as this is probably just what you are looking for "Junior Drupal Developers London 23/28k". James (the agent) is pretty on the ball so I expect he has contacted you already.
I was just going to give you a couple of pointers. I am not, at the moment, in a position to hire a Drupal developer but not long ago I was looking and there are things you can do to help yourself.
Contribute
Drupal is open source, Drupal.org is a great place to show off what you can do. Nobody will expect you to be the next Earl, but some good patches, or even a good module of your own will show that you know what you are doing.
Demonstrate
At least have your own Drupal site. Early in your career you won’t have a portfolio of places you have worked to show to prospective employees but there is nothing to stop you building your own site. It shows that you can apply practical knowledge. Link to this from your Drupal.org profile
Discuss
Blog, tweet, go on IRC or the Drupal forums and discuss things. You may have found something interesting or annoying, but show that you are interested in Drupal and you are constantly looking to learn new things.
Recruiters have a lot of people to sift through and not a lot of time, they won’t go digging to find out more about you. Make sure your Drupal.org user shows a fair representation of what you can do. Taking on an unknown quantity is a risk but with the open nature of the Drupal community and infrastructure it is easy to show what you can do.