We're very pleased that you want to get in touch with us. Please fill in the form below:

or   Close this form  
Some content

Peter Pilgrim :: Java Champion :: Digital Lead

I develop Java EE and Scala software solutions for the blue-chip clients and government public sector.

Contractors: Avoid TEST-FIRST software engineering testing platforms

20 July 2016 2 comments

I recommend experienced contractors avoid software engineering testing platforms especially when the client requests you complete a test before a telephone or face-to-face interview. In other word, avoid TEST-FIRST. Of course, you might exactly know what you are getting into, conduct research and seeing it for yourself. Just know the consequences.

I took a Hacker Rank test in June 2016 for ValTech for a Scala job with the full knowledge that the role would not be subtle for me, because I wanted to work from home (partial remote working) during the months of July and August. I was curious about this form of TEST-FIRST recruiting. (See my other articles: Why aren’t you getting the best contractors and what can you do about it – Part 1 and Part 2 )

I never heard any feedback from ValTech or the their representative recruitment agency.

I strongly recommend that:

  • Professional software developers, especially experienced contractors, should refrain from taking any Hacker Rank tests. The clients that use these services are recruiting on the cheap, probably. Most likely they do not make time to assess their contractors and permanent staff appropriately without using brute force methods. In other words, they do not care about you, even more worse than the average IT business, they likely demonstrate lack of empathy. If they care not for people, then their software is probably bad in terms of architecture, infrastructure, and most importantly, morale.
  • It is not easy to delete your personal data or close your account from the Hacker Rank website. This is an outrage and disgrace. I am still waiting for official confirmation from the company that my account and my data has been removed.

    *** UPDATE ***: A support person from Hackerrank sent me an email, yesterday (20th July), saying that my account and data will be deleted in one week. I suppose that is a resolution of sorts.

So far if you are conducting research Codility looks a better platform than Hankerrank. I have witness some technical leaders using it to check skills, but after they had a telephone conversation with the contractor.

All of these software engineering testing platforms (Codility, HackerRank) are broken in my opinion, because they afford the illusion of cheap and effective recruitment practices; and they have slotted themselves into exploiting the generation of Script Kiddies. Software engineering is a very creative field, you rarely come across a situation, where you repeat work items, program the same subroutine over and over, every single day of the week. If you think programming is copying and pasting text, implementing computer science N-tree traversals algorithms from scratch, or stacking baked beans on a supermarket shelf, then you are thinking it wrong. It is much more than that. If you cut off from your creativity, then you are losing a part of yourself, you are selling your soul.


  1. Beware Hackerrank by Richard Linnell
  2. Lazy HR testing with Codility on Reddit a discussion list


How to hire an elite level international football head coach and what you can’t do bugger about it

19 July 2016 No comments

Based the last blog entries: Part 1 and Part 2. This is tongue-in-check, however please read it and the last paragraph.

Today, 19th July, I saw somebody had tweeted about Head Coach job specification for Belgium.

Discover the desired profile of the new Belgian Red Devils’ head coach.

– Experience and results in the currently fast changing world of football
– Proven record in transmitting tactical and strategical knowledge to top level players
– Proven record to be able to work with experts in modern high level football
– Treating his own social and high performance context
– Strong and open communicator
– Ruling generation management
– Proved to be able to operate in an existing structure and organisation + in full confidence being able to work with the team management, training facilities and financial, commercial and communication framework.

Deadline: 31 July.

Candidates can contact Chris Van Puyvelde by e-mail.

I could not resist the challenge of rewriting the lazy wording of their job specification. So here is my version, judge for your yourself:

Royal Belgian Football Coach

You are already a superstar football coach at the elite level of football. We want you!


Work with the Belgian household names and supremely talented players: Eden Hazard (Chelsea FC, Football/Playmaker), Marouane Fellaini (Manchester United, Forward), Kevin De Bruyne (Manchester City, Midfield), Thomas Vermaelen (FC Barcelona, Defender), Jan Vertonghen (Tottenham FC, Midfield), Thibaut Courtois (FC, Goalkeeper), and more. You already have seen them in action in the Champions League, English Premiership, Spanish Liga, French League etc.

We want to achieve exactly what Portugal did at the Euros in France. We want to be the next country to win an international competition.


We see our FULL TIME HEAD COACH with the following characteristics:

– With your international competition experience, you can already coach at super elite level
– We already have experts in modern high level football, we welcome you and your coaching staff and their experts, insights and strategies
– Our Football Association has a close affiliation to the Belgium Royal Family, we expect our next coach to have high ethics, social and professional integrity
– Whilst we don’t expect “the rule of law”, we DO expect “the rule of reason and fairness”
– Above all, we want our next head coach to perform like a terrific strategic game manager, and also have vision of a strategic leader.
– We aim to maintain our FIFA standings and ranking, we very much want our next exciting coach to also provide “next-generation” management and forward thinking vision
– We run our Football Association like a real-world 21st century business, we hope that our next head coach is sympathetic to our existing ambitions, plans, finance, training facilities and community outreach

Our next Head Coach will contribute to Belgium internal football journey with huge impact and influence. So please apply now to be considered. Deadline: 31 July.

Candidates can contact Chris Van Puyvelde by e-mail.

All joking aside, as a technical lead looking to recruit for my team, I have taken the prose out of HR’s hands. I am sure that they will fight against me and attempt to dissuade me. They will try to get stock phrases into the advertisement like “multi-tasking”, strong communicator”, and “agile and waterfall”, but I would fight tooth and nail even if I lost in the end. Here the Belgium FA absolutely want a top level male person and they are prepared a high salary for their pleasure. (Unfortunately, the world of football and other sports have a way to go to be gender equal. So please don’t shoot arrows at me. It’s not my fault!) It is absolutely important for them to get the right guys to an interview (as it is important for England manager vacancy), and so why are they compromising here? Probably, they are attempting to look digital and open, but at least they are trying. Their spec leaves a lot to be desired. In your digital business, you should already be up there and way in front. After all, you work inside a technology business, and it should be fun and exciting. Technology is supposed to be new black (or is that orange or red). Take control of yours. Good luck!


July 2016

[1] [Recruiting Daily] Why Your Job Descriptions Suck to High Heaven

Why aren’t you getting the best contractors and what can you do about it (Part 2)

18 July 2016 3 comments

Why aren’t you getting the best contractors and what can you do about it

In Part 1, we look into the question of why companies suck at finding great contractors. We covered reviewing the genuine opportunity. We touched on why demand for great contractors outstrips the supply. We saw why TEST-FIRST recruitment is an abject #EPICFAIL.
Finally, we learn the basics of how to write an appealing advertisement.

In this second part, we expand on the question.

Part 2

Some do not believe that great contractors are in short supply. Well it stands to reason, if a contractor is already working on a job, because under 3, 6, 9 or even 12 months contract then they are unavailable for immediate requirement. Unavailability is one answer. Some Contractors that are supremely good are almost operating like consultants. In other words, they have many choices, and a few frugal contractors, may have a war chest, so they wait until a juicy project [read “challenge”] appears once they have finished an engagement.

Recruiters can shoot themselves in the foot, because they fail to hand the client’s true requests. They may not have the experience and the knowledge of the technical and/or business challenge. If the recruiter keeps sending you CV with generalist Java developers, when you actually require a Java developer with IBM MQ Series then there is probably a miscommunication between yourselves. However, it might be true that there are no MQ Series Java engineers available right now. Of course, chucking money at the problem rarely solves the long-term pain.

Clients can also definitely shoot themselves in the foot. An obvious way that can happen, is that the business suddenly unprepared for demand. There was miscalculation on the effort to deliver the product on the time. The product was undersold to the customer. Now the company has to commit more bodies to product. (This is a very bad idea see Mythical Man Month by Fred Brooks.) Therefore, it may easy and tempting to rush-release a tired out-dated job specification to any recruiters. I believe in American Football, they call this idea something like the “Hail Mary pass!” Don’t do this! It leads to resentment and eventual offence. Rather the business strategy should have been clearer months earlier rather today.

Contractors can also shoot blow their foot off. A contractor can become too uppity and stupid just like another person who rediscovers a silver mirror and vanity. It is up to contractors, and indeed, consultants to stay real.

Take your sodding time and definitely make time when hiring a top talented contractor. It is your money to waste, if you get it wrong. However, don’t take an ice age and know exactly what you want to achieve.

Let’s move on economics.

The sea is rough about there and there are no excuses

The economy is the true driver of supply and demand. As a technical leader you are at the effect of it, and you will find job market place and the economy blows hot and cold for certain periods. As a rule of thumb, in the UK, recruitment falls off in July and August and also around Christmas and New Year. Demand typically starts on the first week in January, after the tax period in April and then there is autumn run from September. This is well understood, because IT directors will sign-off for multi-phase projects just before and after these periods.

However, in the year 2016, there was a sudden difference of opinion and attitude to general life not just in digital, or information technology. We are all at the effect of #BREXIT and we still are not sure how this will affect the long-term economy. One thing that is definitely understood is that we have different political opinions, and what we want to get out of leaving the European Unions. In other terms, politics and general attitude WILL affect all of us.

Some people have a practical model of the situation in their heads about economy, society and politics. They explain the situation of bad economy like rough seas using a metaphor; equally a calm sea is like a boom economy.

Consider a flexible approach

With flux and constant change, people expect improvements in their quality of life. It is not just about work sitting constantly in front of computer screen. Experienced people often are older, if not wiser; they can see life differently to when they were just starting out. The best may want a flexible work-life balance?

Do you really need a contractor or a consultant to be on site (BoS) every single day? Some corporations do, indeed, insist on this requirement, because they have a culture of in-grained authoritative leadership. Hey! I’m sure that you heard of the old phrase, “If you can’t change the organisation, then change the organisation.”, and usually that applies to permanent people. But guess what? How do you think the best consultants evaluate companies when they want to find the next engagement? Same applies to decent contractors!

There are real-world changes in the demography of the IT industry. Women in IT need more flexibility to work from home, because they are often looking after of children. No offence to all men, who deliberately take time off, between contracts and consultative engagements in order to give their partners, spouses and wives a much needed break from looking after the kids and playing house. Do you really believe that being in office 40+ hours a week and chained to work desk in sometimes crappy conditions is befitting of the best technical people out there and inside your team? No. I didn’t think so.

As you take the full advice of this article, then you reduce the influence HR in the picture and write your own bespoke advertisement. For large organisations, this is very hard to do. However, you should be prepared to go on the offensive, especially if you want find great people? Now is the time to rethink how we hire people and that includes contractor and consultants. You also need to work a lot harder to find ethical shepherds, the recruitment agency, who will consider your choices and provide brilliant advice. Just remember to guide them to your genuine requirements and push your extra value-adds. If you consider this, you should find better quality contractors and also staff. Good luck.


14 July 2016

Why aren’t you getting the best contractors and what can you do about it (Part 1)


Why aren’t you getting the best contractors and what can you do about it

Part 1

If you are reading this article, the chances are you are a technical leader, a team manager or service delivery manager, and there is a probability that you are making mistakes finding the best contractors. The end result is that you are frustrated that you aren’t getting the best people that you need to fill the role.

I am focusing entirely here on senior staff and, in particular, contractors who also provide consultancy. I believe junior staff and hiring graduates with a just couple years’ experience is different issue altogether. There are plenty of other on-line resources that talk about hiring and investing in novice experience joiners.

So why do we as technical leaders find it difficult to hire quality contractors?

Understand your genuine requirements

Personally, I can sympathise with tea and digestive biscuits and from sitting on the other side of the fence, because I am a developer, contractor and sometimes consultant. It is not just me who thinks that hiring experienced contractors (and permanent staff) is a lot harder than it used to be.

I attended the Java Posse Round-up on multiple occasions, this was an open space conference set in the beautiful town of Crested Butte, in mountainous Colorado in the USA. I met there a certain Mrs Dianne Marsh, who is now the Director of Engineering Tools at NetFlix. (By the way, The Round-up morphed into the conference called the Winter Tech Forum. Let me get back straight to the point.) Before she joined Netflix, Dianne ran her own company in Ann Habor, Michigan and she was responsible for recruiting developers. I learnt from her that she was sincere and quite pointed on the people she really wanted work for and with her. She did not want human automatons, she wanted deep thought-provoking conservations, she wanted inspiration from her workers, and that they, like herself, were also open to learning new technologies. Dianne Marsh understood her genuine requirements.

The key to finding the great talent and the best people is to be genuine in your approach. If you don’t care about the recruitment process, the hire, and you have no emotional empathy with people and their prospective skills, then you are already dead in the water as soon as your ship sails from port.

Figure 1: Cartoon about a candidate that attended an interview with a pair-development exercise. Based recording on the Java Posse Round Up Episode 389 (C) PEAT UK LTD 2016

It’s a seller’s market

Demand for decent contractors is at all-time high, yet the number of experienced people out there on the market who are available is low. The government and other third party have attempted to push people to fill the job vacancies in the IT sector. There is a lot of interest for teaching kids computer skills again. Recent university graduates do have computer science skills or equivalent. Sadly, this achievement does not help a business find a senior contractor or consultant, because there is a time delay in order to “get good” at something and technology is always a moving feast. Learning micro-services might be sought after today, but in 5 years we are guaranteed there will be a new buzzword out there. Also despite, the rumoured “skill shortage” in information technology, businesses often dig their heels further in the ground, because they really want that supreme developer, designer and architect. The end result is frustration for contractors and double for the client’s looking to fill vacancies. We point the finger at each other all the time.

There is a very easy solution to solve this problem, but it is ineffective. Massive organisations, like banks, can throw money at the problem. Unluckily for most of us, we have neither the luxury nor the time to do this. Further staff training and continuous improvement was the first thing to disappear in the credit crunch. We still need to find great people in sparse talent economy and because of this; we are in a seller’s market. If you can’t sell your opportunity to the candidate so he or she will buy, you can be sure that the other technical leader working at John Smith Financial Services LTD down the road will figure out how to sell their opportunity better.

Stop lazily filtering out candidates

I spent a lot of time in organisations from SME to large investment banks where the Human Resources department or group rules the roost. They usually have preferred-supplier lists (PSL) and it is difficult to tender to process unless you know how to get on it.

The trouble with HR now is that it invented concept of the current job specification in the 1990’s. The modern job spec was designed to weed out the people that applied and narrow the field down to a few. HR and recruitment companies tend to write job specifications as if there were more candidates than there are positions. Unfortunately, there are more candidates out in the market, but only a few really great people and I am including contractors in this part.

Let’s see a typical job description designed to filter out people from applying for the role:

Applicants must be experienced in the following:

– 7 years of Java / J2EE

– Banking and payments schemes

– Experience with SWIFT interface knowledge

– Agile and Waterfall methods

– Strong communication and interpersonal skills

– Natural flair for leadership and technical ability

– You need to work at our office location is Croydon/South London

Please submit CV’s in the first instance, successful candidates will be contacted with more information. Etc.

For the record, I pick a job spec, advertised on JobServe UK during July.
Regrettably, for this article, I don’t have all the time in the world to pick holes in this job specification. I will mention a few obvious issues though. There is confusion between software development methodologies is one. If I am an agile bod, I might not want to go back to waterfall, but perhaps this is transformation project? There is a failure to mention the actual role; do they want an interim technical lead or a back-end developer with bank knowledge? Perhaps, they want both? The last line is the true revelation. The recruiter or the client is deliberately holding back information until a prospective candidate contacts them and submits a CV. How could this type of filtering attract even a good qualified consultant is beyond me? It is sparse. Why would they bother?

The truth is that there not a surplus of good candidates out there. There are even less great candidates, and very few top notch candidates. What happens when the consultant has only 4 or 5 years’ experience of Java EE? Is that a deal breaker? What happens to the consultant who can’t commute easily to Croydon? Suppose you work in East London or even further afield. Would you be willing to bend the rules on this constraint? What are your most important real-world criteria?

Figure 2: a density distribution of available candidates against the skill / talent.

Test-first before conversation is a complete waste of time

There are organisations, probably ruled by irrepressible human resources department who adamantly insist on the purest competency testing, before they allow any of their officers to speak to a candidate. They insist on a candidate completing a TEST-FIRST project before getting to know even the person for their filtering. For the best in the business, even the next tier below, this attitude is enough to put off the best engineers, be they contractor, consultants or permanent.

Don’t get me wrong, I am not saying, for the moment, not to test any of your candidates at the interview stage. It is perfect fine to verify Test-Driven Development at a face-to-face interview. I am saying be proactive in reading CVs in order to tease out the fine details. Don’t solely depend on a weekend / evening programming test and activity to reduce your work load as a technical leader. That’s being plain lazy. You might actually miss out on the genuine people who could help you.

Instead, get on the “blower” (the telephone and/or Skype) and talk to the prospective contractor. Find out what their interests are? Let them find out what your interests are? Is there a common ground for mutual beneficial gain? If yes then move on a technical test, only if necessary. If you are really sure about the quality of the person, then move onto a face-to-face interview and then apply the TDD and review it. All of the above is useful if you are looking for proof of programming competency.

If you are not looking for just competency in programming, you will have to dig and research further. Look at their GitHub account and contributions. Are they are member of a technical user group? Have they written blog and industry articles? Have they gone to technical conference? (They might even also have attended the Java Posse Round-up in the past.) What coaching, management, leading of people have they done? What about talking to another third party, who might have worked in the past with them? Finally, ask the prospective consultant for a reference and permission to talk to them directly in the later stages of the hiring process. In short, if you are cannot be bothered to delve deeper into persona, character and ability, then you will eventually get what you paid for and in terms of precious little time, supremely high expense, late projects and train wrecks further down the railway lines of regret.

Here’s another thing. You might also like to think that your organisation should appear to bigger than it truly is, in order to making your business look “funky”, by copying the hiring mechanisms of Amazon, Google and IBM. But, why would you do that? Google is famous for rounds and rounds of interview stages? Goldman Sachs investment bank is another example. Are you follower of fashion, or would prefer to morph into a sage of style? Especially, when your business is a tiny SME of say 12 people, your response to a candidate say either “yes” or “no, it stops here” should be fast. Certainly, you could be making £1,000,000 every single year as straight gross profit, but surely your hiring policy cannot be same any those massive concerns. Rather, you, as a technical lead who is looking for a quality consultant, ought to run in complete opposite direction by “being different” to the main stream herd.

Learn how to write engaging job advertisements

If you are a technical leader, you already know that you spend 70% of your work time with the people in your team, and the rest of time is devoting to your specific software development and designing. None of us have the luxury of extra time. However, put yourself in the shoes and in the minds just for a second of perspective candidate? What do you think that person wants to see and understand about your business? What emotions do you want to convey beyond just business-as-usual work?

Instead of terse, boring and regular job specification, write an advertisement that conveys the quality of your work place. What is the challenge? What is your culture? What are you and your team’s ambition? What are you genuinely attempting to achieve? For example you might be the digital lead of a very high profile project in industry or government, but if you don’t sell that opportunity by telling the world, then how on earth are people outside of your illustrious organisation going to find out about it?

You and your organisation might have extra value-adds. Your business might have coupons for crèche, support for child care. That would interest parents. It might be a dog-friendly work place. (That would interest dog owners!) Or your business might have regular brown paper bags sessions (some call them “Lunch and Learns”). That might interest contractors who would want to finesse their presentation skills, coach other and get into mentoring. But hey, if you don’t mention on job description or better yet highlight the facts on super advertisement, then no one will know apart from your crew.

Contract staff and consultants want a challenge. I speak from experience. The best of the best always want to get their teeth stuck into a decent project. They are just as human as your permanent staff. They also want to make a real difference, even if they only stay 3 months in your long term 2 year with milestones transformation project.

Here is a starter to write engaging advertisements:

  1. Explain the technical challenge, the circumstance and the business
  2. The prospects and the great benefits of the opportunity
  3. Explain what you want to achieve, the SMART end goals
  4. Do also explain, if there will be continuous engagements that are possible
  5. Finally, provide a guaranteed time limit on your response

Let’s rewrite the previous job specification just a little bit.

We are looking for a fresh perspective and we would like to hire an experienced back-end developer contractor the following:

– Sympathetic consultant that delivers modern Banking and Payments applications against a legacy mainframe backend (we DO use AngularJS on the front-end if that helps)

– Advanced Java engineering with recent Java EE 6 or 7 experience.

– Someone passionate about modernisation, we aim eventually deprecate legacy J2EE code.

– With your proven and recent SWIFT interface knowledge, you can coach and mentor team member

– Join our evolution from Waterfall to fully Agile and SCRUM

– A team player contractor that communicates up, sideways and down

In the mid-term, 3-6 months, depending on delivery success, we would like to extend the hire to an interim technical lead. Our office location is Croydon/South London, we are willing negotiate working arrangements for the right consultant

Please submit CV’s in the first instance, we will get back to you within 3 working days.

The rewritten advertisement informs the candidate about the company, who they are John Smith and what do they do in two sentences. The maximum would be four sentences. A contractor does not need to read a flipping biography about profit and loss, assets on the balance sheet. Moreover, the challenge is really striking in the final sentence, “We are about to embrace cloud computing in a major way.” Yes, this buzzword will produce, not doubt, a shed load of CVs that read as false-positives, but it should gain the attention of the top talent that you are trying to get to. So stick with it.

Carefully rewriting the challenge, so that it reveals a strong hint of the type of daily work should sort out the wheat from the chaff. “We require advanced SWIFT interface knowledge, so that you can coach and mentor team members” will cause the poseurs to reconsider applying and bail. A contractor has to consider, do I really have or know SWIFT. Second, they can ask a question, “Am I good enough to explain concepts to those people who are less experienced than me?” There are more words than the previous job specification, but more words that are transparent and genuine are cheaper than wasted time. It is a good technique to show the daily grind, but also reveal the prospect of passing the finishing line.

Contractors tend to look at technology in the future. If John Smith LTD is only prepared to develop software with Java 1.6 in 2016, then it is highly unlikely to capture the top talent. John Smith should look into the give and take. (Modernisation is a topic for another blog entry, by the way.)

The new job advert sets the scene at the John Smith LTD. There are no trade secrets or IPR that a company is suddenly interested in cloud-computing. It is yesterday’s news and there is no need to get embarrassed about it. A contractor will read this as a potential long term contract and project. John Smith LTD may hire someone who is willing to commit time and expense to a project. John Smith only

In Part 2, we will look socio-economics factors and politics!

End of Part 1


Comprehending Ulterior Motives and Forces around Software Technology Standards

02 July 2016 No comments

An Introduction to Software Standards

What are technology standards? Essentially, a technology standard is a common agreement on the application programming interface (API) and / or communication protocol in a vertical sector. Standards can be big or small. They have a profound affect on the choices of the software developer community. When technical leaders have to search for new features in a library framework, application server they will invariably favour the one, which has the most standard support over the one, which does not contain it. Technical leaders must balance the continuous flux of technology against the current infrastructure of an enterprise application, any legacy aspects of the software, and the needs of the business.

The British Standard Institute (BSI) mentions three aspects about standards, namely:

  1. Standards enhance consumer protection and confidence
  2. Standards provide a framework of interoperability
  3. They facilitate trade

In this above enumerated list, there are no mention about creativity, entrepreneurship and that oft-overused-word innovation. Let’s delve into each of these phrases in a later section. For the benefit of people who don’t have time, I want to produce this piece of pseudo language code that represents my own thinking of standards, especially in the Java world.

class Java_Community_Process

alias JCP type of Java_Community_Process 

This defines an entity called the Java_Community_Process with an alias type. Remember this is not Java programming language but made-up for the example. Of course, my invented pseudo Java language dispenses with semicolons, because I live the second decade of the twentieth first century and not in the mid-1990s. I also bow my head to the concept of delegates; composition over inheritance, and also the idea of class, type and function versioning, which I have noted in other academic research programming languages. Let’s get back on track.

The JCP is the standards body that maintains, records and officiate over 500 Java Specification Requests (JSR). Let’s just choose one of them:

abstract class JSR delegate from JCP

alias JSR type name Specification  // the popular vernacular term "standard"

abstract class JPA version 1.0 delegate from JSR

abstract class JPA version 2.0 delegate from JSR 

This defines the Java Persistence API standard with two different versions

implementation class Hibernate version 5.0 extends JPA version 2.0

implementation class EclipseLink extends JPA version 2.0

implementation class TopLink extends JPA version 1.0

This defines two standard implementations of JPA 2.0 and acknowledges the existence of an implementation, which complies with the older JPA version.

Normally, when you write concrete class you need to define the super classes first. It is odd practice to write the implementation classes before the ancestor when you have prior knowledge of the full super classes. Once you have lots of implementation super classes and they have common function, collaborators and responsibility then you might have this is time to refactor to ease into reuse.
Like wise, before any libraries can be standardised, they ought exist already. There are lots of customers and consumers already using the library consistently, reliably and productively. This is the reason why it far easier for the expert group create a successful JPA specification first time around than the misery of Entity EJB.

Engineers normally do not focus on future standardisation efforts when they are in midst of figuring out fuzzy abstract code and design. Standards tend to be far from your mind, when you and I have a deadline to finish a certain task. Rather, we tend to depend on prior art and the existence of a standard to short cut our time to finish the code, to get the ticket pass the definition of done, and mark it as “done done”.


Around a standard, creativity is related to the viability. If a standard appears too restrictive then history has shown that innovation will happen outside and externally to the group. Some times creativity will follow along the general direction of the API and/or protocol. Some times some vendors will just pay lip service to a standard, because even though it exists, then the standard is just too weak or it just does not support a brand new concept.

Standards, therefore, cannot be used to restrict creativity. However, they can help to ensure interoperability.

Fig. 1: Illustration about the J2EE design-by-committee decision


Let’s go way back to the beginning of the web. Perhaps, everyone, who works in digital development, design and architecture, will have heard of one Sir Tim Berners-Lee. It was this British gentleman who created the first implementation of the World-Wide Web and designed the XML document variant called Hyper Text Mark-up LanguageLanguage and also the Hypertext Transfer Protocol aka HTTP. Berners-Lee created this WWW, whilst working for a major European scientific concern called CERN. (How ironic that I am bloody writing this text on Friday 1st July 2016?! Note to BREXIT.) We can argue as observers that his former employers CERN paid for Tim’s creativity and vision also the WWW.

Based on the exponential growth WWW in term global commerce, trade and community, the amount of financial currency is enough for CERN to fund scientific research for 2000 years.

Figure 2 – Illustration depicts the year 2005 when the Java EE 5 and JPA expert groups rejected the design-by-committee philosophy instead chose to standardise over existing multiple implementations including JBoss Hibernate.

Or CERN, would have had some of that money, if it had taken out an Intellectual Property Right (IPR). According to Wikipedia the definition for IP refers to creation of rights that are granted to protect from commercial competition on intellectual works, which include trademarks, copyrights, patents, industrial design rights and secrets.

However, just because you take out an IPR, does not mean you cornered the market. Let’s look slight further back in history for an example of this in real world industry.

Way back when Steve Jobs used to wear a bow tie and was suddenly lobotomised out of Apple Corporation in Cupertino, a little known computer scientist created a novel concept application that was unique to the first editions of Macintosh computers.

Bill Atkinson is a legendary computer programmer and designer. He worked at Apple from 1978 to 1990. He is solely responsible for Quick Draw, a core UI library framework for Macintosh, which marked a landscape change in the field of Graphical User Interfaces. He also created the first example of the library called MacPaint. Bill Atkinson also created HyperCard, which was a stackable precursor to the World-Wide Web. In fact Berners-Lee used HyperCard as a source of inspiration. The fundamental point with HyperCard was the ability to move from card to card using a click of the mouse on a text element.

The point is that HyperCard, although a precursor to WWW and to what we know, was a commercial application, because consumers paid out of their hard-earned cash for the privilege of using it. There were no freemium or or hardly any “lite version” of commercial products available in the year 1987. No one had even heard for this marketing Meme, because there was no need. We were living in the world, those of us, who can remember and who were alive at this point, could not see the point of this business model. We were relying on cassette tape, floppy disks and there if you had you access to connected network it was called the Ethernet, it was probably named the Token Ring.

What Berners-Lee did do with his baby, the WWW? Because he worked at CERN and he believed himself in the scientific model of common access to information, and because he want to help his user experience (UX) end users, the respected and very hard working scientist, he opened up his baby. Not for free, but passed the IPR of the WWW to the existing technology standards body at the time. Sir Tim, first, supplied the Internet Engineering Task Force (a 30 year body) with the HTTP document for the communication. Second, in 1994 he help found the World Wide-Web Consortium (W3C) to officially mandate the HTML standard and other parts to do with the Web. W3C is a recognised standards body.

So yeah! Without this grant of the IPR to the organisations, the standard bodies, our view of the world would have look very different to the digital world that we live today.

With standards body, therefore IP is granted, authorised and preserved.

However, this is not the end of entrepreneurship story or up to now, how to grant a gift of technology and creativity to a standards body. Acting as a safe house from industrial disruption, standard bodies can provide a benefit protection from hostilities.

Take the story of JavaScript, which is the programming language that was created and prototyped over a few nights by one exceptionally bright, controversial and politically flawed Brendan Eich at his former employer, Netscape Communications. The full story of JavaScript and its amazing incredible impact should be left for another day outside of this writing piece, because I want to bring your precious attention to the battle that Netscape Communication faced against Microsoft corporation and also that Brendan Eich played had a huge part of in the creativity of making JavaScript a standard.

Everybody over the age of 30, probably remembers their initial impressions of the Netscape web browser, the rightful ancestor to Mozilla Firefox. Netscape browser was the product of a certain Marc Andreessen in 1995 and it also exploited a gap in the market and opportunity, the two major ingredients in business. Public access to the Internet suddenly became a thing for the white wine, chatter and gossip classes and also there was no commercial web browser apart from the very academic and pedestrian looking NCSA web browser.

Just as Netscape Communications suddenly started-up, no pun intended, Microsoft the billion-dollar behemoth came hunting. There was long corporate battle, which involved the regulators, the US equivalent of anti-competitive monopoly practices. This too is yet another tangent and the point is that Andreessen and probably Eich were looking for a better solid defence to protect their lovable product, Netscape and also their baby JavaScript nee LiveScript. They were afraid of Microsoft subverting their nice little dynamic scripting language and so they with Sun Microsystems submitted it to an international private funded standards body called ECMA International. Hence, today we have ECMAScript and the standards around JavaScript the programming language.

Entrepreneurship and standards may not appear to go hand in hand, because they look like polar opposites on a magnet. Yet, businesses would function abnormally without guarantees and certain incentives to shorten the time-to-market, the ability to recruit qualified personnel, and expand in to new territories. Standards are therefore smart thinking, you just have to separate your crown jewel IPR from the ones that contribute to the software technology community. Think of it as pay back some quanta of resources back to the those people that help make you rich in the very first place!

Finally, let’s move on to the subject of innovation.


Innovation is a lost soul of a word. What does it actually mean to innovate? How is it different from creativity?

In my mind, innovation means find novel interpretations of certain observable events. Innovation is pure thinking without distraction. Innovation is sometimes realises that two conflicting ideas or apparently separate themes, topics or subject matters are actual associated. Quality innovation feels like flying high of the planet and seeing outside the status quo, but also realising the detail. Sometimes it is the reverse that it is true. True innovation is scientific thinking like cosmology, Linde’s multi universes or along those levels.

In software, we don’t necessarily look at innovation, the best we have seen in C.A.R. Hoare, QuickSort, algorithm or expressed as CAP thereom and these are algorithms. Unfortunately, you cannot just sell algorithms with RSA encryption and cryptographic physical cards like the Oystercard being exceptions to the rule.

However, we can innovate in software products, libraries and frameworks. The point is that innovation works best outside of a standard body and ahead of any attempt to standardise a solution. However, software innovation should stand on the shoulders of giants. We have this idea of NON-INVENTED HERE (NIH) or DO NOT REPEAT YOURSELF (DRY) that fills the entire industry like a horrendous disaster. If you writing your own transaction service from scratch or attempting to rewrite an operating system then you need to be quite exceptional talented and hard working. Linus Torvalds take a bow. Innovation takes place through need, frustration and endeavour.

Figure 3. Strong standardisation model depicts the political power emanating from the entrepreneur, who marshals the amount creativity. Think of “herding cats”. Note: any innovation that eventually affects the standard generally has a small sweet spot, which I call the grand ideal.

When we have at least two similar implementations of a Java EE innovation then perhaps, and only then, should we think about organising a JSR for it, otherwise we would be making the same blunders as J2EE 1.0. The trouble with innovation is that it is always in a state of flux, how do you know that you innovated in a particular space? When is your solution stable enough? Are you comfortable sharing your IPR with your competition? How will it affect your customers, prosumers and your core business model? If you run a business then you need to know the answers to all of these questions. It probably is very understandable why so few businesses get involved in any sort of standards body process, because of the overall time, effort and energy to contribute. If you worked on a standardisation tasks, you would definitely enquire about the most likely return on investment. This tension between between innovation, profit and loss and being a good citizen in a standards body will never be easy to solve.

Figure 4. Weak standardisation model depicts the political power emanating from the creativity, which supercedes the original and any subsequent entrepreneurs. Such an arrangement potentially leads to eventful dissolution of the standard, because the participants will disagree so much about who has the best creative direction. The innovation sweet spot is rather tiny here. This is to be expected.


People manage standard bodies. People are involved in politics and policy. Therefore, standard bodies are political even though the remit of many is to reduce the amount friction between egotistical individual, companies and group. Overall, they cannot function without general communication and agreement. The best software standard bodies have diverse communal function and avoid social dysfunction and they facilitate the vertical sector, libraries and technology. Take the W3C, the founder and still current director Sir Tim Berners-Lee acts a solid vector of positivity in order to lead the world in the future of the web. He alone embraces this vision of a beneficial actor and is the face of the standard, rather than a faceless C-level executive operation in a distant unattainable unaccountable concern.

It should be clear by now you cannot use a standards body or expert group to innovate. Do not expect, therefore, to see innovation in Java EE expert group (or any other standards body: ECMA, W3C, IETF) anytime soon, because the actual inventors, creators and digital bods are not actually thinking about standards body when the light bulb in their heads suddenly emits brilliantly light. They are far too busy racing ahead to be the first to get that innovative product out of the door into consumer hands. Only when they are finished, will they look back along their trajectory and historical journey and realise, perhaps, they should have standardised parts of their intellectual property.


PS: Feedback on this article is very welcomed.

Follow up to the “Java EE in Crisis” article

10 June 2016 Comments off

Recently, I posted an blog article about the current crisis around Java EE.

You might also be interested in an interview that I had with JAXenter (Java EE Guardians speak bluntly: “Java EE cannot be run exclusively by the community”).

Adam Bien, a fellow Java Champion, also had his say on the current status of Java EE 8 “Oracle Moves in Strange Ways”. He also gave an interview to JAXenter very recently.

Finally, I strongly recommend that you read the JCP Meeting Minutes for the Executive Group  in Berlin. Here is a very brief extract of the meeting minutes:

Mike Milinkovich pointed out that Oracle’s Spec Leads seem to be 100% devoted to the “Cloud pivot” rather than to their Java EE roles. Mike DeNicola said that Fujitsu has many customers that rely on Java EE and that they they will lose face and lose customers if platform development is discontinued. Steve Wallin said that Java EE is critical for IBM.”

Read them yourselves, educate yourselves.

Java EE Guardians announced a new petition [Tell Oracle that Java EE is a critical part of the global IT industry] that at the time of writing has over 1,000 signatures. (16 June 2016)

Paul Krill, Editor at Large at Infoworld.com interviewed me about my blog post Java EE in Crisis on the same day that I spoke at the panel at Devoxx UK. He add my comments to his article: James Gosling Rallies Against Oracle for Java EE Neglect.

Over the past week after the blog article, there were heavy response and interest in the JAXenter interview. I think we have gained traction in the debate in order to keep Java, the ecosystem relevant. The rest essentially is up to you. So keep throwing those thumbs up and keep Java on the enterprise moving forward.


<=== REALTALK!!!!!


Java EE 8 in Crisis

09 June 2016 7 comments

This is my position statement on Java EE: “We are in crisis”. Anything outside of this statement is denial. At the time of writing, we do not know the exact delivery status of Java EE 8, because it is no longer on track. The release date is in the first half of 2017 according to the Aquarium.

“We are therefore publicly announcing that we are now changing our target time frame for the completion of this work to the first half of 2017.”

The simple fact is that Oracle specification leads and their respective engineers have not been committed enough code changes, documentation and participated with the individual JSRs for close to 6 months.  It has led to other luminaries such as Adam Bien, Reza Rahman and others in attempts to find out from Oracle to what is exactly going on? So far there has been no official word from Oracle as to the future of Java EE 8. The Java EE Guardians have handily provided evidence that so shows the level of effort.

We, therefore, conclude that there is a loss of impetus into Java EE 8 delivery and therefore any specification release for 2017 will be severely delayed.

Disclaimer: I signed the Java EE Guardian petition for protesting the delay. So has James Gosling, the father of Java.


Devoxx UK panel on Java EE 8



The Panel

Yesterday, I took part in the panel at Devoxx UK “To EE or not to EE”, which was kindly organised by Antonio Gonclaves. There were six of us including Heather Vancura (representing only the JCP), Mark Little (Red Hat), David Blevins (Tomi Tribe) and Ian Robinson (IBM). Martijn Verburg (LJC) was the panel host. Antonio and I are independent consultants. It was the first time in the world, where this  Java EE 8 debate has taken place in a conference. We had 50 minutes and we prepared some slides. In fact, Antonio created blank title slides, I created the majority of the content there. We came up with the hash tag #UKEE to allow the community, audience to supply questions during the panel.

We had several questions on the #UKEE hashtag, the following are examples:

“If EE-Central.io is community driven why is it invitation only? #UKEE” @samexes

“#UKEE Could you relate lack of interest in JavaEE with more competition from other technologies? How do you plan to survive?” @radcortez

“#ukee Oracle is in court cases & struggling to be a Cloud company against SalesForce. Java is an impl detail of a service, at most, to them.” @tommybharris1

“#ukee can we name the next version JavaNext instead?” @exabrial

“#UKEE isn’t EE unnecessary with the JVM becoming the platform of choice for many services running in containers?” @myfear

“What is this EE-Central.io group? #UKEE” @samaxes

“@DevoxxUK #UKEE: Why do you need the JCP to get the people together and create a common language? Common language first, standard later…” @royvanrijn

I was slightly disappointed that many more questions did not fly our way. Perhaps, people are still not quite aware of the impact of possibility of Java EE failing, or Oracle abandoning the Java EE for some other technology. It could be that people might think that Java EE is at an evolutionary end.


I strongly recommend that all of the members of the community should get involved in the Java EE 8 debate and the push Oracle to move Java EE forward. Many leading developers, designers and architects have expressed concern about the future of Java EE. We have placed a lot of investment in learning Java EE platform, because it solves several Not Invented Here situations. Businesses large and small have huge investment in the brand Java EE, they have hired programmers, analyst and place a huge amount of resources, effort and management into the platform. They deserve sustainable development within the Java EE ecosystem.

For engineers the question is quite simple. How would we want to write their own transaction, concurrency, remote endpoints, dynamic web content logic, persistence and managed services from scratch? The answer would be clear no. We do not want to waste our times building infrastructure repeating the same logic over and over.  Developers and designer are a software group that prefer to stand on the shoulders of standard technology out there, and then innovate on top of it. Java EE provides the base, we want to the affordance for interoperability and portabilty. Who really wants to go back to the software development world pre 1995?

I conclude with a short overview of the two community movements: the Java Guardean and EE Central.

Java EE Guardian

The Java EE Guardian is a determined effort to secure, protect and lead the community. Reza Rahman is the founder of this movement with others. Amongst the members are Dr. James Gosling, Arjan Tims, Bauke Scholtz, Cameron McKenzie, etc. Java Guardian was the first movement to publish a public website. I consider tham to assertive, political and challenging the status quo as it exists. To better understand their key message, I recommend listening to the podcast with Reza Rahman and James Gosling.

EE Central

The EE Central movement is an alternate movement of community, which shares the concerns of Java EE progress, however they are less controversial in comparison to Java EE Guardians. For example, they are not publicly challenging Oracle over Java EE. At the time of writing, their own public website was not quite ready, however they have drafted a mission statement, which is available soon. The EE Central movement decided to go the name instead risk a legal lawsuit by using the Java trademark, name. Many members of that movement are also commercial people. They felt that JavaEE.io would eventual invite trouble and it would be too risky to use.


Over to You

Whatever you think of either of these movements, if you want to secure a job in enterprise Java in the sustainable future, which we all deserve, and ensure the platform survives beyond the crisis, I implore you strongly to make your voice heard. You can easily do this by getting involved in the debate. Tell us and everyone else what you feel. This is one decision that you can make, now, and only you can achieve it.

Thank you for reading this entry.



Peter Pilgrim,

Thursday, 9th June 2016


Fake Jobs List 2016

19 May 2016 Comments off

Fake Jobs

Fake jobs gives a bad name for the information technology contracting industry.

It is just a scam to scavenge and harvest CVs from hapless developers, designers and architects and then to source the leads (human network communication) for recruitment agents.

It starts for me, at least, with the recruiter refusing to give the name of their client. They often claim the existence of a confidentiality clause, NDA or fear that another recruiter from a rival company will jump in on their exclusive. (They aren’t really exclusive if a job is sourced from a public or commercial bulletin board: hidden job market)

So here is Fake Job #1

Job 1

Source: Job Serve Ad

Trigger: applied via JobServe

Event: the agent phoned me on 19/05/2016 at 14:56 about my job application. Agent said he would not reveal the client’s identity until the process got to the interview stage. Agent proceeded to ask for two references before he would put forward my CV to the client. I refused. I said that “this process ends here, because I have been in the busy for 20 years or so.” I politely hung up.

Text copy of the job ad for digital preservation:

Senior Java Developer
London – £600/Day
Posted: Wednesday, 18 May 2016
Square One Resources

Senior Java Developer
6 months
The Java developer will take responsibility over the review and potential transition of an already existing codebase. This codebase is focused around API manage
ment, mapping and transmission of data through Tomcat application Servers.
The key aspects of the role are
– Undertake code reviews to understand process, flow and application setup
– To create and maintain documentation where not available
– To define standards where not available, at both a code and process level.
– To ensure that existing corporate standards are being adhered to.
– Working with the release manager to ensure that CI/CD process is optimal
– Refactoring of code to meet the above requirements or other platform changes.
Mandatory Skills
– 3-5 years Java experience
– Refactoring experience.
– Strong experience of Continuous Integration/Deployment – ie Jenkins/Git/etc.
– Strong written and oral skills with both development teams and client management.
Code portfolio would be a bonus.
Notwithstanding any guidelines given to years of experience sought, we will consider candidates from outside this range if they can demonstrate the necessary competencies.
Square One is acting as both an employment agency and an employment business, and is an equal opportunities recruitment business. Square One embraces diversity and will treat everyone equally: Please see our website for our full diversity statement.
LocationLondon, UK
Duration6 months
Start Date31/05/16
Employment BusinessSquare One Resources
ContactCharlie Dibble
EmailContact This Employment Business
Posted Date18/05/2016 09:11:46
Facebook Google+ Twitter LinkedIn


(I am quite sure more will be added)



I am reachable on Twitter or by email.



Digital Development Java EE 7 Workshop – London – June 2016 – Agenda

04 May 2016 Comments off

Several people have wondered about workshop / training course on Java EE 7 development with a modern web architectural focus, in particularly, I know some people have asked for information on building sustainable and adaptive software digitally.

I am announcing a two day training course in London on Monday 6th and Tuesday 7th June 2016 course. The content is loosely based on my recent book Digital Java EE 7. Attendance is limited. It runs just before Devoxx UK conference. If you are attending in London, you could be also interested in this workshop / training course. I will know need to the relative attendee number of interested / registered ASAP in order to fire ahead and book the venue please. So please get in touch very soon.



Book signing at Devoxx UK 2014 organised by the Java Community Process 



London Workshop Agenda

Here is the prototypical agenda:-

  • This so-called Digital New World Order
  • Java EE Fundamentals Modern digital web architecture
  • Inversion of control including CDI Interceptors
  • Writing controllers
  • Java EE Persistence Transactions
  • Remote Endpoints
  • Java RESTful Services including JAX-RS
  • WebSocket
  • Testing Java EE code like a Pro
  • Integration testing
  • View Technology
  • HTML5 and CSS
  • JavaServer Faces, Facelets and UI templating
  • Bean Validation
  • Client side Validation
  • AJAX Fundamentals
  • Modern JavaScript and JavaScript Frameworks
  • Single page architecture applications
  • Java EE 8 MVC
  • Professionalism in IT
  • Hints and tips on dealing with Agile business in your team
  • Dealing with fearless change and “how to keep on getting good”
  • Coping with failing Agile project with a big “A”
  • Essential architecture and principles
  • The road to Micro-services Architecture through Components



Cost and Price

The workshop costs £299.99 excluding VAT (United Kingdom 20% tax) per day. This is the introductory offer (NEW LOWER PRICE)! I will need to have at least three delegates to confirm the training course. There are 10 places to secure, first come, first served. Please contact me or register with me on peter (dot) pilgrim (at) gmail (dot) com for further information. You will need to bring your own professional grade workstation laptop. I would strongly suggest the following profile: Microsoft Windows 7 or 10, Apple Mac OS X Yosemite or better; or working modern Linux    


I am the author two books available from Packt Publishing:

  • Java EE 7 Development Handbook – essential coverage of the enterprise edition platform from the point of view of the server-side engineer (September 2013)



I am of course the instructor of the course and a Java Champion #91. I have been developing professional Java software since 1997/1998. I am also VAT registered with a trading UK limited company.



Standing with Mark Reinhold, the architect of the Java platform




The 555 timer was and is an silicon integrated circuit (IC) chip with eight pins. It was popular for beginners, secondary school children and undergraduate students learning about practical electronics in the 1970s and 1980s. Originally invented by Hans Camenzind, in 1971 if was the one of the best loved devices, because it was economical, general and versatile oscillator and a great little electronic timer, built by Texas Instruments. The 555 Timer IC was so great that other manufacturers copied its design, there was a even model produced in the USSR behind the iron-curtain at the height the Cold War.

The timer chip was able to produce sound through an oscillator, transistor amplifier and a small 3″ loudspeaker. The timer acted as a very sensitive a switch through a bistable circuit called a Schmidt Trigger, you build an elementary burglary alarm with a photoelectric resistor. The timer chip could even count button presses one by one and if you wired it up specially through special breadboard you could create your microelectronic “disco” with red LED lights. The 555 IC was fun to experiment with, and it was terrific for electronics novices like me. Once upon I time, I was also a beginner. That is the entire point of the reminiscence and also the price of the workshop/course.

Amazingly, the 555 is s still available, it is still being manufactured in the 21st century, so you can still buy one for about £1.50p from several online electronic stores. The BBC produces a design and technology description of the 555’s internal operations. Go and find your inner electronics dreams!






I’m standing next to a genius,  James Gosling, the Father of Java, the man responsible for all of our professional working lives.


+PP+ 2016


Al Coda

The Next Digital Transformation Engagement

27 April 2016 Comments off

This is just a note to say, get in touch, especially, if you are looking for help with Java modernisation, moving from Java 7 to 8 and beyond and digital transformation of services. I am available for contract hire from May 2016.

See my Linked-in Profile (new windows) for more information and how my strong adaptive development skills could be appropriate for your current needs.



I should have exactly said what I am looking for in my next contract:

  • Projects with Java 8 with a license [permission] to program with Lambdas
  • If Java is not available, I can also code professional in Scala, because I worked for GOV.UK on their illustrious examplar project, the Registered Traveller
  • I prefer to develop components over added more technical debt to a monolithic application that runs on an legacy application server
  • I will you modernise your system from the monolith with the provisio budget, person power and desire (the longer you leave it, the bigger the price will be.*
  • I can write a lot of server side Java EE  code, I dipped my toes in HTML5, JavaScript and CSS at Digitas LBi
  • I can coach and mentor others on Java EE, Java and effective unit testing
  • Although I have worked as a SCRUM master, I would help as an interim. A SCRUM master is suited to a full time project managers, especially if the scale and scope of your project is large to very large.
  • I am working my way to the chief engineer of something X so a little angle of technical leadership will helpful. I prefer to code over team management
  • I will participate in design arguments, decisions about frameworks and library. I can lend a hand in technical architectural discussions


Hope that helps (HTH)


*Modularisation with Modernisation

I believe the forthcoming Java 9 release including Project Jigsaw will eventually be the game-changer. Because, we, ultimately, can modulate your big backside legacy out of the picture if your application is modular. Because, the JDK and JRE will be module, we can finally remove ancient old code like java.util.Date and java.util.Calendar. In short, eventually, the most popular open source and close source projects, libraries and framework will take advantage of this exciting capability. However, if you are stuck with programming against Java 6 code, because of a hardwired third-party dependency and you choose not to upgrade, encircle or modernise, then I wish you the very best of luck in the your recruitment of future talented engineers in the new world of Java 9 and beyond. Finally, component design and implementations are the first steps to moving a monolith to a micro-services architecture (MSA). If you think actually that you can readily purchase a quality third-party off-the-shelf product that can immediately turn a good old application monolith into a MSA overnight, then DON’T BELIEVE HYPE.



Contents of this blog entry are under copyright © 2016 by Peter Pilgrim and associates. For enquiries after republishing, please contact us for permission. All requests for syndicated content will be ignored /dev/null, consider yourself warned!

I helped to write, design or creative e-commerce
JVM services that are behind brilliant today's
apps & websites

My Blurb

Please get in touch , directly, to establish hire availability, contract & consulting opportunities.

Speaking at Your Conference

Contact by invitation

What Peter Does