🚧 UNDER CONSTRUCTION 🚧

Joseph Knowles

A React obsessed software developer focussed on clean code, with a portfolio of side-projects to prove it. After completing an intensive coding bootcamp I moved to the Czech Republic and took on lead development responsibilities for a React application in an important multi-billion pound wealth-management platform within a year of joining the company.

I'm looking for an opportunity to use my skills with ReactJS to efficiently create excellent user experiences as part of an agile team.

Skills

Clean code

I've worked on a number of code-bases with varying degrees of code quality. From this experience I've learned many important approaches to keeping code at a high standard, and seen how the long-term maintainability and extensibility of code is essential for productive web-development. So I'm continually focussed on understanding and applying both industry standard and emerging techniques for achieving cleaner code.

My portfolio below contains some examples of me using this skill in small personal projects. The code is all freely available on GitHub at the links below.

Agile / scrum

I was taught the core concepts of agile as part of my software development training at Makers Academy. The course was project based, and these projects were all completed in an agile manner. The company Makers Academy itself adhered closely to agile principles, giving me first hand experience of the agile processes within an extremely successful start up early on in my career.

My role at my first job after Makers Academy involved agile evangelism. The company was large and previously worked with waterfall processes. At first I worked as part of a small internal agile team to demonstrate the efficacy of these practices, after that success I moved into client delivery to apply agile doctrines more widely within the company.

I like to work within modern project management frameworks like agile. I get the most work satisfaction knowing I'm building experiences that are most useful to end users, and these iterative frameworks ensure this is done effectively in the shortest time possible.

TDD & BDD

Test Driven Development is foundational to my approach to software. It was a central part of my initial training, and has continued to guide my work on personal projects which can be seen in my portfolio. The same is true for BDD, I wrote a small wrapper for a headless browser, which makes testing of user interactions on a node/express application simple within Facebook's Jest framework.

Pair programming (including remote pair programming)

I completed the Makers Academy course remotely so I learned by pair programming over video-calls (specifically google hangouts, which I suppose I'm an expert in now). This required that I demonstrate outstanding communication skills to clearly convey programming specifics as well as more abstract software concepts which I then put into practice by teaching other developers via pair programming at FNZ.

Technologies

Main technologies I know and particularly want to work with:

  • React.js
  • Various React compatible libraries - Redux / Redux-saga / React-router
  • Webpack
  • React-Native
  • Git + GitHub
  • Various testing frameworks such as 'Jest' for react and 'Rspec' for Ruby
  • Node / express
  • Ruby on Rails

I've worked with a wide variety of languages and frameworks from my beginnings with Ruby (on Rails) to currently working mostly with javascript, especially React and Node. I'm particularly drawn to react and find myself fairly deep in the vast ecosystem that it occupies.

Other technologies I'm comfortable with include: HTML+CSS, C#, ASP.NET, VB, plain javascript, AWS, CI (Travis, TeamCity), AccuRev.

Portfolio

Please see my github profile for my latest projects for now (these will soon be found on my website).

Projects include:

  • Table

    • A multi-screen gaming platform
    • Local social gaming without the set-up / clear-up of traditional table-top games
    • Responsive design adapts to device
    • Mobile swipe gestures on mobile devices
    • Uses sockets for instant live gameplay
  • Open-Up

    • Simple booking interface
    • animated notifications and errors
  • Goal Tracker

    • Track daily progress towards long-term goals
    • Alternative gamification service without the typical 'streak' concept
    • Simple SVG info-graphics indicate progress in an easy to understand way
    • Encourages consistent sustainable effort

Education

Makers Academy (February to June 2015)

I was part of the first cohort to complete Makers Academy's highly intensive, full time coding bootcamp remotely. This course culminated in designing a fully functional 'garden sharing' web app in just two weeks to match the needs of a real client, as part of a small team of developers. During the course I showed my driven nature by working many hours on evenings and weekends on top of core course time and completing all challenges above specification long before deadlines.

University of York

  • Biology BSc 2:1 (2010 - 2014)
    • Mainly focussing on genetics and molecular biomedicine
    • Completed a final project involving computational analysis of DNA
    • Completed a Spanish elective during my final year, went from nothing to conversational proficiency in less than a year

ABRSM

  • Piano Grade 8

Experience

FNZ (Czechia) (August 2015 - December 2016) Developer

  • Began working in a small internal agile team developing a Proof of Concept application in .NET for a new innovative product
  • Moved into client delivery after ~6 months to spread agile doctrines
  • Quickly picked up react and started working on the development of a new front end platform
  • Became responsible for this large react project which involved:
    • Technical guidance for an outsourced team of developers
    • Providing technical consultation for client requirements and new business queries reporting directly to senior management
    • Providing build estimates for all front-end requirements
    • I was solely responsible for teaching both junior and senior local developers how to work on the MVC application and gave guidance on best practices through code reviews
    • Ensuring the CI passed or was immediately fixed
Various temporary jobs while travelling around Spain in late 2014 including:

- (October to November 2014) English teacher and au pair in Madrid

  • I lived with some Spanish families and helped them improve their English.

Hipica Xerta (a horse farm near Barcelona) (September to October 2014) Translator and stable manager

  • Helped the English owner to communicate with and manage her Spanish workers
  • Was responsible for the upkeep of 9 horses along with their enclosures

Volunteering

Age UK (July to September 2014) Shop Assistant

  • I sorted and cleaned donations
  • Worked at the checkout