Compare commits
4 Commits
83033b0cb6
...
master
Author | SHA1 | Date | |
---|---|---|---|
aa860dc876 | |||
f9af7f5ecf | |||
0c154cf32a | |||
91f58fd1da |
@ -1 +1,5 @@
|
||||
personal_repl-1.1 en 0
|
||||
authoritive authoritative
|
||||
maths Math
|
||||
open-source sponsor's
|
||||
ordinating coordinating
|
||||
|
126
.aspell.en.pws
126
.aspell.en.pws
@ -1,69 +1,75 @@
|
||||
personal_ws-1.1 en 68
|
||||
personal_ws-1.1 en 74
|
||||
AAAAA
|
||||
RaspberryPi
|
||||
Grantham
|
||||
DevOps
|
||||
TheMajority
|
||||
canham
|
||||
statefull
|
||||
Jinja
|
||||
ElastiCache
|
||||
Ansible
|
||||
AnthillPro
|
||||
AppStream
|
||||
Atlassian
|
||||
Lamda
|
||||
backends
|
||||
unmanaged
|
||||
Subreddit
|
||||
subreddit
|
||||
Calify
|
||||
ChatOps
|
||||
Cloudformation
|
||||
Cloudreach
|
||||
Cloudreach's
|
||||
Cloudwatch
|
||||
CodeDeploy
|
||||
Cognito
|
||||
Config
|
||||
orchestrator
|
||||
DevOps
|
||||
ElastiCache
|
||||
FastTrack
|
||||
Github
|
||||
Gitlab
|
||||
Rekognition
|
||||
Calify
|
||||
Cloudwatch
|
||||
JuanCanham
|
||||
pythonic
|
||||
Cloudreach
|
||||
Serverless
|
||||
serverless
|
||||
countryCode
|
||||
SysOps
|
||||
Powershell
|
||||
Monit
|
||||
Kaseya's
|
||||
endDate
|
||||
studyType
|
||||
Cloudreach's
|
||||
FastTrack
|
||||
piRobotWars
|
||||
Cloudformation
|
||||
frontend
|
||||
knowledgebase
|
||||
Supporttree
|
||||
whitepapers
|
||||
prototyped
|
||||
datacentre
|
||||
skunkworks
|
||||
Milkround
|
||||
virtualised
|
||||
Gpodder
|
||||
Grantham
|
||||
Heymarket
|
||||
Mopidy
|
||||
CodeDeploy
|
||||
Jinja
|
||||
JuanCanham
|
||||
Kaseya
|
||||
subskills
|
||||
hackathons
|
||||
ChatOps
|
||||
AppStream
|
||||
SystemD
|
||||
Musicbox
|
||||
MusicBox
|
||||
Norges
|
||||
AnthillPro
|
||||
hackathon
|
||||
LinkedIn
|
||||
NBIM's
|
||||
natively
|
||||
startDate
|
||||
Kaseya's
|
||||
Kubernetes
|
||||
Lamda
|
||||
LinkedIn
|
||||
Milkround
|
||||
Monit
|
||||
Mopidy
|
||||
MusicBox
|
||||
Musicbox
|
||||
NBIM's
|
||||
Norges
|
||||
OAuth
|
||||
Powershell
|
||||
RaspberryPi
|
||||
Rekognition
|
||||
Sceptre
|
||||
Serverless
|
||||
Subreddit
|
||||
Supporttree
|
||||
SysOps
|
||||
SystemD
|
||||
Terraform
|
||||
Ansible
|
||||
TheMajority
|
||||
backend
|
||||
backends
|
||||
canham
|
||||
countryCode
|
||||
datacentre
|
||||
endDate
|
||||
frontend
|
||||
hackathon
|
||||
hackathons
|
||||
knowledgebase
|
||||
natively
|
||||
orchestrator
|
||||
piRobotWars
|
||||
prototyped
|
||||
pythonic
|
||||
serverless
|
||||
skunkworks
|
||||
startDate
|
||||
statefull
|
||||
studyType
|
||||
subreddit
|
||||
subskills
|
||||
unmanaged
|
||||
virtualised
|
||||
webapp
|
||||
whitepapers
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
node_modules/
|
||||
dist/
|
||||
*~
|
||||
*.bak
|
||||
|
2
.linkcheckerrc
Normal file
2
.linkcheckerrc
Normal file
@ -0,0 +1,2 @@
|
||||
[filtering]
|
||||
ignorewarnings=url-whitespace
|
3
Makefile
3
Makefile
@ -36,10 +36,11 @@ lint:
|
||||
cfn-lint deploy/cloudformation/*
|
||||
|
||||
prepare: clean resume.yaml
|
||||
mkdir -p dist/images/
|
||||
./transform.py
|
||||
./generate_qrcode.py "https://$(SITENAME)" QR
|
||||
cp -r images dist/
|
||||
rm dist/images/*~
|
||||
rm dist/images/*~ || true
|
||||
|
||||
validate: prepare
|
||||
$(hackmyresume) validate dist/resume.json
|
||||
|
33
Resume.md
33
Resume.md
@ -4,16 +4,14 @@ Email: cv@juancanham.com
|
||||
|
||||
Web: https://cv.juancanham.com
|
||||
|
||||
A Pragmatic Cloud "DevOps" Engineer, with experience at a variety of companies, across a range of technologies
|
||||
A Cloud Engineer & Developer, with experience at a variety of companies, across a range of technologies
|
||||
driving both technological change as well as business focused outcomes.
|
||||
Capable of wearing whatever hat is needed for a given job, primarily working as both:
|
||||
* an architect, aligning the technical solutions to the customers requirements
|
||||
* a technical lead, both delivering code and guiding/mentoring/supporting teams as required.
|
||||
Capable of wearing whatever hat is needed for a given job.
|
||||
|
||||
|
||||
## SKILLS
|
||||
|
||||
- Programming: Python Ruby Bash JavaScript Apex/Java Other Languages
|
||||
- Programming: Python Ruby Bash JavaScript Dart Apex/Java Other Languages
|
||||
- AWS: Cloudformation IAM Lambda DynamoDB Core AWS services Additional AWS services
|
||||
- DevOps tools and methodologies: IaC Immutability Configuration Management TDD - Infrastructure TDD - Application Build systems Containers Init systems Agile
|
||||
- Google: GCP Google deployment manager Google App Engine Google Apps
|
||||
@ -24,11 +22,24 @@ Capable of wearing whatever hat is needed for a given job, primarily working as
|
||||
### *Open Source Developer*, [Self](https://juancanham.com) (2019-07 — Present)
|
||||
|
||||
Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools
|
||||
- Quickly Built a tool to view twitter exports
|
||||
- Begun work on a module
|
||||
- Built a mobile app to showcase user sourced data, using Flutter and Dart
|
||||
- Contributed to existing open source projects such as Gpodder and Gpodder.net
|
||||
- Built a tool to view twitter exports
|
||||
- Built a website to highlight the problems with FPTP
|
||||
- Built a tool to monitor activity on toxic internet communities
|
||||
|
||||
### *Volunteer & Volunteer Coordinator*, (2022-01 — Present)
|
||||
|
||||
Volunteering at various organizations, including coordinating volunteers and donated resources.
|
||||
|
||||
### *Senior Cloud Engineer*, [DPR consulting](https://www.dpr.co.uk/) (2020-04 — 2021-10)
|
||||
|
||||
Full stack developer (including support & infrastructure engineering) for multiple customer facing serverless applications.
|
||||
- Picked up Typescript and React and to deliver front-end improvements
|
||||
- Improved build pipelines, to deliver CI while pushed quality left, by enforcing linting and coverage testing
|
||||
- (Collectively) improved our processes significantly to much better reflect agile best practices
|
||||
- Built and migrated to a multi-account structure with an access account deployed entirely as configuration
|
||||
|
||||
### *Cloud Systems Developer Lead*, [Cloudreach](https://www.cloudreach.com) (2014-03 — 2019-07)
|
||||
|
||||
Worked on customer projects as a Lead/Architect and mentored a small team.
|
||||
@ -45,7 +56,7 @@ Worked with the leadership team to improve the System Developers role.
|
||||
|
||||
### *Internal hackathons/skunkworks Developer*, [Cloudreach](https://www.cloudreach.com) (2012-02 — 2019-07)
|
||||
|
||||
While at Cloudreach, worked on various spikes and hackathons
|
||||
|
||||
- Built Automated tanks that used image recognition to move and fire at each other.
|
||||
- Built various useful internal tools, that remained in use for years
|
||||
- Built a variety of IaC tools, that made deployments easier
|
||||
@ -58,7 +69,7 @@ Worked on technical projects on AWS, Google Apps & Salesforce both individually
|
||||
- Worked across 3 cloud platforms (Google, AWS, Salesforce)
|
||||
- Delivered difficult Google 2 Google migrations on tight deadlines
|
||||
|
||||
### *Support Engineer*, [Supporttree](https://supporttree.co.uk) (2010-01 — 2012-02)
|
||||
### *Support Engineer*, [Supporttree](http://supporttree.co.uk) (2010-01 — 2012-02)
|
||||
|
||||
Full support for small businesses including end user systems, on-premise servers and cloud services.
|
||||
- Worked in a user facing role, for a variety of small businesses
|
||||
@ -88,9 +99,11 @@ Full support for small businesses including end user systems, on-premise servers
|
||||
|
||||
## INTERESTS
|
||||
|
||||
- VOLUNTEERING
|
||||
|
||||
- OPEN SOURCE & LINUX
|
||||
|
||||
- TRAVELLING
|
||||
- TRAVELING
|
||||
|
||||
- PUNK ROCK, POLITICS & THE PUB
|
||||
|
||||
|
@ -6,7 +6,7 @@ from qrcode import QRCode
|
||||
|
||||
|
||||
def generate_qrcode(site, filename):
|
||||
""" Function to generate QR code wth boarder of 1 """
|
||||
"""Function to generate QR code wth boarder of 1"""
|
||||
qrcode = QRCode(border=1)
|
||||
qrcode.add_data(site)
|
||||
qrcode.make()
|
||||
|
14938
package-lock.json
generated
Normal file
14938
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -3,15 +3,14 @@
|
||||
"version": "0.9.0",
|
||||
"description": "Juan Canham's Resume/CV",
|
||||
"dependencies": {
|
||||
"fresh-theme-bootstrap": "git+https://git.juancanham.com/JuanCanham/fresh-theme-bootstrap.git",
|
||||
"fresh-theme-elegant": "git+https://git.juancanham.com/JuanCanham/fresh-theme-elegant.git#feature/interactive",
|
||||
"hackmyresume": "git+https://git.juancanham.com/JuanCanham/HackMyResume.git#juan-canham-json-theme",
|
||||
"jsonresume-theme-modern": "git+https://git.juancanham.com/JuanCanham/jsonresume-theme-modern.git",
|
||||
"kcv-cli": "^1.3.0",
|
||||
"kcv-theme-fresh": "^0.0.4",
|
||||
"resume-cli": "^1.2.7",
|
||||
"jsonresume-theme-modern": "git+https://git.juancanham.com/JuanCanham/jsonresume-theme-modern.git",
|
||||
"fresh-theme-bootstrap": "git+https://git.juancanham.com/JuanCanham/fresh-theme-bootstrap.git",
|
||||
"fresh-theme-elegant": "git+https://git.juancanham.com/JuanCanham/fresh-theme-elegant.git#feature/interactive"
|
||||
"resume-cli": "^3.0.6"
|
||||
},
|
||||
"devDependencies": {},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
|
@ -5,3 +5,5 @@ pylint==2.*
|
||||
qrcode==6.*
|
||||
yamllint==1.20.*
|
||||
image==1.5.28
|
||||
yq==2.*
|
||||
niet==2.4.*
|
||||
|
@ -1,15 +1,15 @@
|
||||
{
|
||||
"basics": {
|
||||
"name": "Juan Barry Manual Canham",
|
||||
"label": "Cloud \"DevOps\" Engineer",
|
||||
"summary": "A Pragmatic Cloud \"DevOps\" Engineer, with experience at a variety of companies, across a range of technologies\ndriving both technological change as well as business focused outcomes.\nCapable of wearing whatever hat is needed for a given job, primarily working as both:\n* an architect, aligning the technical solutions to the customers requirements\n* a technical lead, both delivering code and guiding/mentoring/supporting teams as required.\n",
|
||||
"label": "Cloud Engineer",
|
||||
"summary": "A Cloud Engineer & Developer, with experience at a variety of companies, across a range of technologies\ndriving both technological change as well as business focused outcomes.\nCapable of wearing whatever hat is needed for a given job.\n",
|
||||
"website": "https://cv.juancanham.com",
|
||||
"email": "cv@juancanham.com",
|
||||
"picture": "images/QR.png",
|
||||
"location": {
|
||||
"city": "London",
|
||||
"countryCode": "England",
|
||||
"region": "EU"
|
||||
"city": "Oakland",
|
||||
"countryCode": "United States of America",
|
||||
"region": "NA"
|
||||
},
|
||||
"profiles": [
|
||||
{
|
||||
@ -37,12 +37,32 @@
|
||||
"startDate": "2019-07",
|
||||
"summary": "Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools",
|
||||
"highlights": [
|
||||
"Quickly Built a tool to view twitter exports",
|
||||
"Begun work on a module",
|
||||
"Built a mobile app to showcase user sourced data, using Flutter and Dart",
|
||||
"Contributed to existing open source projects such as Gpodder and Gpodder.net",
|
||||
"Built a tool to view twitter exports",
|
||||
"Built a website to highlight the problems with FPTP",
|
||||
"Built a tool to monitor activity on toxic internet communities"
|
||||
]
|
||||
},
|
||||
{
|
||||
"position": "Volunteer & Volunteer Coordinator",
|
||||
"startDate": "2022-01",
|
||||
"summary": "Volunteering at various organizations, including coordinating volunteers and donated resources."
|
||||
},
|
||||
{
|
||||
"company": "DPR consulting",
|
||||
"website": "https://www.dpr.co.uk/",
|
||||
"position": "Senior Cloud Engineer",
|
||||
"startDate": "2020-04",
|
||||
"endDate": "2021-10",
|
||||
"summary": "Full stack developer (including support & infrastructure engineering) for multiple customer facing serverless applications.",
|
||||
"highlights": [
|
||||
"Picked up Typescript and React and to deliver front-end improvements",
|
||||
"Improved build pipelines, to deliver CI while pushed quality left, by enforcing linting and coverage testing",
|
||||
"(Collectively) improved our processes significantly to much better reflect agile best practices",
|
||||
"Built and migrated to a multi-account structure with an access account deployed entirely as configuration"
|
||||
]
|
||||
},
|
||||
{
|
||||
"company": "Cloudreach",
|
||||
"website": "https://www.cloudreach.com",
|
||||
@ -75,7 +95,6 @@
|
||||
"position": "Internal hackathons/skunkworks Developer",
|
||||
"startDate": "2012-02",
|
||||
"endDate": "2019-07",
|
||||
"summary": "While at Cloudreach, worked on various spikes and hackathons",
|
||||
"highlights": [
|
||||
"Built Automated tanks that used image recognition to move and fire at each other.",
|
||||
"Built various useful internal tools, that remained in use for years",
|
||||
@ -98,7 +117,7 @@
|
||||
},
|
||||
{
|
||||
"company": "Supporttree",
|
||||
"website": "https://supporttree.co.uk",
|
||||
"website": "http://supporttree.co.uk",
|
||||
"position": "Support Engineer",
|
||||
"startDate": "2010-01",
|
||||
"endDate": "2012-02",
|
||||
@ -119,8 +138,8 @@
|
||||
"institution": "King's School Grantham",
|
||||
"gpa": "AAAAA",
|
||||
"courses": [
|
||||
"Maths",
|
||||
"Further Maths",
|
||||
"Math",
|
||||
"Further Math",
|
||||
"Physics",
|
||||
"Chemistry",
|
||||
"Spanish"
|
||||
@ -154,6 +173,11 @@
|
||||
"level": "Knowledgeable",
|
||||
"summary": "Experience with both frontend development and Node to deliver automation"
|
||||
},
|
||||
{
|
||||
"name": "Dart",
|
||||
"level": "Basic",
|
||||
"summary": "Language used for Flutter cross platform mobile platform"
|
||||
},
|
||||
{
|
||||
"name": "Apex/Java",
|
||||
"level": "Basic",
|
||||
@ -296,11 +320,14 @@
|
||||
}
|
||||
],
|
||||
"interests": [
|
||||
{
|
||||
"name": "Volunteering"
|
||||
},
|
||||
{
|
||||
"name": "Open Source & Linux"
|
||||
},
|
||||
{
|
||||
"name": "Travelling"
|
||||
"name": "Traveling"
|
||||
},
|
||||
{
|
||||
"name": "Punk Rock, Politics & the Pub"
|
||||
|
File diff suppressed because one or more lines are too long
130
resume.yaml
130
resume.yaml
@ -5,21 +5,19 @@ contact:
|
||||
website: https://cv.juancanham.com
|
||||
|
||||
info:
|
||||
label: Cloud "DevOps" Engineer
|
||||
label: Cloud Engineer
|
||||
image: images/QR.png
|
||||
brief: |
|
||||
A Pragmatic Cloud "DevOps" Engineer, with experience at a variety of companies, across a range of technologies
|
||||
A Cloud Engineer & Developer, with experience at a variety of companies, across a range of technologies
|
||||
driving both technological change as well as business focused outcomes.
|
||||
Capable of wearing whatever hat is needed for a given job, primarily working as both:
|
||||
* an architect, aligning the technical solutions to the customers requirements
|
||||
* a technical lead, both delivering code and guiding/mentoring/supporting teams as required.
|
||||
|
||||
Capable of wearing whatever hat is needed for a given job.
|
||||
location:
|
||||
city: London
|
||||
county: Greater London
|
||||
country: England
|
||||
region: EU
|
||||
countryCode: GB
|
||||
city: Oakland
|
||||
county: Alameda
|
||||
state: California
|
||||
country: United States of America
|
||||
region: NA
|
||||
countryCode: US
|
||||
|
||||
social:
|
||||
- label: Git
|
||||
@ -36,7 +34,7 @@ social:
|
||||
url: https://github.com/juancanham
|
||||
|
||||
certifications:
|
||||
- organisation: AWS
|
||||
- organization: AWS
|
||||
certificates:
|
||||
- name: Solutions Architect
|
||||
level: Professional
|
||||
@ -53,7 +51,7 @@ certifications:
|
||||
- name: Developer
|
||||
level: Associate
|
||||
logo: AWS-Developer-Associate.png
|
||||
- organisation: Google
|
||||
- organization: Google
|
||||
certificates:
|
||||
- name: Cloud Architect
|
||||
level: Professional
|
||||
@ -62,39 +60,53 @@ certifications:
|
||||
level: Professional
|
||||
logo: GCP-Data-Engineer-Pro.png
|
||||
- name: Google Apps Deployment Specialist
|
||||
- organisation: Linux Professional Institute
|
||||
- organization: Linux Professional Institute
|
||||
certificates:
|
||||
- name: LPCI-1
|
||||
logo: LPCI-1.png
|
||||
- organisation: Salesforce
|
||||
- organization: Salesforce
|
||||
certificates:
|
||||
- name: Force.com Developer
|
||||
logo: Salesforce-Platform-Developer.png
|
||||
- name: Administrator
|
||||
logo: Salesforce-administrator.png
|
||||
- organisation: Microsoft
|
||||
- organization: Microsoft
|
||||
certificates:
|
||||
- name: Windows 7, Configuration
|
||||
level: Microsoft Certified Technology Specialist
|
||||
|
||||
employment:
|
||||
summary: "9+ years cloud infrastructure experience as engineer, technical lead & architect"
|
||||
summary: "10+ years cloud infrastructure experience as developer, engineer, technical lead & architect"
|
||||
history:
|
||||
- employer: Self
|
||||
url: https://juancanham.com
|
||||
technologies: [Cloud, AWS, GCP, Azure, SSO, Open Source]
|
||||
position: Open Source Developer
|
||||
summary: Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools
|
||||
start: 2019-07
|
||||
highlights:
|
||||
- Quickly Built a tool to view twitter exports
|
||||
- Begun work on a module
|
||||
- Built a mobile app to showcase user sourced data, using Flutter and Dart
|
||||
- Contributed to existing open source projects such as Gpodder and Gpodder.net
|
||||
- Built a tool to view twitter exports
|
||||
- Built a website to highlight the problems with FPTP
|
||||
- Built a tool to monitor activity on toxic internet communities
|
||||
projects:
|
||||
- name: Mobile location based-app
|
||||
summary: Mobile app built on Flutter/Dart. With the backend on GCP (Firebase & Storage)
|
||||
description: |
|
||||
Built a prototype app for a customer.
|
||||
Mobile app built on Flutter/Dart with support for Android & iOS, but only built on Android for now.
|
||||
The app combined camera & location data, with a combination of authoritative and user submitted data to inform users about
|
||||
the venues which the app supported.
|
||||
The backend was provided by GCP, entirely storage based for scale & cost purposes, using Firebase for authentication.
|
||||
While the project is currently still a prototype, the front & backend are functional.
|
||||
technologies: [Android, Flutter, Dart, GCP]
|
||||
- name: Gpodder & Gpodder.net updates
|
||||
summary: Contribute bug fixes & features to Gpodder & Gpodder.net
|
||||
url: https://gpodder.net
|
||||
technologies: [Python, GTK, Django]
|
||||
- name: Offline Twitter Export Viewer
|
||||
summary: Simple tool to view twitter exports offline
|
||||
url: https://gitlab.com/RitoingPacifst/offline-twitter-export-viewer
|
||||
url: https://gitlab.com/RiotingPacifist/twitter-export-viewer
|
||||
- name: Generic AWS Saml CLI (WIP)
|
||||
summary: Generic SAML tool for AWS, to work with multiple providers and multiple backends using a modular pythonic design.
|
||||
- name: TheMajority.uk
|
||||
@ -103,6 +115,31 @@ employment:
|
||||
- name: Subreddit Monitor
|
||||
summary: Serverless Python bot, to monitor subreddit activity for cross-posts and notify users
|
||||
|
||||
- position: Volunteer & Volunteer Coordinator
|
||||
summary: Volunteering at various organizations, including coordinating volunteers and donated resources.
|
||||
start: 2022-01
|
||||
|
||||
- employer: DPR consulting
|
||||
url: https://www.dpr.co.uk/
|
||||
technologies: [AWS, Lambda, Typescript, React, Node, OAuth, Cognito, Dynamo, SQL, Cloudformation]
|
||||
position: Senior Cloud Engineer
|
||||
summary: Full stack developer (including support & infrastructure engineering) for multiple customer facing serverless applications.
|
||||
start: 2020-04
|
||||
end: 2021-10
|
||||
highlights:
|
||||
- Picked up Typescript and React and to deliver front-end improvements
|
||||
- Improved build pipelines, to deliver CI while pushed quality left, by enforcing linting and coverage testing
|
||||
- (Collectively) improved our processes significantly to much better reflect agile best practices
|
||||
- Built and migrated to a multi-account structure with an access account deployed entirely as configuration
|
||||
projects:
|
||||
- name: Broker ID
|
||||
url: https://www.brokerid.co.uk/
|
||||
summary: An SSO solution for Mortgage Brokers
|
||||
- name: Broker ID Data
|
||||
url: https://data.brokerid.co.uk
|
||||
summary: Providing information from multiple sources for FCA regulated firms, both via a webapp and in backwards compatible extracts
|
||||
- name: Distribution Hub
|
||||
summary: A service to enable brokers to search and track multiple lender systems mortgage application on
|
||||
|
||||
- position: Cloud Systems Developer Lead
|
||||
summary: Worked on customer projects as a Lead/Architect and mentored a small team.
|
||||
@ -110,9 +147,7 @@ employment:
|
||||
url: https://www.cloudreach.com
|
||||
description: |
|
||||
Worked on customer projects as a Tech Lead/Architect.
|
||||
Managed a team of 3 or 4 engineers within Cloudreach, making sure they got the most out of their role at Cloudreach,
|
||||
aligning the individuals personal development plans both with Cloudreach's goals and their longer term career trajectories.
|
||||
It was particularly rewarding was getting team members of promoted to Tech-lead level.
|
||||
Managed a team of 3 or 4 engineers within Cloudreach, making sure they got the most out of their role.
|
||||
start: 2014-03
|
||||
end: 2019-07
|
||||
keywords: [Leadership, Mentoring, Architect, Tech Lead]
|
||||
@ -126,7 +161,7 @@ employment:
|
||||
customer: Norges Bank Investment Management
|
||||
summary: Formed part of the CCOE supporting NBIM's datacentre exit onto immutable infrastructure in AWS
|
||||
description: |
|
||||
NBIM had an aggressive migration strategy, based on a standardised pipeline approach in order to
|
||||
NBIM had an aggressive migration strategy, based on a standardized pipeline approach in order to
|
||||
re-platform 150 applications into immutably deployed services within 8 months.
|
||||
As part of the CCOE, helped build and maintain the pipeline (Cloudformation, Ansible, Packer, Jinja,
|
||||
Powershell) in order to achieve this.
|
||||
@ -187,8 +222,7 @@ employment:
|
||||
url: https://www.cloudreach.com
|
||||
description: |
|
||||
Worked with the leadership team to improve the System Developers role.
|
||||
This included both technical tooling and non-technical initiatives, processes, such as training programs,
|
||||
interview processes and the graduate program.
|
||||
This included both technical tooling and non-technical initiatives.
|
||||
start: 2016-06
|
||||
end: 2019-07
|
||||
keywords: [Strategy, Vision, Internal, Personal Development]
|
||||
@ -222,32 +256,26 @@ employment:
|
||||
summary: Responsible for refining and updating the interview process
|
||||
description: |
|
||||
Refined the interview process through two major iterations,
|
||||
First standardising the process across all our European and American offices,
|
||||
First standardizing the process across all our European and American offices,
|
||||
being more prescriptive in terms of scoring.
|
||||
The second introduced somewhat objective scoring criteria, while still giving interviewers enough scope to
|
||||
keywords: [Interviews, Metrics]
|
||||
- name: Unified Chatroom system & Knowledge base
|
||||
summary: Helped establish a company wide unified Chatroom system & Knowledge base.
|
||||
description: |
|
||||
Standardising the company on a single chat and knowledge base, made it much easier for new colleagues to get up to
|
||||
Standardizing the company on a single chat and knowledge base, made it much easier for new colleagues to get up to
|
||||
speed. Most of this was focusing on making the case for unifying the tooling (in this case Slack and Atlassian),
|
||||
making sure there was a path forward for all the teams involved that wasn't seen as a regression was important.
|
||||
The end result was much more cross-department knowledge sharing, mostly along technical lines,
|
||||
however it also helped organise events (both globally and office specific).
|
||||
however it also helped organize events (both globally and office specific).
|
||||
keywords: [ChatOps, Knowledge Sharing]
|
||||
technologies: [Slack]
|
||||
|
||||
- position: Internal hackathons/skunkworks Developer
|
||||
summary: While at Cloudreach, worked on various spikes and hackathons
|
||||
employer: Cloudreach
|
||||
url: https://www.cloudreach.com
|
||||
description: |
|
||||
Used various competitions and opportunities to build prototypes to demonstrate feasibility of tools,
|
||||
as they were built over short periods of time, they were not production ready,
|
||||
however they worked and often fed into the approaches used in projects.
|
||||
start: 2012-02
|
||||
end: 2019-07
|
||||
keywords: [hackathon]
|
||||
highlights:
|
||||
- Built Automated tanks that used image recognition to move and fire at each other.
|
||||
- Built various useful internal tools, that remained in use for years
|
||||
@ -291,7 +319,7 @@ employment:
|
||||
Part of the team doing the initial roll out to replace legacy CRM systems, did the initial requirements gathering,
|
||||
then matched the existing processes to those of Salesforce to fully automate the process for transforming
|
||||
digital media leads to cash.
|
||||
This involved both customising Salesforce objects/processes and writing apex triggers and classes
|
||||
This involved both customizing Salesforce objects/processes and writing apex triggers and classes
|
||||
(along with the tests required by the platform).
|
||||
keywords: [Processes]
|
||||
technologies: [Salesforce, Apex, SOQL]
|
||||
@ -305,7 +333,7 @@ employment:
|
||||
developed and rolled out a unified platform & development kit to simplify application and
|
||||
infrastructure, build, deployment, monitoring and support,
|
||||
while reducing the overall support burden at the company by,
|
||||
helping other teams standardise on the platform where practical.
|
||||
helping other teams standardize on the platform where practical.
|
||||
- name: Google to Google Migrations
|
||||
customer: Various (Milkround, News UK, etc)
|
||||
summary: Helped migrate various customers between Google Apps accounts
|
||||
@ -321,25 +349,21 @@ employment:
|
||||
summary: Helped migrate various customers between Google Apps accounts
|
||||
keywords: [Migration, User Facing]
|
||||
technologies: [Google Apps, Python, AWS]
|
||||
- name: Teletext Holidays Optimisation
|
||||
- name: Teletext Holidays Optimization
|
||||
customer: Teletext Holidays
|
||||
summary: Provided guidance and recommendations for frontend optimisation of the Teletext Holidays website
|
||||
keywords: [Frontend, Web, Optimisation]
|
||||
summary: Provided guidance and recommendations for frontend optimization of the Teletext Holidays website
|
||||
keywords: [Frontend, Web, Optimization]
|
||||
technologies: [JavaScript, Web]
|
||||
|
||||
- employer: Supporttree
|
||||
position: Support Engineer
|
||||
summary: Full support for small businesses including end user systems, on-premise servers and cloud services.
|
||||
description: |
|
||||
Providing 1st to 3rd line support of Desktops (Windows and OS X),
|
||||
Server (physical and virtualised) & Services (in-house and cloud based) for small businesses.
|
||||
In addition to end-user support, also implemented several projects.
|
||||
While the main toolkit for automation was Kaseya's custom DSL, pushed for automation whenever possible,
|
||||
usually making use of either custom code or portable GNU tools.
|
||||
Providing 1st to 3rd line support of Desktops (Windows and OS X) for small businesses.
|
||||
In addition to end-user support, also implemented several projects & pushed for automation whenever possible.
|
||||
start: 2010-01
|
||||
end: 2012-02
|
||||
url: https://supporttree.co.uk
|
||||
keywords: [User Facing]
|
||||
url: http://supporttree.co.uk
|
||||
technologies: [Windows, OS X, Linux, Networking]
|
||||
highlights:
|
||||
- Worked in a user facing role, for a variety of small businesses
|
||||
@ -358,8 +382,8 @@ education:
|
||||
end: 2006-07
|
||||
grade: AAAAA
|
||||
curriculum:
|
||||
- Maths
|
||||
- Further Maths
|
||||
- Math
|
||||
- Further Math
|
||||
- Physics
|
||||
- Chemistry
|
||||
- Spanish
|
||||
@ -382,6 +406,9 @@ skills:
|
||||
- name: JavaScript
|
||||
level: Knowledgeable
|
||||
summary: Experience with both frontend development and Node to deliver automation
|
||||
- name: Dart
|
||||
level: Basic
|
||||
summary: Language used for Flutter cross platform mobile platform
|
||||
- name: Apex/Java
|
||||
level: Basic
|
||||
summary: Primary language used for Salesforce development
|
||||
@ -470,8 +497,9 @@ languages:
|
||||
fluency: Native
|
||||
|
||||
interests:
|
||||
- name: Volunteering
|
||||
- name: Open Source & Linux
|
||||
- name: Travelling
|
||||
- name: Traveling
|
||||
- name: Punk Rock, Politics & the Pub
|
||||
|
||||
meta:
|
||||
|
@ -15,9 +15,9 @@ generate:
|
||||
- darkly
|
||||
- superhero
|
||||
- cerulean
|
||||
kcv:
|
||||
- flat
|
||||
- modern
|
||||
kcv: []
|
||||
# - flat
|
||||
# - modern
|
||||
full:
|
||||
plain:
|
||||
- node_modules/fresh-theme-elegant
|
||||
@ -27,7 +27,7 @@ links:
|
||||
- name: PDF
|
||||
url: resume.pdf
|
||||
- name: markdown
|
||||
url: https://git.juancanham.com/JuanCanham/juan-canham-resume/Resume.md
|
||||
url: https://git.riotingpacifist.net/JuanCanham/juan-canham-resume/src/branch/master/Resume.md
|
||||
- name: yaml
|
||||
url: resume.yaml
|
||||
|
||||
@ -40,8 +40,8 @@ links:
|
||||
- Modern
|
||||
- superhero
|
||||
- cerulean
|
||||
- kcv-flat
|
||||
- kcv-modern
|
||||
# - kcv-flat
|
||||
# - kcv-modern
|
||||
- group: formats
|
||||
links:
|
||||
- name: json
|
||||
|
@ -10,7 +10,7 @@ import yaml
|
||||
|
||||
# pylint: disable=missing-function-docstring
|
||||
def main():
|
||||
with open("resume.yaml") as file:
|
||||
with open("resume.yaml", encoding="utf-8") as file:
|
||||
resume = yaml.load(file, Loader=yaml.BaseLoader)
|
||||
|
||||
transform_and_write("full", make_full, resume)
|
||||
@ -19,7 +19,7 @@ def main():
|
||||
|
||||
def write_file(name, data):
|
||||
filename = os.path.join("dist", name + ".json")
|
||||
with open(filename, "w") as file:
|
||||
with open(filename, "w", encoding="utf-8") as file:
|
||||
json.dump(data, file)
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ def make_fresh(data):
|
||||
|
||||
|
||||
def make_full(data):
|
||||
with open("settings.yaml") as file:
|
||||
with open("settings.yaml", encoding="utf-8") as file:
|
||||
data["settings"] = yaml.load(file, Loader=yaml.BaseLoader)
|
||||
|
||||
tags = data.get("tags", [])
|
||||
|
Reference in New Issue
Block a user