Download - Simon Barker CV 20151116
Andrew Simon Barker 07973 385035 [email protected]
Profile A methodical and meticulous Software Developer with extensive experience of developing, improving and supporting complex software solutions. Has developed very strong analytical and analysis skills with the ability to solve difficult problems; is very orientated towards fine detail. Has very strong communication and technical skills with the ability to be resourceful and pragmatic.
Personal Skills A good knowledge of software and programming languages Excellent concentration and attention to detail Able to pick up new technologies quickly An ability to reduce complex problems into simpler subsets Extensive experience of working in large teams of various disciplines or individually Can prioritise work efficiently when attentions are demanded by multiple sources Can interpret and follow technical plans A creative approach to problem-solving Excellent communication skills The ability to work under pressure and meet deadlines and self-motivated An understanding of confidentiality and data protection issues.
Technical Skills In depth understanding of SDLC principles and practices. Strong Scripting – Bash, Bourne, Korn & C Shells, Awk, Sed, Perl et al. Capture, transport and analysis of data in UNIX, C, network, database and scripting environments. C, C++, Java, HTML, Perl, JavaScript, Visual Basic, Excel Macros, Word Basic, BASIC, Multi-Process
Scripting and Threaded Code incorporating Classes. UNIX – SunOS, Solaris, AIX, HPUX. Linux – RedHat, CentOS, Debian. SysAdmin, Network Setup, IPC (Queues, Semaphores, Shared Memory, Sockets, Memory Mapping, Signals,
Pseudo Terminals and Threads). Databases – Oracle versions 6, 7, 8, 9, 10), MySQL, Sybase, Access. Oracle – Administration, SQL, PL/SQL (with triggers), PRO*C, Design, SQL Net admin, Forms 6i, Reports 6i,
Gateway and PC products. Exposure to Microsoft technologies such as ASP.NET, C#, Access and Excel.
Achievements Case hardened an FTP gateway firewall component. Written in C I ensured that the state machine did not leak
memory or system resources and was impervious to ‘man in the middle’ attacks. Produced a shell script to gather data from various network nodes ameliorating the network lag by multi-
processing controlled within the script. Developed an interface to an IBM backup system (Tivoli) in OO PERL that backed up files as they were
produced in real-time alongside run a process to check that all data in the system was backed up (in the event of real-time backup failure). Further to this, an additional process was developed to monitor the interface’s resource usage.
Developed an XML parser in PERL as I was prohibited from introducing new packages onto live systems. Developed a C++ FTP management class that attempted to re-use socket commands to save time on TCP
teardown and build-up. Developed a PERL video stream parser to detect when stream servers started to publish a noise. Due to my success in producing first class technical systems, I retained a contract with British Telecom for 13
years that encompassed an exceptional 25 renewals. Using C and Oracle, I designed and developed a highly technical Billing System that has proven to be 100%
error free and has never failed since launch. Successfully designed a website in Perl/Apache to monitor the performance of a network. Developed intricate
software to handle the change from BST to GMT and vice versa. Wrote a solver program for Sudoku puzzles that did not use the logic required when solving them by hand. It
used generated patterns of possible permutations of symbols followed by a sieve that checked the validity of the puzzle, and if valid, generated the solution.
Developed a PostScript program to control printing reports with all formatting controlled within the printer. Developed a heuristic purchase order system that calculated order quantities from such data as minimum
stock level, sales history by month, stock level and purchase quantity. Found a forty year old bug in Solaris Bourne shell. The shell was using its own memory management which
let libc exec overwrite parameters. Found an Oracle forms bug where a contract would be brought up on screen with the first ten lines of the
contract, if the form closed after a timeout it would commit the ten lines as the complete contract. Re-designed a daily data collection system that was taking over 24 hours to run by connecting Sybase tables
to an Oracle database through Oracle Gateway. The job subsequently ran in under 5 minutes.
Professional Experience
Sabbatical Mar 2013 – to date Took a career break to pursue a long-term ambition in astro-photography. Experienced a lot of cold dark nights and now the bank
balance is looking weak the idea of a return to a warm office is irresistible. Kept technical skills up to date by performing personal projects Having worked in system administration my personal computer
network is managed in a professional manner with scripts being written with Cygwin and strawberry perl to manage backups, updates and data reorganisations.
Working on a companion solver program for Sudoku puzzles that does use the logic required when solving them by hand. Studied PHP, Python and Ruby on Rails to ensure that I could get up to speed quickly if required to.
Unix Developer (Consultant) Atos, Maidenhead Feb 2011 – Mar 2013 Worked on behalf of Siemens and Atos on maintaining & developing systems used by the BBC Website. Initially functioned as part of a team before becoming the sole developer. Systems worked on include the software that presents content to the public and the distribution systems that
transfer content between the BBC’s numerous mirror sites. Responsible for collecting statistics and monitoring for failures or bottlenecks.
Environments: PERL, C, HTML, JavaScript, Shell Scripts, Linux (Redhat) and UNIX (Solaris).
Senior Developer (Consultant) CSC, Luton Jun 2007 – May 2009 Worked with CSC on the BHS contract running a modified version of RETEK. Helped to process a backlog of amendments, develop new systems and tune databases using EXPLAIN
PLAN, Symantec Precise and Clearcase. Supported the migration of Oracle from version 9 to 10. New development work was undertaken in conjunction with a Business Analyst.
Environments: C, COBOL, Oracle (database, forms, reports), SQL, PL/SQL, PROC, PROCOBOL, Windows and AIX.
Oracle Consultant (Consultant) Xicon, Warrington Apr 2007 – Apr 2007 Helped develop solutions for a number of issues with an Oracle 10 migration, including problems building
shared object libraries for use with the PL/SQL external function mechanism with code written in COBOL wrapped in C.
Mysql Consultant (Consultant) X-On, Framlingham Feb 2007 – Mar 2007 Developed a proof-of-concept MySQL cluster with Linux-HA to provide an ultra-reliable database resource
with 99.999% uptime containing network redundancy through virtual IP addresses. Developed multithreaded servers in C with pooled connections through multiple ports to the database.
Sabbatical Apr 2006 – Mar 2007 Took a career break to pursue an interest in digital photography. Visited a number of locations to photograph landscapes and wildlife. Wrote a solver program for Sudoku puzzles that did not use the logic required when solving them by hand. It used generated patterns
of possible permutations of symbols followed by a sieve that checked the validity of the puzzle, and if valid, generated the solution.
Senior Developer (Consultant) T-Mobile, Hatfield Dec 2005 – Apr 2006 Engaged to work with the team responsible for maintaining the real-time database that dealt with all aspects
of user accounts including credit and incentives. The system uses an Oracle database as a backup that runs in near real-time in a shared memory segment
maintained by multi-threaded servers responding to client requests. This system has to be near 100% reliable. Worked extensively with threaded C, UNIX IPC and Sockets (both TCP and UDP) to produce stubs that
exercised system components for their upgrade to itanium based processors.
Software Developer (Consultant) British Telecom Laboratories Jun 1992 – Jul 2005 Responsible for working on numerous large and critical projects, primarily using Oracle databases with
networked data capture from Lucent switches. Developed an Oracle Forms GUI and Report system alongside a web-based version. Utilised C and C++ to develop systems for terminal emulation and screen data capture using pseudo-
terminals and various forms of IPC, including shared memory, semaphores, queues, sockets and memory mapping.
Created network communications using RPC and sockets on Sun workstations running SunOS and Solaris connected in LANs and WANs.
Used SQL, PRO C and PL/SQL to achieve systems integration with Oracle databases (versions 6, 7, 8 & 9). Designed and tuned databases to optimise performance and integrity. Much work was writing C/C++ code to gather data from network switches and populate Oracle databases
using UNIX IPC with SQL, PRO C and PL/SQL. Implemented a multi-threaded managed FTP class for use in other development. Identified a bottleneck with retrieving data from Sybase Database to Oracle. Implemented an Oracle Gateway
and achieved a runtime improvement from 26 hours to 15 minutes. Undertook ISO 9000 certification.
Education BSc (Hons) – Geology 7 GCE O-levels and 3 GCE A-levels
Early CareerAsb Systems Self Employed Software DeveloperInkomex Ltd Hardware / Software Support ManagerSenton Ltd Analyst / ProgrammerGateway Foodmarkets Ltd Technical Support ProgrammerHoneywell Computers Software EngineerHearts Of Oak Benefit Society Analyst / Programmer