Technical Skills

Whether for a single project or longer term, intensive or occasional, the experience and knowledge that Imaginative Software can bring to your party may make all the difference: somebody on your side you can trust, speaking your language and with the best interest of your business at heart. For a new project, to improve processes, even just to help out - if it matters to you, it matters to us.

Technical Direction

Our small team has big experience: working with creative agencies, global consultancies and independent software houses, even helping startups toward stock market flotation. We can work with your team to augment and support them, help to fill in gaps or assist the adoption of best practices and the application of ideas, or we can be or build that team if you have a big idea that's needs help to get off the ground.

  • Requirements gathering and task identification
  • Project planning
  • Direction and mentoring of a technical team
  • Customer liaison: initial, planning, stage and delivery meetings
  • Formal and informal reporting to management/board
  • Working with Agile project management methologies

Software Development

Imaginative Software is about people who love making and working with software. We were each part of the UK's microcomputer revolution in the 1980s and have between us worked with a huge number of the platforms, frameworks and languages that have evolved since then.

  • .NET
    • C# , and support of VB.NET, for web and native applications
    • Creation and development of plugins and extensions for Dynamics CRM
  • Java
    • Enterprise web applications
    • Mobile app development
  • PHP
    • Laravel
    • Drupal
    • Support for WordPress
  • Web
    • Contemporary frameworks like Angular, React and NodeJS
    • HTML5
    • CSS (and SASS/LESS)
    • Javascript and Typescript
  • Database
    • SQL (SQL Server, MySQL, PostgreSQL, Oracle)
    • MongoDB
  • Also
    • C and C++ for device and native Windows development
    • Delphi for legacy Windows applications
    • Actionscript, the language of Flash
    • Objective C and Swift for Mac and iOS (iPhone/iPad) applications

Platforms and Frameworks

  • Microsoft .NET
  • Microsoft SQL Server
  • JEE (J2EE) and JSP
  • MySQL
  • Apache webserver (HTTPD)
  • Apache Tomcat
  • nginx
  • Grails
  • Spring
  • AngularJS
  • Drupal
  • WordPress
  • Laravel
  • Microsoft Dynamics CRM
  • Android
  • Facebook
  • Google
  • Microsoft Azure
  • Twitter

Version Control

  • SVN
  • GIT
  • Team Foundation Server

Technologies

  • TCP/IP
  • Active Directory
  • Object-oriented design
  • Web, complete back- to front-end development including HTML, Javascript and CSS
  • 3rd-party APIs (e.g. SMS, bulk email, social networking, mapping)
  • SCORM (elearning)
  • Asynchronous web communication (AJAX, JSON, XML, etc.)

Development Environments (IDEs)

  • Visual Studio
  • Eclipse
  • IntelliJ IDEA
  • PHPStorm

Testing

  • Unit testing (JUnit, QUnit, Jasmine, Karma, PHPUnit, Spock, NGUnit, etc.)
  • Performance
  • User acceptance
  • Security

Education

  • Classroom and onsite training
  • Design and authoring of training materials
  • Elearning - content, platforms and standards

Operating Systems

  • Windows
  • Linux
  • OS X
  • Windows Phone
  • Android
  • iOS (iPhone)

Documentation

  • In-code documentation (Javadoc, .NET XML comments, etc.)
  • User documentation (manuals, guides, etc.)
  • Client documentation (technical outlines, etc.)

If the list is missing something that's important to your project, please get in touch to discuss your requirements. Twenty years ago, a list of my skills would have included languages and environments like COBOL, Pascal, dBASE III, MS-DOS and Windows NT; these have given way to other technologies for me as I've moved towards what best suits the job in hand, and I expect the list to contain new technologies, languages and skills in another few years, perhaps months or even weeks!