Senior Developer (Multi Programming language)

  • Location

    Newcastle upon Tyne, Tyne and Wear

  • Sector:

    IT

  • Job type:

    Contract

  • Salary:

    Negotiable

  • Contact:

    Alexandra Holgate

  • Contact email:

    alexandra.holgate@experis.co.uk

  • Job ref:

    BBBH110838_1568980321

  • Published:

    about 2 months ago

  • Duration:

    3 months

  • Expiry date:

    2019-10-20


Job Title: Senior Developer
Location: Newcastle
Duration: 3 months + extension likely


Do you want to help us grow one of the most agile, dynamic and proficient teams in the digital world?
Our client are market leaders in offering creative, rapid and cost efficient solutioning to a multitude of business needs.
Our client is expanding rapidly to meet the demand, from their growing customer base, for agile driven solutions. They seek to attract the very best and passionate staff in the UK digital market.
Our client builds Digital solutions using contemporary concepts and methods such as: Micro service architecture, API for everything, Test and Domain Driven Development.
We are looking for a 'polyglot' senior developer with a strong understanding of multiple programming languages able to very quickly get to grips with development with Go (Golang) .
You're looking for engaging projects which inspire your imagination and allow you to make a difference. You've got skills, enthusiasm, energy, determination and a love of learning, problem solving and creating innovative answers to technical challenges. You have an eye for clean code and enjoy working as the principle member of a team while also being responsible for your own deliverables.
You'll join a new team working on a massively distributed computing project for a respected global automotive brand currently in the pursuit of developing autonomous vehicles.
Your primary focus will be on developing Go packages and programs that are scalable and maintainable. A commitment to collaborative problem solving, sophisticated design, and quality product is essential.
We will consider candidates without Go experience but with both -

  1. record of quickly getting up to speed with new to them programming languages will be considered.


Deep experience of developing infrastructure / tooling code.
Responsibilities:
Full life cycle from discovery to live with Agile and DevOps ways of working.
Playing a key role in architectural and design decisions, building toward an efficient micro services distributed architecture.
Writing scalable, robust, testable, efficient, and easily maintainable code.
Translating software requirements into stable, working, high performance software.
Essential skills & experience:
10 years plus application development/ software engineering experience across multiple programming languages, with the knack to build efficient, reusable, maintainable and reliable code.
Three or more of Go, Java, C#, C, C++, JavaScript / Typescript, Python.
Strong knowledge of programming language, paradigms, constructs, and idioms.
Shell Scripting and Linux.
Container environments using Docker & Kubernetes.
Git, CI/CD pipelines and build automation.
TDD, Automated testing platforms and unit tests.
Agile delivery utilising Scrum and Kanban methodologies.
Deep experience of designing and implementing micro services in a container environment.
Enterprise scale application design & development.
Desirable skills
Knowledge of common Go routine and channel patterns.
Experience with Go frameworks and tools, including:
Dependency management tools such as Godep, Sltr, etc.
Go's templating language.
Go's code generation tools, such as Stringer.
Ability to write clean and effective Godoc comments.
Protocol Buffers, gRPC.
AWS, Azure, Google cloud.
Serverless Computing, Message Queuing.
You possess:
Can-do, will-do attitude.
Hunger to learn new technologies and methodologies.
Strong problem solving, analytical and logical skills.
Excellent team & communication skills.
Good customer facing skills and ability to clearly communicate technical issues to both technical and non technical audiences.
Ability and desire to share technical experience with colleagues.
Demonstrated ability to develop robust enterprise solutions within timelines.
Solid understanding of software design principles and best practices.