Wednesday, 8 July 2015

Does Certification Matter For Programmers?

Certification is a contentious subject – not just for Perl users but for developers in general. Here we ask the question: ‘does certification matter for programmers?’


Spectrum of Opinion

We’ve heard a full spectrum of views on the subject of certification: there are some who are firmly opposed to certification who argue that certificates are of no value or that “certificates mean that you can pass a certification test, not solve real world problems”. Often experienced coders without certification themselves, they believe that the only way to show competence is either through displaying relevant experience in the form of a high-quality portfolio or by a hands-on demonstration of their ability to code to anyone who wants to see.

There are others who consider that certification is a valid method that can be used to demonstrate a level of competence. The consensus here is that certification is particularly useful for early-stage developers new to a career in programming but that it can also be advantageous for experienced developers who are starting out with a new language – a portfolio of projects in other languages can demonstrate a person’s general ability to code while a certificate in their newly learned language shows specific competence in that particular language.

It’s interesting to hear the opinions of managers who hire programmers too – these range from “I have hired programmers with certifications and they were completely useless in the real world” to “having certification can show a defined level of competence and has the potential to make my job easier – as long as the certification process is thorough and not just a box ticking exercise”.


A Point of Agreement

One point that receives general agreement across the board is that certification shouldn’t become compulsory. In many walks of life certification is compulsory: if you are unfortunate enough to require heart surgery you expect the surgeon performing the operation to be a qualified doctor and everyone driving a car on public roads should have a licence... but programming is different. Programming is relatively new, has evolved incredibly quickly and there are many different ways that people gather the skills to become a competent developer. A one-size-fits-all method of certification across such a complex and quickly evolving workplace would be destined to fail.


Demand for Certification

Despite the controversy surrounding certification there is considerable demand for it – both from students who would want acknowledgement of the skills that they have achieved during a course and from industry managers who use certification for information when choosing programmers to hire.

However, there have also been criticisms of the process of many of the certification enterprises, in particular that students can learn to pass a certification without really learning to code. Managers want to know that a programmer can produce useful code and be able to solve real-world problems and students who achieve a good level of competence want to make sure that the process of certification is rigorous enough that their certificate actually means something!


Geekuni Certification

It was with all this in mind that we designed our new certification program – the aim being to create a certification process that fulfils the needs of industry managers and students alike. To do this we created a process of certification based on real-world programming skills. We have found that there are no shortcuts to this process: expert observation of a developer’s coding and communication behaviour in a real situation is needed for accurate assessment... and our certification process has this at its heart.

Find out more about certification with Geekuni including the Demonstrable Competence Sets for both our Perl Essentials and Web Development Courses.

Sunday, 14 June 2015

Sessions and Cookies in Perl with Dancer



Cookie Monster: Me need cookie! Me make cookie! But how?

Sir Ian McKellen: Well ... how many ways can a cookie crumble?


In this article we demonstrate three archetypal ways of implementing sessions with cookies using session factories in Dancer2.

Tuesday, 9 June 2015

A small step for Dancer, a giant leap for web development

Web Development Course Update

Dancer2 has undergone major changes in the last 18 months since Geekuni's Web Development Version 1 was released.

Monday, 25 May 2015

How to learn programming? Just do it.

At Geekuni, one of our main focuses is on experiential learning which, although it sounds complex, is really quite simple...


What is experiential learning?

Experiential learning is often thought of as ‘learning by doing’, however there is more to it than just completing tasks. Central to experiential learning is the way we process our experiences, particularly our reflections on what we do. Reflection and feedback help us to consolidate ideas, and enable us to apply ideas/skills to new situations. Experiential learning is all about enabling critical thinking, problem solving and decision making in settings that are relevant to us.

Where did it come from?

Experiential learning was formally introduced by Kolb in the 1970s but there is no doubt that the roots of learning from experience go back much further:

“For the things we have to learn before we can do them, we learn by doing them.” 
(Aristotle, The Nicomachean Ethics)

Or, to put it simply:



Experiential learning is cyclical, beginning with an observation or experience. Think about learning to ride a bike. In the ‘do’ stage, you have a go at riding it. Then, if you fall off, you have the chance to think about (review) what went wrong and what went right. Then you take the things you learned form this attempt and apply it to the problem to come up with ways to make it happen better next time (plan). Each new attempt is informed by a cyclical pattern of prior experience and reflection.

Why is it useful?

Modern education methods have been criticised for not focussing enough on the learning process of the individual student. Instead, all too often teachers concentrate on the mere transfer of information without formally encouraging critical or reflective thinking. This can mean that students don’t learn how to become effective problem solvers or to develop skills but instead just regurgitate information.

Experiential learning is the opposite - it helps people develop an in-depth understanding of their subject and how to use their knowledge and skills in real-world situations. It provides deep and lasting learning.

Why use it for teaching coding?

The value of experiential learning has been recognised in many different fields. Outward Bound’s work on using experiential learning in an outdoor environment for personal development and team building is a high-profile example. However, climbing a mountain or surviving for a week in the wilderness is unlikely to help you improve your coding skills! Nonetheless, the principle holds true for programming: you do need to be able to apply your knowledge to real experiences and think critically in order to become an effective developer.

At Geekuni our teaching experience has shown us that rather than learning code in a passive manner, students learn better and faster when they actively problem-solve. ‘Hands-on’ exercises that culminate in the quick completion of fully-functional pieces of software provide effective learning. Above all, it is essential that students receive immediate feedback on their experiences as they complete tasks.

In our next post we’ll discuss another teaching method that is really effective for learning programming - Socratic enquiry.

Monday, 4 May 2015

How to install different versions of Perl


Taking control with Perlbrew on Ubuntu

Perlbrew is the quick and easy way to get multiple isolated installations of Perl onto a single host. I'll walk through how this is done on a box with Ubuntu installed.

Sunday, 1 February 2015

How to check boolean equality in Perl




Boolean equality can be checked in Perl with


!($x xor $y)


or with



!$x == !$y






And the winner is...


Tuesday, 18 November 2014

How to launch a virtual desktop on AWS


Did you ever get a GUI bug report which you couldn't replicate on any desktop at your disposal?

Last night was the first time for me, and here's my solution...




Source: Flickr, Image by Krystian "Krane" Schneidewind