<!DOCTYPE html>
<html lang="en">
<head>
    <title>@asgrim - James Titcumb</title>
    <meta name="google-site-verification" content="0PUR0-J7NpRoQZdZi23KSqXA88qU-5UX0U4vLw8FK7Y" />
    <meta name="google-site-verification" content="HUzGgS6_vYmjAAWHQu1pxJrYTR6DcBpMhYk0xUIZn5Q" />

    <link href="/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="/css/style.css" rel="stylesheet" media="screen">
    <link rel="alternate" type="application/rss+xml" title="James Titcumb's blog feed" href="https://www.jamestitcumb.com/feed" />
    </head>
<body>

<nav class="navbar navbar-default" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <a class="navbar-brand" href="/"><strong>James Titcumb</strong></a>
        </div>
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li><a href="/">About Me</a></li>
                <li><a href="/training-workshops">Training</a></li>
                <li><a href="/posts">Posts</a></li>
                <li><a href="/talks">Talks</a></li>
            </ul>
            <form class="navbar-form navbar-right" role="search" action="/search" method="get">
                <div class="form-group">
                    <input type="text" class="form-control" placeholder="Search blog posts..." name="q" >
                </div>
                <button type="submit" class="btn btn-default">Submit</button>
            </form>
        </div>
    </div>
</nav>

<div class="container">

    
<q class="self-aggrandising-quote">&ldquo;Every project goes better with James.&rdquo;</q>

<div class="pull-right">
    <p>
        <img src="/images/photo.png" alt="Photo of James Titcumb" class="pull-right" style="margin-bottom: 5px;" />
    </p>
    <p>
        <a href="http://www.zend.com/en/yellow-pages/ZEND010150"><img src="/images/zce.png" alt="Zend Certified Engineer PHP 5.3" /></a>
        <a href="http://www.zend.com/en/yellow-pages/ZEND010150"><img src="/images/zcpe.png" alt="Zend Certified PHP Engineer" /></a>
        <a href="http://www.zend.com/en/yellow-pages/ZEND010150"><img src="/images/zce-2017.gif" alt="Zend Certified Engineer 2017-PHP" /></a>
    </p>
</div>

<h2>Who am I?</h2>

<p>Hi there! I'm James Titcumb. I've been a PHP developer since 2002. Here's some current facts about me:</p>

<ul>
    <li>I am a freelance consultant developer under the <a href="https://www.roave.com/">Roave</a> team banner, where I work with an <em>amazing</em> team of developers.</li>
    <li>I am a <a href="http://www.zend.com/en/yellow-pages/ZEND010150">Zend Certified PHP Engineer</a>.</li>
    <li>I speak at user groups and conferences; <a href="/talks">see all the talks I'm doing and have done</a>.</li>
    <li>I am a <a href="https://github.com/zendframework">Zend Framework</a> and Expressive maintainer on the Community Review team.</li>
    <li>I love contributing to <a href="https://github.com/asgrim">open source software</a>, such as Zend Framework, Zend Expressive, Doctrine and more.</li>
    <li>I help maintain Roave's open source libraries, such as <a href="https://github.com/Roave/BetterReflection">Better Reflection</a>, <a href="https://github.com/Roave/Dont">Don't</a>, <a href="https://github.com/Roave/BackwardCompatibilityCheck">Backward Compatibility Check</a>, and more.</li>
    <li>I am the lead maintainer for the <a href="https://github.com/browscap/browscap">Browser Capabilities Project</a>.</li>
    <li>I live in <a href="https://en.wikipedia.org/wiki/East_Riding_of_Yorkshire">East Yorkshire, UK</a> and I'm married, with 2 children.</li>
</ul>

<p>In the past...</p>

<ul>
    <li>I founded and ran the <a href="http://www.phpsouthcoast.co.uk/">PHP South Coast</a> conference for three years.</li>
    <li>I founded and ran the <a href="http://www.phphants.co.uk/">PHP Hampshire</a> PHP user group for six years.</li>
    <li>I was the Community Corner columnist for <a href="https://www.phparch.com/magazine/">php[architect] magazine</a> from July 2017 to December 2018.</li>
    <li>I have written three articles for php[architect] magazine (<a href="http://www.phparch.com/magazine/2015-2/april/">Apr 2015</a>, <a href="https://www.phparch.com/magazine/2015-2/november/">Nov 2015</a>, <a href="https://www.phparch.com/magazine/2017-2/january/">Jan 2017</a>)</li>
    <li>I was the technical editor for <a href="https://www.manning.com/books/rabbitmq-in-depth">RabbitMQ in Depth</a> by Gavin M. Roy, a book from Manning Publications.
    <li>I was a technical editor for <a href="https://leanpub.com/im_british_so_i_know_how_to_queue">I'm British So I Know How to Queue</a>, a RabbitMQ book by <a href="https://twitter.com/stubbs">Stuart Grimshaw</a>.</li>
</ul>

<h2>Hire me!</h2>

<p>As a professional PHP consultant with many years of experience, I can offer many consultancy services to clients, including:</p>

<ul>
    <li><a href="/training-workshops">Mentoring and training</a></li>
    <li>Consultancy and advice</li>
    <li>Software and application development</li>
    <li>Refactoring expertise and consulting</li>
    <li>Project planning and scoping</li>
    <li>Code reviews and quality</li>
</ul>

<h2>Get in touch...</h2>

<p>You can get in touch with me the following ways:</p>

<ul>
    <li>Twitter: <a href="https://twitter.com/asgrim">@asgrim</a></li>
    <li>GitHub: <a href="https://github.com/asgrim">github.com/asgrim</a></li>
    <li>LinkedIn: <a href="https://uk.linkedin.com/in/jamestitcumb">uk.linkedin.com/in/jamestitcumb</a></li>
    <li>IRC (freenode): asgrim</li>
</ul>

</div>

<hr />
<footer class="text-center" style="font-size: 80%;">
    <p>&copy; Copyright 2019, JT Web Development Ltd, registered in England &amp; Wales, company number 09588091, VAT number 215 351 636</p>
</footer>

<script type="text/javascript">

    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-3367595-5']);
    _gaq.push(['_trackPageview']);

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();

</script>

<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    var disqus_shortname = 'asgrim'; // required: replace example with your forum shortname

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function () {
        var s = document.createElement('script'); s.async = true;
        s.type = 'text/javascript';
        s.src = '//' + disqus_shortname + '.disqus.com/count.js';
        (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
    }());
</script>

</body>
</html>
