Me

About Me

Born and raised in Australia, I am 43, live in the south-eastern suburbs of Melbourne close to the beach. I have been into technology from a very young age, sparked by the 1980’s cartoon Transformers of all things!!

I work as a tech-lead for an international fin-tech company names Iress, prior to that I have worked as a developer, IT consultant, in marketing and have even owned a chain of hair salons for 13 years.

Even though I work in a senior IT position, and other than extensive experience I have had little formal industry education or qualifications. As part of a professional improvement commitment, I am working on fixing this in view of taking on more senior positions at my current or future firms.

I have two amazing boys and a very supportive wife, especially when I talk in technobabble or install overly complicated AV or lighting systems all over the house.

Name: Matt Kellock
E-Mail: Prefer not to get scraped by spambots!
Please reach me here
Language spoken: English
RMIT student number: s3812552

History

History in
							Tech

My interest in IT started as a child, of all things because of the 1980’s Transformers cartoon! Going to a catholic primary school, we had mass each week, especially boring to a 10-year-old boy. During the sermons I used to daydream about how it was possible to build my own transformer, this led to my lifelong fascination in programming and computers.

My first computer was a second-hand Commodore 64 and my Dad’s IBM 8086, I taught myself rudimentary BASIC on the C64 and programmed simple batch scripts on the PC. Whilst at school, I ran from class to class diagnosing problems with the Apple IIe’s and even got to program Space Invaders from scratch on one of them!

I have operated professionally in IT, mainly in corporate or enterprise development since the late 90’s, have been through two dot com booms and busts and seen many languages, frameworks and companies rise and fall.

So, after 20+ years working in IT, why a degree now? I want to move into upper management positions, particularly as a CTO. Providing value and seeing change happen, drives my work, the larger the scale I can make that happen, the more enriching I find my work. I need a degree to at least apply for these positions, however, would also like to continue to management post graduate degrees after completing a ComSci qualification.

As part of completing my degree, I hope to round out any rough edges in my skill set and exit as a qualified developer. I chose RMIT due to its brilliant programme and progressive program and look forward to the years ahead.

Career

Career Plan

The Chief Technology Officer (CTO) reports to the CEO and is a key member of any large and/or technology driven company. The role encumbers technology strategy, policy, research and development, client targeting and support, product development (especially for SaaS providers), technology finance, and a raft of other executive functions.

Technological strategy, change management and uplift have always been exciting to me, to see uplift happen in an organisation is immensely rewarding, and in a CTO’s position, you’d be instilling the largest volume of this type of change.

CTO Position Ads

I have a included several CTO position advertisements below:

CTO Skills Breakdown

From the positions listed above, prior research into the position and experience working with CTO’s and other company executives, I estimate the skills and qualifications to be as follows.

I have included a 👍 where I believe I possess the skills necessary for the position and a ❌ where I do not.

  • Educational qualifications
    • ❌ Bachelor of Information Technology
    • ❌ Masters in Information Technology Management
    • ❌ Associate level certification in AWS
    • ❌ Agile Certified Practitioner
    • ❌ Other relevant certifications as they become necessary…
  • Executive presence
    • 👍 Self-motivated
    • ❌ Articulation ideas to technical, non-technical audiences, corporate and junior staff
    • ❌ Influencing skills
    • 👍 Collaborative and team orientated
    • ❌ Diplomacy skills
    • ❌ Negotiation skills
  • Management
    • 👍 15 years work experience
    • ❌ 5 years in senior engineering management
    • 👍 Ability to build and retain technical teams
  • Strategic skills
    • 👍 Excellent planning and organisational skills
    • 👍 Demonstrated ability to understand organisational context
    • 👍 Ability to develop digital strategy and execution roadmap
    • 👍 Experience working within both large-scale, complex corporates and/or start-up environments
  • Client and product skills
    • ❌ Client focused
    • ❌ Extensive experience guiding product direction
  • Technical skills
    • 👍 Extensive commercial experience building applications, microservices and cloud tech
    • 👍 Understanding of the current and emerging global technology trends
  • Process skills
    • 👍 Experience with an agile methodology
    • 👍 Excellent analytical, evaluative, and problem-solving abilities
    • 👍 Experience leading full stack projects

Skills Gap Strategy

Looking at the above skills gaps, I have some work to do around lifting my educational qualifications, executive level experience, executive presence, client, and product skills.

Continuing educational qualifications through tertiary education and external management/technical certifications will close most of the educational gaps, taking these skills and applying them in the workplace will cement them.

I can look to obtain executive presence through continuing to work with executives in organisations, personal coaching/mentoring, reading up on the subject and their associated skills and formal training through management institutes and/or an MBA qualification at a later stage.

Additionally, I must continue refining my current skill set, ensuing that I am not subject to the Dunning-Kruger effect. I can help ensure I continue to refine my skills through working with multiple teams and projects, self-education, and additional technical skill qualifications.

Profile

My Profile

I partook in three online surveys to collect information on my personality and learning style. The three tests I took were:

Conclusions

The test results produced what I had already known about myself, quiet, sociable, deterministic, equal parts process, and intuition, occasionally stubborn but generally thoroughly researched, with low emotional reactivity except where it counts. In a team setting, I am conscious of not dominating discussion, process, or outcomes, and try to strike a balance between occasional guidance and frequent collaboration. I enjoy working with people who can balance ambition and opinions with the needs of the team; many voices often lead to the best solutions.

Test Results

Myers-Briggs Type Indicator

Interestingly, the results from the Myers-Briggs test has not changed since I was in high school, I received a classification of INFJ-T which 16 Personalities labels as an “Advocate”:

The Advocate personality type is very rare, making up less than one percent of the population, but they nonetheless leave their mark on the world. Advocates have an inborn sense of idealism and morality, but what sets them apart is that they are not idle dreamers. These individuals are capable of taking concrete steps to realize their goals and make a lasting positive impact.

People with this personality type tend to see helping others as their purpose in life. Advocates can often be found engaging in rescue efforts and doing charity work. However, their real passion is to get to the heart of the issue so that people need not be rescued at all.

My personality makeup was as follows:

  • 78% introverted, 22% extraverted
  • 64% intuitive, 36% observant
  • 51% feeling, 49% thinking
  • 75% judging, 25% prospecting
  • 71% turbulent, 29% assertive

To learn more about my Myers-Briggs personality type, please go to https://www.16personalities.com/infj-personality

HEXACO Personality Inventory

The HEXACO personality inventory provided a much more detailed analysis of my personality type, providing a point on a range and where I sit relative to others on a spectrum.

The results are too detailed to list here, however the main takeaways were:

  • High on honesty and humility
  • Low on emotionality
  • Slightly lower than the median on extraversion
  • Low on agreeableness, however I dispute with this 😉
  • Very high on conscientiousness
  • And a low on openness to experience

To see the results in detail please see the exported results here and here

VARK learning style test

The VARK learning style test classified me as a multimodal learner, preferring a range of styles rather than one, trending towards visual and kinaesthetic learning. My result seems to reflect reality, where I will often watch online courses and then work through additional examples to cement the learning. I will resort to white papers, documentation, and articles where I must, however, prefer the “watch then do and repeat” way of learning.

My scores were as follows:

  • Visual: 11
  • Aural: 6
  • Read/Write: 6
  • Kinaesthetic: 13

To learn more about multimodal learners, go to http://vark-learn.com/strategies/multimodal-strategies


References

  1. A. Grant Ph.D. (2013).
    Goodbye to MBTI, the Fad That Won’t Die. [online]
    Psychology Today.
    Available at: https://www.psychologytoday.com/au/blog/give-and-take/201309/goodbye-mbti-the-fad-won-t-die
    [Accessed 31 Aug. 2019].
  2. O. Khazan. (2018).
    The Myth of 'Learning Styles'. [online]
    The Atlantic.
    Available at: https://www.theatlantic.com/science/archive/2018/04/the-myth-of-learning-styles/557687
    [Accessed 31 Aug. 2019].

Project

Work hub application

Motivation

Office environments have multiple ways of communicating, including email, IM, VoIP, etc. When these sources are intermingled with appointments, reminders, and tasks, it can be overwhelming to stay on top of key information and perform job responsibilities without distraction.

Additionally, not every communication is equally important, or requires immediate attention, the University of California states that only 30% of email requires attention yet spend 23% of their days actioning email[1].

Psychology Today states that task switching can cost 40% of productivity[2], detrimentally affecting core job output. Yet, inaction or delay in important communications, from an awaited email or IM response, to inaction on task allocations in PM platforms, can have exponential flow-on effects for the teams and organisations productivity.

Overview

I propose developing a website that will integrate with productivity application APIs, and email servers, to provide a central information hub. The end user can consult this hub to provide a consolidated view of all notifications so that they can, view all important messages, appointments, and reminders.

This website will operate as either a wallboard, or as an interactive dashboard, providing constant updates to the user’s currently assigned work items, meeting requests, and important unread communications.

The system will also provide more generic information, such as time, date, news, and weather, avoiding further distractions or task switching.

Description

The key features of the application will be:

Appointment management
  • The application will show any currently running appointment and how long it has left to go
  • The next appointment time, a countdown to the commencement of that appointment, and where it is
  • A list of subsequent appointments for the rest of the day
Messages
  • The number of unread IM notifications for multiple providers by total, and from contacts regularly interacted with. Some of these IM providers may include Slack, Microsoft Teams, Facebook Messenger, and others
  • The number of unread email messages by total, and from contacts regularly interacted with. Some of these email providers and technologies may include, POP, IMAP, Gmail, Office 365, and others
Development work items
  • Pull requests waiting on source code PaaS platforms. Some of these PaaS providers might include GitHub, Bitbucket, CodeCommit, and others
  • Hooks into Jira to show assigned items broken up by status (e.g. backlog, development, testing, etc.)
To do items
  • Assigned and incomplete task items from SaaS task platforms. Some of these platforms might include Trello, Todoist, Office 365, Gmail, and others
Geo-location relevant information
  • Can be set either by the browser’s location or manually via user settings
  • The current date, time, and weather
  • The current day’s weather forecast
  • The next three-day weather forecast
  • A local and international news ticker, with configurable source sites, and content categories

Security and usability will be a permanent concern for the application. To ensure the application is usable and desirable, the application will need:

Multiple layers of best-practice security
  • Allow logging in via social providers via OpenID Connect best practice (e.g. login with Google, Facebook, Microsoft, GitHub, etc.)
  • The application should store no credentials unless completely necessary, thus authentication to SaaS and PaaS platforms should be through OAuth 2.0 flows, ensuring API access is done with the user's approval
  • Where credential storage is needed (e.g. POP and IMAP synchronisation), securely storing reversibly encrypted credentials will be done outside the application, and in a secure HSM or equivalent device. Keys to the encrypted storage should be rotated on a regular basis and individual to the user
  • The application should support local privacy laws, such as HIPPA, GDPR and ISO/IEC 27001
  • All data synchronisation with third-party providers should be down outside the publicly accessible application, in a private subnet
Accessible on multiple devices, and by multiple user profiles
  • The site must have a reactive UI, so that the site works on multiple devices, of varying resolution and aspect ratios
  • Have a touch and desktop interface, so that the functionality is accessible on portable devices, as easily as it is on desktops
  • Support impaired users through modern web development practices, making the site accessible by those with low vision or poor motor control
  • Support native languages in countries the application is available in, such as English, Chinese, Hindi, Japanese, French, German, and Italian
As close to zero downtime as possible
  • Utilising the auto-healing features of cloud platforms, such as PaaS services like Kubernetes, or FaaS services like AWS Lambda
  • Geographically dispersed deployment, ensuring that if one datacentre goes offline, others can compensate for the load
  • Scaling to demand, ensuring that application resources directly correlate with the usage patterns. This will additionally reduce cost, as the application will use minimal resources, especially in low demand periods such as weekends

Skills Required

  • Experience in git
  • One programming language capable of running on Linux (e.g. Java, .Net Core, JavaScript, Python, etc.) that can operate as a backend application
  • One programming language that can act as a web front end (e.g. JavaScript or Web Assembly compliable language)
  • Experience in storing and retrieving data in a database
  • Experience in building responsively designed web pages
  • Experience in building serverless application backends
  • Experience in building continuous integration and delivery pipelines
  • Experience in a cloud provider, such as AWS, Azure or GCP
  • Experience in generating and calling RESTful and GraphQL APIs
  • Experience in calling Exchange, IMAP, and iCal servers
  • Experience in Docker containerisation and FaaS development
  • Experience in OpenID Connect and social login providers (e.g. sign in with Google, Facebook, GitHub, etc.)

Tools and Technology

  • PC or Mac capable of running modern IDEs and web browsers and web applications
  • One programming language capable of running on Linux (e.g. Java, .Net Core, JavaScript, Python, etc.) that can operate as a backend application
  • One programming language that can act as a web front end (e.g. JavaScript or Web Assembly compliable language)
  • One database technology (e.g. Postgres, MySQL, Cassandra, DynamoDB or MongoDB)
  • A location to host source code (e.g. GitHub, GitLab or AWS CodeCommit)
  • A hosting provider such as AWS, Azure of GCP
  • A continuous deployment platform (e.g. Jenkins, BuildKite or Bamboo)
  • An IDE that supports backend code development (e.g. Visual Studio Code, IntelliJ or PyCharm)
  • An IDE that supports front-end code development (e.g. Visual Studio Code, IntelliJ WebStorm or Reactide)

Outcome

Through consolidating communication streams into a single, digestible overview, this application will:

  • Reduce the time needed to continually switch between communication mechanisms, freeing users to focus on more valuable work
  • Reduce or eliminate missed correspondence, helping users to ensure better coverage of their work-related communications
  • Lessen the distraction of multiple systems arbitrarily distracting its users, reducing unproductive task switching, and enabling a greater velocity of work, in turn, improving the velocity of the organisation the user works for
  • Reduce project rework and misaligned expectations, due to missed communications between individuals or teams
  • Allow better adoption of new and evolving communication streams within organisations, permitting organisations to switch tooling more rapidly, and reducing ghettoising of legacy communication systems and those who still use them

References

  1. Mark, G., Iqbal, S., Czerwinski, M., Johns, P. and Sano, A. (2016).
    Email Duration, Batching and Self-interruption: Patterns of Email Use on Productivity and Stress. [online]
    Ics.uci.edu.
    Available at: https://www.ics.uci.edu/~gmark/Home_page/Publications_files/ CHI%2016%20Email%20Duration.pdf
    [Accessed 7 Sep. 2019].
  2. Weinschenk Ph.D., S. (2019).
    The True Cost Of Multi-Tasking. [online]
    Psychology Today.
    Available at: https://www.psychologytoday.com/au/blog/brain-wise/201209/the-true-cost-multi-tasking
    [Accessed 7 Sep. 2019].

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
	print 'Iteration ' + i;
	deck.shuffle();
	i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form