David McNab

David McNab

Programmer

Followers of David McNab468 followers
location of David McNabWaikato, New Zealand

Connect with David McNab to Send Message

Connect

Connect with David McNab to Send Message

Connect
  • Timeline

  • About me

    Full-Stack Software Architect/Engineer

  • Education

    • Massey University

      2016 - 2021
      Master of Business Studies
    • Massey University

      2016 - 2017
      Postgraduate Certificate in Business
    • Massey University

      2008 - 2015
      Bachelor of Business Studies (Entrepreneurship and Small Business)
    • The Open Polytechnic

      2010 - 2010
      Certificate in Exercise Instruction
    • University of Sydney

      1981 - 1983
      Bachelor of Engineering (B.E.)
    • Gosford High School

      1975 - 1980
      Higher School Certificate
    • Wintec - Waikato Institute of Technology

      2012 - 2012
      Certificate in Massage
  • Experience

    • Reuters Financial Software

      Feb 1985 - Jun 1986
      Programmer

      Development of systems for capture and distribution of real-time financial markets data throughout urban areas. In this era, prior to telecommunications deregulation and the ultimate explosion of the internet into mass usage, this system enabled corporate users to collect financial data from microwave broadcasts and distribute it throughout a building; also, to compress and multiplex trading orders for a whole building into a single analog phone line.Development was done in C and Assembler on DEC VAX VMS systems, and cross-compiled to Intel iRMX-86 based embedded modules. Show less

    • Wang Australia

      Jun 1986 - Dec 1987
      Software Engineer

      Design and development of software for office automation, banking infrastructure and networking.Projects included banking teller terminals, word processing to Telex integration, proprietary 16-bit operating system. Worked in both Sydney, Australia and Lowell, USA integrating the work of development teams in both locations.

    • Megadata Pty Ltd

      Jan 1988 - Dec 1989
      SCADA Systems Developer

      Design and development of software components of Supervisory Control And Data Acquisition (SCADA) systems, for industrial automation areas such as power distribution, sewerage processing, chemical plants and security.Wrote code mainly in C, with some assembler. Development environment was the Unix derivative SunOS, runtime environments included various embedded software stacks, some developed in-house and some sourced from industrial module vendors.Most significant achievement was the development of a lightweight, multi-platform threading framework, which allowed any number of threads to run within a single process. This framework provided extremely efficient context switching and resource management, and (as is common in SCADA systems) allowed shared access to memory mapped control structures.Due to under-capitalisation, Megadata ultimately succumbed to rivals such as Leeds and Northrup, Honeywell and Siemens and ceased trading in the mid 1990s. Show less

    • JNA Telecommunications Ltd

      Jan 1990 - Oct 1994
      Senior Software Engineer

      Predominantly a software engineering role which involved designing, coding, testing and documenting software. The field was telecommunications systems, and I was part of a team of up to 40 software and hardware engineers, building and evolving a highly configurable product which split 2Mbps trunks (at the time regarded as massive capacity) into any desired combination of video, voice and data services, right down to 9k6 serial. This product formed the backbone of telcos' digital data networks in New Zealand, Italy and several other countries.Development was done mostly with C, with some assembler, on the Unix-like SunOS environment. Target platform was cabinets full of Motorola 68020-based embedded modules arranged in a 2 dimensional bus architecture.My most significant achievement there was the development of an original programming language and framework for automated testing, which enabled other developers to replicate test scenarios with absolute control and precision, and thus eliminate software defects much more quickly. Prior to this tool being available, the system was plagued with many bugs which had been impossible to track down. The highly extensible language, developed with the yacc and lex parser tools, allowed developers to build up libraries of reusable code, with which they could quickly set up controlled conditions to reproduce bugs, and test their bug fixes. Show less

    • Self-Employed

      Dec 1994 - Jul 2012
      Counsellor and Breathwork Therapist

      Working in private practice, delivering individual and group counselling sessions and seminars. Counselling areas included bereavement, relationships, addictions, finance and careers. Made heavy use of breathwork therapy, a powerful tool used by numerous counsellors and psychologists, which helps people to dissolve emotional blockages and improve their health and personal energy. I have also delivered many practitioner training courses, and people I trained now run their own practices.

    • Various Open Source Software Projects

      Feb 1999 - Jan 2013
      Software Developer, volunteer (part time)

      I have participated in a diverse range of open source software projects. For example, the Freenet Project (www.freenetproject.org), a framework enabling freedom of speech and information amongst citizens in repressive regimes.My most recent project is BarkOff, a system for mitigating nuisance barking. This project, which I started during the 2012-2013 Christmas break, has already reduced the barking of my 6 chihuahuas by over 80%. As it matures, I will deploy it amongst other breeders, then roll it out as a product. The system works by monitoring audio in the backyard, dividing this audio into discrete envelopes, then discerning which envelopes are dog barks, based on spectral properties determined from fourier transformations. When barks are detected, the system plays loud tones at 11kHz into the yard which the dogs find annoying and discouraging. I have written the software for this system in Python and C++. Show less

    • Greenpeace

      Jan 2010 - Jan 2011
      Community Outreach Team Leader

      Meeting members of the public, advocating for environmental issues, and soliciting for ongoing-donation membership. This was in effect a sales role in a very challenging environment. I (and the people on my team) were responsible for attracting the attention of members of the public, engaging them in conversation, arousing their interest in environmental issues, and ultimately inspiring them to hand over their credit cards for membership sign-ups. In this part-time role I was quickly promoted to team leader, and spent most weeks on the national sales leader-board.In my team leader role, I was responsible for training others to exceed their own sales quotas, troubleshooting poor performance issues, and applying remedies including counselling, coaching, further training and (in sad rare cases) disciplinary warnings and dismissal. In an environment where teams typically suffered 90% attrition within 3 months, I sustained 60% retention over most of the year! Show less

    • Livestock Improvement Corporation (LIC)

      Jul 2012 - May 2014
      Protrack Dairy Farm Automation

      At first look, this is a helpdesk role, providing technical support to users of LIC's "Protrack" dairy farming automation systems. But in reality, this position demands a far broader set of skills and experience than virtually any other in the industry. Duties include: remotely accessing client's systems, diagnosing and repairing faults, educating users, writing scripts and support software, building test platforms and, wherever faults are with the physical equipment, co-ordinating contractors to travel out to on-farm sites and perform the needed repairs.Significant achievements so far: written software for database format conversion, created a fully-functional hardware scale model of an automated milking shed, and written software to replicate real-life scenarios in this model and isolate problem areas. Show less

    • Vadacom Ltd

      May 2014 - Mar 2018

      A full-stack development role, combining Ember javascript web front end with Python-based back end. Design, implementation and testing of software for Vadacom's VadaExchange suite of digital PBX solutions. Product comprises a massive web application front-end, written in Javascript using frameworks including Ember.js, Handlebars, JQuery and Bootstrap. Back-end is a TurboGears-based API written in Python, interacting with the open-source Asterisk PBX package.I am loving this intensely challenging role, which is further advancing my skills in MVC design pattern, Javascript frameworks, HTML, CSS and Python, and getting me proficient in Ember, PostgreSQL and numerous new areas of GNU/Linux systems development. Show less

      • Business Development Manager

        Apr 2017 - Mar 2018
      • Software Developer

        May 2014 - May 2017
    • Massey@Distance (Massey at Distance)

      Apr 2016 - Nov 2020
      Student Association President

      In this part time community role, providing organisational and technical leadership to this unique student association supporting over 10,000 distance students of Massey University. Responsibiilites revolve around maximising the success rates for Massey's distance students in their studies, and leveraging all available networks, resources and technologies to make this happen.I was proud to be supported by a diverse, talented and passionate team on this journey, including a skilled Board of Directors and a hard-working multi-skilled staff, both full time and contractors. It's satisfying to have played a part in bringing the organisation to new levels of capability and opportunity. Show less

    • Massey University

      Sept 2016 - Nov 2021

      Masters degree in Business with coursework in marketing and entrepreneurship, and a research project on SaaS user value perception and churn prediction. Now finally complete! A professional governance role, serving as one of twelve directors on Massey University Council.

      • Postgraduate Researcher: SaaS Services

        Jul 2016 - Nov 2021
      • Academic Board Member

        Jul 2017 - Nov 2019
      • Director, Massey University Council

        Sept 2016 - Aug 2018
    • IT Handyman

      Mar 2018 - Aug 2019
      Software Engineer/Business Analyst

      Software odd-jobs - automation, integration, migration. Custom utilities. Website programming. Software maintenance.

    • EC Credit Control (Aust) Pty Ltd

      Mar 2018 - Apr 2020
      Credit Management/Cashflow Consultant (Small/Medium Business)

      Helping businesses throughout Hamilton and the Waikato to maximise the financial stability and cashflow of their businesses, by setting up robust and innovative systems for credit and asset risk management.

    • Manage Protect

      Aug 2019 - Apr 2020
      Technical Support Analyst

      Providing technical support to Managed Service Provider firms for various cloud-based software applications, spanning email security, office applications, backup, disaster recovery, cloud storage. Contributed several DevOps efforts to support automation of some of these operations. Sadly made redundant due to the economic uncertainty the company is facing from the COVID-19 epidemic.

    • SMTP2GO

      Jul 2020 - now
      Software Architect/Engineer (Full Stack)
  • Licenses & Certifications

    • Agile Software Development (NZIITP)

    • Understanding IT Governance

      NZIITP
      May 2016
    • Chartered IT Professional NZ

      IT Professionals New Zealand
      Aug 2021
      View certificate certificate
    • Diploma in Digital Marketing

      Upskillist
      Jan 2016