James Shaw

James Shaw

Away on vacation
Mentor
Rising Codementor
US$10.00
For every 15 mins
free badge
First 15 mins free for your first session
ABOUT ME
Experienced technical lead, full stack web developer and low level server side engineer
Experienced technical lead, full stack web developer and low level server side engineer

I've had a wide range of experiences, and been involved in pretty much every aspect of software delivery. I'm a pretty strong all rounder, but have some specialisms based on previous projects:

  • High performance server-side systems
  • Distributed systems and messaging
  • Multi-threaded and fully asynchronous programming and associated frameworks
  • Financial services related technologies - for example FIX
  • Automated testing - from TDD through to full system integration testing
  • Performance and non-functional testing

One of the reasons I started programming was that I love solving problems - codementor looks like a brilliant way of helping people get to the bottom of whatever is holding them up. I pride myself on being the goto person when a problem has gone beyond stubborn - I've been able to get the bottom of pretty much everything with a combination of good knowledge and sheer never give up bloody mindedness!

I terms of approach, I focus initially on making sure completely understand your problem, and give an honest verdict on whether or not I'm the right person to help. The clock doesn't start ticking until we are both happy that we'll spend our time productively. Like I say, I'm not one to let a problem get the better of me, so I'll happily provide a happiness backed guarantee.

English
London (+01:00)
Joined February 2016
EXPERTISE
5 years experience
There aren't many projects that don't have some sort of HTL5 and Javascript components in their client facing code these days. Having pr...
There aren't many projects that don't have some sort of HTL5 and Javascript components in their client facing code these days. Having progressed from Java proprietary technologies I've been writing user interface code in Javascript for the last few years. The vast explosion of frameworks and best practice alternatives are a potential minefield, but having a good grip of what magic is happening under the covers always helps understand how to use the tools we have effectively.
15 years experience
Since I moved from C++ back in the early days, Java has been my core language of choice. This has been influenced by the organisations I...
Since I moved from C++ back in the early days, Java has been my core language of choice. This has been influenced by the organisations I've worked with - Java has always been a good fit for larger scale projects, and with the modern JVM and language improvements is going from strength to strength. There are very few things I haven't had a go at implementing in Java - I've designed and built very low level frameworks, and also composed large scale distributed systems processing tens of thousands of transactions a second. I've mentored all levels of developers, testers and devops in Java and its related technologies for the last 15 years, and feel confident I'll be able to lend a hand no matter your problem.
5 years experience
My first role in development was exclusively coding in C and C++, so I've got a strong practical knowledge of the core languages. My mor...
My first role in development was exclusively coding in C and C++, so I've got a strong practical knowledge of the core languages. My more recent experience with Java and other OO languages have given me a strong understanding of the other aspects of developing in C++, from good OO design all the way through to low level performance and testing.
2 years experience
I've been deploying production services on to AWS for several years now - I've got a good grip of the various approaches to using the var...
I've been deploying production services on to AWS for several years now - I've got a good grip of the various approaches to using the various core AWS services.
20 years experience
My core experience over the last two decades in the software industry has been on the server-side. I've been responsible for pretty much ...
My core experience over the last two decades in the software industry has been on the server-side. I've been responsible for pretty much everything on the back end over the years, all the way through from really low level implementation to high level architecture and design of highly distributed asynchronous systems. I have a wide range of experience in both function and non-functional aspects. On the functional side I have a keen interest in testing best practice, for example when to use unit, component, and system level testing. On the non-functional side I've got a good awareness of security (how to avoid common pitfalls and implement according to best practice) and have a deep level of experience in performance testing of large scale systems.
2 years experience
Having moved into Javascript development for front ends in the last few years, I've tried out a number of frameworks to help make life ea...
Having moved into Javascript development for front ends in the last few years, I've tried out a number of frameworks to help make life easier for myself. The one that has really resonated with me has been AngularJS - the simplicity of the two-way binding makes getting things up and running so simple, and you can build really good simple UIs quickly and painlessly. The downside is larger and more complex projects get difficult quickly - structuring your code and not being overwhelmed by the shear number of pieces is a key challenge. More advanced topics, such as implementing your own directives, transclusion, and the inner workings of the digest cycle can be a bit baffling until you've dug into it in more detail.
10 years experience
The missing piece of the jigsaw for too long, devops has always been a vital role in getting things from code into something that is actu...
The missing piece of the jigsaw for too long, devops has always been a vital role in getting things from code into something that is actually useful. I've been responsible for managing source control repositories, coming up with branching and SC processes for large teams, defining build process in a massive variety of languages, and managing both manual and fully automated delivery pipelines. My current tool of choice is Gradle, having moved on from Maven in the last few years, with more than enough shell and Ant in between. I'm fairly confident I'll be able to help getting to the bottom of your problems or even just advising on best practice - there are often so many ways to achieve the same result it can be hard to know which way works well.

REVIEWS FROM CLIENTS

James's profile has been carefully vetted and approved as a Codementor. Connect with James now, and leave a review for them once you're done!