Jose Gonzalez

Jose Gonzalez

Back End Developer


Career Goals

About me

I am a Software Developer, with web applications analysis and development professional experience, and an MSc in Computer Science Engineering. I am pursuing a career as a Software Engineer, while always having clean, maintainable code as the foundation of my work.

Work Experience

Software Engineer

BJSS United Kingdom

Jan 2015 - present

Currently working on the NHS e-RS (Electronic Referral Service) project, a replacement for Choose and Book.

As part of my day to day duties, I work in an agile environment using several different tools and technologies, including PHP, AngularJS and Java.

Developer United Kingdom

Dec 2012 - Dec 2014

During my stay at Icelolly, I have been involved in all stages of the Software Development Life Cycle. The majority of our work was developed using PHP and MySQL, in CodeIgniter first, and Symfony later. These are the most important tasks I performed:

  • Maintenance of the main website and several web applications associated with it, as well as coding new sections and functionalities.
  • Design and development of an API used by mobile apps and the mobile and desktop versions of the website.
  • Member of the R&D group, responsible for switching the core functionalities of the current system from PHP+MySQL to an HBase and Hadoop based system.
  • Tutored and mentored the junior developers.
  • MySQL database optimizations and efficiency improvements.
  • Design and development of the replacement of old legacy systems by new fully testable, efficient, maintainable and object-oriented code.

Web developer and consultant

Freelance Spain

2008 - 2012

Both front-end and back-end development of several bespoke websites, hand-coding PHP, HTML, CSS and MySQL, as well as using CMSs like Drupal, or frameworks like CodeIgniter, always focusing on cross browser compatibility and W3C standards.

In addition to the aforementioned development work, I also performed consulting and advising tasks, such as supervision of external work and several collaborations in website development.

Web developer and system administrator

University of Granada Spain

Sep 2010 - Aug 2011
  • Online campus implementation: development of teaching-support applications used by the Department of Obstetrics & Gynaecology, San Cecilio Hospital, University of Granada.
  • Development of a back-up system for the Faculty of Architecture of Granada‚Äôs server.
  • Translation of technical concepts to non-technical staff, while working with minimal supervision to develop their requirements during this internship period.


MSc Computer Science Engineering

University of Granada Spain


While studying Computer Science Engineering at University of Granada, I gained a wide variety of skills, such as:

  • Programming methodologies
  • Advanced Mathematics and Physics
  • Relational databases
  • Computer architecture
  • Computational models
  • Operating systems
  • Algorithms theory
  • Data structures
  • Programming paradigms:
    • Procedural
    • Object oriented
    • Concurrent
    • Declarative
    • Distributed and parallel
  • Artificial intelligence
  • Software engineering
  • Language processors
  • Networking
  • Biological algorithms
  • Graphic programming (OpenGL)
  • Simulation models
  • Robotics

Abula Sixth-Form College

Vilches Spain


9 A-levels:

1 Mathematics A*
2 Physics B
3 Statistics A*
4 Technical Drawing A*
5 Biology B
6 Spanish Language and Literature A
7 English A
8 History B
9 Philosophy B

Further Training

  • 2013
  • Software as a Service

    Software as a Service

    July - August 2013 40 hours

    Online course by the University of California, Berkeley.

    This course teaches the fundamentals of software engineering using Agile techniques to develop Software as a Service using Ruby on Rails. The topics covered include:

    1. Service Oriented Architecture and Cloud Computing
    2. Ruby
    3. Rails
    4. SaaS Architecture
    5. Behaviour Driven Design
    6. Test Driven Development
  • 2012
  • MongoDB

    MongoDB for Developers

    October - December 2012 40 hours

    Online course by 10gen - The MongoDB Company. This course goes over:

    1. Basic installation
    2. JSON
    3. Schema design
    4. Querying
    5. Insertion of data
    6. Indexing
    7. Working with language drivers
    8. Working in sharded and replicated environments

    During the course, a blogging platform backed by MongoDB was built.

  • MongoDB

    MongoDB for DBAs

    October - December 2012 40 hours

    Online course by 10gen - The MongoDB Company. This course goes over:

    1. Basic installation
    2. JSON
    3. Mongo shell
    4. Importing and Exporting data
    5. Replication and Fault Tolerance
    6. Scalability
    7. Indexing
    8. Performance tuning
    9. Monitoring
    10. Sharding
    11. Backups and Recovery
  • Android

    Android Application Development

    May 2012 130 hours

    Course by the Ministry of Education of Spain. Topics covered:

    1. Android development environment
    2. User Interface Design
    3. Activities
    4. Events and Listeners
    5. Android's Emulator
    6. Adapters
    7. Threads
    8. Menus
    9. Files
    10. Resources
    11. Intents
    12. Permissions and Security
    13. Layouts
    14. Databases (SQLite)
    15. XML and DOM
    16. Content Providers
    17. Services
    18. User notifications
    19. Debugging
    20. Maps
    21. Gyroscope and Accelerometer
    22. Android Market
  • Java

    Advanced Java Programming

    February 2012 90 hours

    Course by the Ministry of Education of Spain. Topics covered:

    1. AWT
    2. Swing
    3. Applets
    4. Exceptions
    5. I/O
    6. Threads
    7. Databases
    8. TCP/IP
  • 2011
  • Robotic

    Multi-modal People Tracking Methods for Mobile Robots

    December 2011 - May 2012 300 hours

    Research collaboration with the Department of Computer Science and Artificial Intelligence of the University of Granada.

    The objective of this project was to make the PeopleBot robot track and follow a person, draw its attention and, in general, interact with it in a very basic level.

    The tracking part was achieved by attaching a BumbleBee 3D camera to the robot, and then writing tracking algorithms in C++ using the OpenCV library.

    By combining the visual tracking results with the robot's frontal infrared sensors, the person's position could be determined more precisely.

    The final part was to move the robot close to the person by using PeopleBot's movement libraries.

  • 2007
  • Django

    Web 2.0 Programming: Fast Development of Applications using Python and Django

    November 2007 40 hours

    Course by the University of Granada.

  • English course

    Advanced (C1) English course

    July 2007 60 hours

    Certified by Rose of York Language School, London (United Kingdom).

  • Visual Basic .NET

    Programming Applications using Visual Basic .NET

    March 2007 40 hours

    University of Granada. Topics covered:

    1. The .NET platform
    2. Language basics
    3. Event Oriented Programming
    4. Objects and Classes in
    5. Forms
    6. Files
    7. Events
    8. ADO.NET


You can find my complete portfolio in GitHub. At the moment, there is only one project available. This section will be updated soon.

A* algorithm


This A* algorithm implementation is written in PHP. It has the following characteristics:

  • Written using object orientation
  • Easily installable by using Composer
  • Fully tested: 100% code coverage using PHPUnit
  • A Continuous Integration server has been set up
  • Ease of use: just a few steps are required to make it work

Technical Skills

Web Development















Test Driven Development



Visual Basic .NET


Big Data











Contact Me

Get in touch

If you'd like to contact me, please use the following form. I'll get back to you as soon as possible.