I am at heart a solver of problems, and have been fascinated by software since the Sinclair Programmable, BBC micro, Atari ST.... I have enjoyed using software to solve commercial problems for almost three decades in several companies of different sizes. I do not see myself as bound by one language, platform, methodology or technique, because I am always keen to learn new ways to solve problems.
I would love to live in a world where software really was an engineering discipline with a small number of well-defined cross-platfom languages. But until that day I will learn the tools we have, and choose the best ones I can for the job at hand.
I have worked at every stage of the software development process, from requirements gathering and analysis, through design, implementation, distribution, test and support. I most enjoy work closer to the front of the process where decisions are often based as much on experience and instinct as on hard facts.
I support open source and open platform approaches and so favour Java as a language (almost 20 years experience) and Linux (self taught, have used for 10 years). I am learning to like Swift as a language, and have closely followed the discussions on the swift forums. Swift can be concise, elegant and productive language (except maybe string indexing or protocol associated types).
When I was made redundant I thought that I would retire early to the west country and relax, but I missed software development and continued to design and implement my own projects. Quite by chance a friend pointed me at an opportunity at a local company, and I have been developing software there for several years.
At present I am developing for iOS using mainly Swift. I had to learn Swift for myself, just as I had learnt ObjectiveC before that. I have written one commercial iOS app, with two versions the first in objectiveC, the second in Swift.
Commercial Experience in several object-oriented and functional languages: Java , Swift, C++ , Object Pascal, C#/.Net, Objective-C++, C, Visual Basic , VB/.net, Objective-C.
Experience of several flavours of assembler: 8088, x86, 68000, 6800.
Commercial experience on several target platforms: MacOS, Windows (3.1 – 10), iOS, Android.
Self taught skills on Linux: Mint, Ubuntu.
Commercial database Experience: MS SQL, DB2, mySql, SQLite
Source Control: git. Lots of it. There is no competition.
Miscellaneous: Coding to Bluetooth, BluetoothLE, TCP/IP, Soap, XML, web services..
Interests and Hobbies
WalkingIrish Whistle: I have been known to play at local pub sessions and events. I have even made a whistle.
Organic Gardening: I grow my own fruit and veg as organically as I can.
Hobby Coding. I have several open source projects including a calculator for the placement of holes when making a tin whistle (or flute) which has been successful in its (admittedly limited) field.
Software design - some of my personal projects have been design tools (for desktop and android). Some of these tools (one for State Modelling, one for modifying TCP packet headers) have proved very useful during my day job.
Environmental (wildlife, ecology, sustainability)
Reading (Science, science fiction, history, current affairs, philosophy, archaeology, mythology, religion.....)
Where I appear