Compare commits
1
Commits
master
..
42786bdd92
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42786bdd92 |
No files matched your search
@@ -1,5 +1 @@
|
||||
personal_repl-1.1 en 0
|
||||
authoritive authoritative
|
||||
maths Math
|
||||
open-source sponsor's
|
||||
ordinating coordinating
|
||||
+59
-65
@@ -1,75 +1,69 @@
|
||||
personal_ws-1.1 en 74
|
||||
personal_ws-1.1 en 68
|
||||
AAAAA
|
||||
Ansible
|
||||
AnthillPro
|
||||
AppStream
|
||||
Atlassian
|
||||
Calify
|
||||
ChatOps
|
||||
Cloudformation
|
||||
Cloudreach
|
||||
Cloudreach's
|
||||
Cloudwatch
|
||||
CodeDeploy
|
||||
Cognito
|
||||
Config
|
||||
RaspberryPi
|
||||
Grantham
|
||||
DevOps
|
||||
TheMajority
|
||||
canham
|
||||
statefull
|
||||
Jinja
|
||||
ElastiCache
|
||||
FastTrack
|
||||
Atlassian
|
||||
Lamda
|
||||
backends
|
||||
unmanaged
|
||||
Subreddit
|
||||
subreddit
|
||||
Config
|
||||
orchestrator
|
||||
Github
|
||||
Gitlab
|
||||
Gpodder
|
||||
Grantham
|
||||
Heymarket
|
||||
Jinja
|
||||
JuanCanham
|
||||
Kaseya
|
||||
Kaseya's
|
||||
Kubernetes
|
||||
Lamda
|
||||
LinkedIn
|
||||
Milkround
|
||||
Monit
|
||||
Mopidy
|
||||
MusicBox
|
||||
Musicbox
|
||||
NBIM's
|
||||
Norges
|
||||
OAuth
|
||||
Powershell
|
||||
RaspberryPi
|
||||
Rekognition
|
||||
Sceptre
|
||||
Serverless
|
||||
Subreddit
|
||||
Supporttree
|
||||
SysOps
|
||||
SystemD
|
||||
Terraform
|
||||
TheMajority
|
||||
backend
|
||||
backends
|
||||
canham
|
||||
countryCode
|
||||
datacentre
|
||||
endDate
|
||||
frontend
|
||||
hackathon
|
||||
hackathons
|
||||
knowledgebase
|
||||
natively
|
||||
orchestrator
|
||||
piRobotWars
|
||||
prototyped
|
||||
Calify
|
||||
Cloudwatch
|
||||
JuanCanham
|
||||
pythonic
|
||||
Cloudreach
|
||||
Serverless
|
||||
serverless
|
||||
skunkworks
|
||||
startDate
|
||||
statefull
|
||||
countryCode
|
||||
SysOps
|
||||
Powershell
|
||||
Monit
|
||||
Kaseya's
|
||||
endDate
|
||||
studyType
|
||||
subreddit
|
||||
subskills
|
||||
unmanaged
|
||||
virtualised
|
||||
webapp
|
||||
Cloudreach's
|
||||
FastTrack
|
||||
piRobotWars
|
||||
Cloudformation
|
||||
frontend
|
||||
knowledgebase
|
||||
Supporttree
|
||||
whitepapers
|
||||
prototyped
|
||||
datacentre
|
||||
skunkworks
|
||||
Milkround
|
||||
virtualised
|
||||
Heymarket
|
||||
Mopidy
|
||||
CodeDeploy
|
||||
Kaseya
|
||||
subskills
|
||||
hackathons
|
||||
ChatOps
|
||||
AppStream
|
||||
SystemD
|
||||
Musicbox
|
||||
MusicBox
|
||||
Norges
|
||||
AnthillPro
|
||||
hackathon
|
||||
LinkedIn
|
||||
NBIM's
|
||||
natively
|
||||
startDate
|
||||
Kubernetes
|
||||
Terraform
|
||||
Ansible
|
||||
@@ -1,4 +1,3 @@
|
||||
node_modules/
|
||||
dist/
|
||||
*~
|
||||
*.bak
|
||||
@@ -1,2 +0,0 @@
|
||||
[filtering]
|
||||
ignorewarnings=url-whitespace
|
||||
@@ -9,7 +9,7 @@ help:
|
||||
@echo ' * all [clean install deploy-full]'
|
||||
@echo ' * local [lint validate build test]'
|
||||
@echo ' * deploy - does not clear the CDN'
|
||||
@echo ' * deploy-full [local deploy clear post-test]'
|
||||
@echo ' * deploy-full [deploy clear post-test]'
|
||||
@echo ' * mrproper - removes node_modues'
|
||||
|
||||
all: clean install deploy-full
|
||||
@@ -36,11 +36,10 @@ 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/*~ || true
|
||||
rm dist/images/*~
|
||||
|
||||
validate: prepare
|
||||
$(hackmyresume) validate dist/resume.json
|
||||
@@ -52,7 +51,7 @@ build: prepare
|
||||
test:
|
||||
$(linkchecker) dist/resume.html
|
||||
|
||||
deploy:
|
||||
deploy: local
|
||||
./deploy/deploy-cloudformation.sh $(SITENAME)
|
||||
aws s3 sync --delete dist/ s3://$(subst .,-,$(SITENAME))
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ This repository contains
|
||||
* [A script to preform arbitrary transforms on yaml](transform.py)
|
||||
* The tools to generate my host my CV:
|
||||
* [cloudformation templates](deploy/cloudformation/)
|
||||
* [scripts used to deploy them](deploy/)
|
||||
* [scripts used to deploy them]((deploy/)
|
||||
* [A makefile to tie it all together](Makefile)
|
||||
|
||||
|
||||
|
||||
@@ -4,14 +4,16 @@ Email: cv@juancanham.com
|
||||
|
||||
Web: https://cv.juancanham.com
|
||||
|
||||
A Cloud Engineer & Developer, with experience at a variety of companies, across a range of technologies
|
||||
A Pragmatic Cloud "DevOps" Engineer, 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.
|
||||
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.
|
||||
|
||||
|
||||
## SKILLS
|
||||
|
||||
- Programming: Python Ruby Bash JavaScript Dart Apex/Java Other Languages
|
||||
- Programming: Python Ruby Bash JavaScript 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
|
||||
@@ -22,24 +24,11 @@ Capable of wearing whatever hat is needed for a given job.
|
||||
### *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
|
||||
- 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
|
||||
- Quickly Built a tool to view twitter exports
|
||||
- Begun work on a module
|
||||
- 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.
|
||||
@@ -56,7 +45,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
|
||||
@@ -69,7 +58,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](http://supporttree.co.uk) (2010-01 — 2012-02)
|
||||
### *Support Engineer*, [Supporttree](https://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
|
||||
@@ -99,11 +88,9 @@ Full support for small businesses including end user systems, on-premise servers
|
||||
|
||||
## INTERESTS
|
||||
|
||||
- VOLUNTEERING
|
||||
|
||||
- OPEN SOURCE & LINUX
|
||||
|
||||
- TRAVELING
|
||||
- TRAVELLING
|
||||
|
||||
- PUNK ROCK, POLITICS & THE PUB
|
||||
|
||||
|
||||
+1
-1
@@ -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()
|
||||
|
||||
Generated
-14938
File diff suppressed because it is too large.
Load diff
+7
-5
@@ -3,14 +3,16 @@
|
||||
"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",
|
||||
"hackmyresume": "^1.8.0",
|
||||
"kcv-cli": "^1.3.0",
|
||||
"kcv-theme-fresh": "^0.0.4",
|
||||
"resume-cli": "^3.0.6"
|
||||
"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",
|
||||
"fresh-themes": "git+https://git.juancanham.com/JuanCanham/fresh-themes.git#feature/certifications",
|
||||
},
|
||||
"devDependencies": {},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
|
||||
@@ -5,5 +5,3 @@ pylint==2.*
|
||||
qrcode==6.*
|
||||
yamllint==1.20.*
|
||||
image==1.5.28
|
||||
yq==2.*
|
||||
niet==2.4.*
|
||||
+12
-39
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"basics": {
|
||||
"name": "Juan Barry Manual Canham",
|
||||
"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",
|
||||
"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",
|
||||
"website": "https://cv.juancanham.com",
|
||||
"email": "cv@juancanham.com",
|
||||
"picture": "images/QR.png",
|
||||
"location": {
|
||||
"city": "Oakland",
|
||||
"countryCode": "United States of America",
|
||||
"region": "NA"
|
||||
"city": "London",
|
||||
"countryCode": "England",
|
||||
"region": "EU"
|
||||
},
|
||||
"profiles": [
|
||||
{
|
||||
@@ -37,32 +37,12 @@
|
||||
"startDate": "2019-07",
|
||||
"summary": "Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools",
|
||||
"highlights": [
|
||||
"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",
|
||||
"Quickly Built a tool to view twitter exports",
|
||||
"Begun work on a module",
|
||||
"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",
|
||||
@@ -95,6 +75,7 @@
|
||||
"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",
|
||||
@@ -117,7 +98,7 @@
|
||||
},
|
||||
{
|
||||
"company": "Supporttree",
|
||||
"website": "http://supporttree.co.uk",
|
||||
"website": "https://supporttree.co.uk",
|
||||
"position": "Support Engineer",
|
||||
"startDate": "2010-01",
|
||||
"endDate": "2012-02",
|
||||
@@ -138,8 +119,8 @@
|
||||
"institution": "King's School Grantham",
|
||||
"gpa": "AAAAA",
|
||||
"courses": [
|
||||
"Math",
|
||||
"Further Math",
|
||||
"Maths",
|
||||
"Further Maths",
|
||||
"Physics",
|
||||
"Chemistry",
|
||||
"Spanish"
|
||||
@@ -173,11 +154,6 @@
|
||||
"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",
|
||||
@@ -320,14 +296,11 @@
|
||||
}
|
||||
],
|
||||
"interests": [
|
||||
{
|
||||
"name": "Volunteering"
|
||||
},
|
||||
{
|
||||
"name": "Open Source & Linux"
|
||||
},
|
||||
{
|
||||
"name": "Traveling"
|
||||
"name": "Travelling"
|
||||
},
|
||||
{
|
||||
"name": "Punk Rock, Politics & the Pub"
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"name": "Juan Barry Manual Canham", "contact": {"email": "cv@juancanham.com", "website": "https://cv.juancanham.com"}, "info": {"label": "Cloud Engineer", "image": "images/QR.png", "brief": "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"}, "location": {"city": "Oakland", "county": "Alameda", "state": "California", "country": "United States of America", "region": "NA", "countryCode": "US"}, "social": [{"label": "Git", "network": "Git", "user": "jc", "url": "http://git.juancanham.com/"}, {"label": "LinkedIn", "network": "LinkedIn", "user": "juan-canham-aa005a51", "url": "https://www.linkedin.com/in/juan-canham-aa005a51/"}, {"label": "Github", "network": "Github", "user": "JuanCanham", "url": "https://github.com/juancanham"}], "certifications": [{"organization": "AWS", "certificates": [{"name": "Solutions Architect", "level": "Professional", "logo": "AWS-Solutions-Architect-Pro.png"}, {"name": "DevOps", "level": "Professional", "logo": "AWS-DevOps-Pro.png"}, {"name": "Solutions Architect", "level": "Associate", "logo": "AWS-Solutions-Architect-Associate.png"}, {"name": "SysOps Administrator", "level": "Associate", "logo": "AWS-Sysops-Associate.png"}, {"name": "Developer", "level": "Associate", "logo": "AWS-Developer-Associate.png"}]}, {"organization": "Google", "certificates": [{"name": "Cloud Architect", "level": "Professional", "logo": "GCP-Cloud-Architect-Pro.png"}, {"name": "Data Engineer", "level": "Professional", "logo": "GCP-Data-Engineer-Pro.png"}, {"name": "Google Apps Deployment Specialist"}]}, {"organization": "Linux Professional Institute", "certificates": [{"name": "LPCI-1", "logo": "LPCI-1.png"}]}, {"organization": "Salesforce", "certificates": [{"name": "Force.com Developer", "logo": "Salesforce-Platform-Developer.png"}, {"name": "Administrator", "logo": "Salesforce-administrator.png"}]}, {"organization": "Microsoft", "certificates": [{"name": "Windows 7, Configuration", "level": "Microsoft Certified Technology Specialist"}]}], "employment": {"summary": "10+ years cloud infrastructure experience as developer, engineer, technical lead & architect", "history": [{"employer": "Self", "url": "https://juancanham.com", "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": ["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.\nMobile app built on Flutter/Dart with support for Android & iOS, but only built on Android for now.\nThe app combined camera & location data, with a combination of authoritative and user submitted data to inform users about\nthe venues which the app supported.\nThe backend was provided by GCP, entirely storage based for scale & cost purposes, using Firebase for authentication.\nWhile the project is currently still a prototype, the front & backend are functional.\n", "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/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", "summary": "Website generator combining markdown, Jinja & yaml. Also a website about proportional representation", "url": "https://gitlab.com/TheMajority/themajority.uk"}, {"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": Line truncated
|
||||
{"name": "Juan Barry Manual Canham", "contact": {"email": "cv@juancanham.com", "website": "https://cv.juancanham.com"}, "info": {"label": "Cloud \"DevOps\" Engineer", "image": "images/QR.png", "brief": "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"}, "location": {"city": "London", "county": "Greater London", "country": "England", "region": "EU", "countryCode": "GB"}, "social": [{"label": "Git", "network": "Git", "user": "jc", "url": "http://git.juancanham.com/"}, {"label": "LinkedIn", "network": "LinkedIn", "user": "juan-canham-aa005a51", "url": "https://www.linkedin.com/in/juan-canham-aa005a51/"}, {"label": "Github", "network": "Github", "user": "JuanCanham", "url": "https://github.com/juancanham"}], "certifications": [{"organisation": "AWS", "certificates": [{"name": "Solutions Architect", "level": "Professional", "logo": "AWS-Solutions-Architect-Pro.png"}, {"name": "DevOps", "level": "Professional", "logo": "AWS-DevOps-Pro.png"}, {"name": "Solutions Architect", "level": "Associate", "logo": "AWS-Solutions-Architect-Associate.png"}, {"name": "SysOps Administrator", "level": "Associate", "logo": "AWS-Sysops-Associate.png"}, {"name": "Developer", "level": "Associate", "logo": "AWS-Developer-Associate.png"}]}, {"organisation": "Google", "certificates": [{"name": "Cloud Architect", "level": "Professional", "logo": "GCP-Cloud-Architect-Pro.png"}, {"name": "Data Engineer", "level": "Professional", "logo": "GCP-Data-Engineer-Pro.png"}, {"name": "Google Apps Deployment Specialist"}]}, {"organisation": "Linux Professional Institute", "certificates": [{"name": "LPCI-1", "logo": "LPCI-1.png"}]}, {"organisation": "Salesforce", "certificates": [{"name": "Force.com Developer", "logo": "Salesforce-Platform-Developer.png"}, {"name": "Administrator", "logo": "Salesforce-administrator.png"}]}, {"organisation": "Microsoft", "certificates": [{"name": "Windows 7, Configuration", "level": "Microsoft Certified Technology Specialist"}]}], "employment": {"summary": "9+ years cloud infrastructure experience as 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 website to highlight the problems with FPTP", "Built a tool to monitor activity on toxic internet communities"], "projects": [{"name": "Offline Twitter Export Viewer", "summary": "Simple tool to view twitter exports offline", "url": "https://gitlab.com/RitoingPacifst/offline-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", "summary": "Website generator combining markdown, Jinja & yaml. Also a website about proportional representation", "url": "https://gitlab.com/TheMajority/themajority.uk"}, {"name": "Subreddit Monitor", "summary": "Serverless Python bot, to monitor subreddit activity for cross-posts and notify users"}]}, {"position": "Cloud Systems Developer Lead", "summary": "Worked on customer projects as a Lead/Architect and mentored a small team.", "employer": "Cloudreach", "url": "https://www.cloudreach.com", "description": "Worked on customer projects as a Tech Lead/Architect.\nManaged a team of 3 or 4 engineers within Cloudreach, making sure they got the most out of their role at Cloudreach,\naligning the individuals personal development plans both with Cloudreach's goals and their longer term career trajectories.\nIt was particularly rewarding was getting team members of promoted to Tech-lead level.\n", "start": "2014-03", "end": "2019-07", "keywords": ["Leadership", "Mentoring", "Architect", "Tech Lead"], "highlights": ["Architect on several Enterprise engagement, at companies such as NBIM, BP, News UK, etc.", "Delivered both the architecture and implementation on multiple Cloud Access models", "Managed a team for 4 engineers, helping them get the most out of working for Cloudreach", "Helped run a city government hackathon (TFL)"], "projects": [{"name": "Cloud Migration", "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 standardiseLine truncated
|
||||
+51
-79
@@ -5,19 +5,21 @@ contact:
|
||||
website: https://cv.juancanham.com
|
||||
|
||||
info:
|
||||
label: Cloud Engineer
|
||||
label: Cloud "DevOps" Engineer
|
||||
image: images/QR.png
|
||||
brief: |
|
||||
A Cloud Engineer & Developer, with experience at a variety of companies, across a range of technologies
|
||||
A Pragmatic Cloud "DevOps" Engineer, 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.
|
||||
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.
|
||||
|
||||
location:
|
||||
city: Oakland
|
||||
county: Alameda
|
||||
state: California
|
||||
country: United States of America
|
||||
region: NA
|
||||
countryCode: US
|
||||
city: London
|
||||
county: Greater London
|
||||
country: England
|
||||
region: EU
|
||||
countryCode: GB
|
||||
|
||||
social:
|
||||
- label: Git
|
||||
@@ -34,7 +36,7 @@ social:
|
||||
url: https://github.com/juancanham
|
||||
|
||||
certifications:
|
||||
- organization: AWS
|
||||
- organisation: AWS
|
||||
certificates:
|
||||
- name: Solutions Architect
|
||||
level: Professional
|
||||
@@ -51,7 +53,7 @@ certifications:
|
||||
- name: Developer
|
||||
level: Associate
|
||||
logo: AWS-Developer-Associate.png
|
||||
- organization: Google
|
||||
- organisation: Google
|
||||
certificates:
|
||||
- name: Cloud Architect
|
||||
level: Professional
|
||||
@@ -60,53 +62,39 @@ certifications:
|
||||
level: Professional
|
||||
logo: GCP-Data-Engineer-Pro.png
|
||||
- name: Google Apps Deployment Specialist
|
||||
- organization: Linux Professional Institute
|
||||
- organisation: Linux Professional Institute
|
||||
certificates:
|
||||
- name: LPCI-1
|
||||
logo: LPCI-1.png
|
||||
- organization: Salesforce
|
||||
- organisation: Salesforce
|
||||
certificates:
|
||||
- name: Force.com Developer
|
||||
logo: Salesforce-Platform-Developer.png
|
||||
- name: Administrator
|
||||
logo: Salesforce-administrator.png
|
||||
- organization: Microsoft
|
||||
- organisation: Microsoft
|
||||
certificates:
|
||||
- name: Windows 7, Configuration
|
||||
level: Microsoft Certified Technology Specialist
|
||||
|
||||
employment:
|
||||
summary: "10+ years cloud infrastructure experience as developer, engineer, technical lead & architect"
|
||||
summary: "9+ years cloud infrastructure experience as 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:
|
||||
- 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
|
||||
- Quickly Built a tool to view twitter exports
|
||||
- Begun work on a module
|
||||
- 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/RiotingPacifist/twitter-export-viewer
|
||||
url: https://gitlab.com/RitoingPacifst/offline-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
|
||||
@@ -115,31 +103,6 @@ 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.
|
||||
@@ -147,7 +110,9 @@ 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.
|
||||
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.
|
||||
start: 2014-03
|
||||
end: 2019-07
|
||||
keywords: [Leadership, Mentoring, Architect, Tech Lead]
|
||||
@@ -161,7 +126,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 standardized pipeline approach in order to
|
||||
NBIM had an aggressive migration strategy, based on a standardised 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.
|
||||
@@ -222,7 +187,8 @@ 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.
|
||||
This included both technical tooling and non-technical initiatives, processes, such as training programs,
|
||||
interview processes and the graduate program.
|
||||
start: 2016-06
|
||||
end: 2019-07
|
||||
keywords: [Strategy, Vision, Internal, Personal Development]
|
||||
@@ -256,26 +222,32 @@ employment:
|
||||
summary: Responsible for refining and updating the interview process
|
||||
description: |
|
||||
Refined the interview process through two major iterations,
|
||||
First standardizing the process across all our European and American offices,
|
||||
First standardising 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: |
|
||||
Standardizing the company on a single chat and knowledge base, made it much easier for new colleagues to get up to
|
||||
Standardising 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 organize events (both globally and office specific).
|
||||
however it also helped organise 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
|
||||
@@ -319,7 +291,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 customizing Salesforce objects/processes and writing apex triggers and classes
|
||||
This involved both customising Salesforce objects/processes and writing apex triggers and classes
|
||||
(along with the tests required by the platform).
|
||||
keywords: [Processes]
|
||||
technologies: [Salesforce, Apex, SOQL]
|
||||
@@ -333,7 +305,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 standardize on the platform where practical.
|
||||
helping other teams standardise 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
|
||||
@@ -349,21 +321,25 @@ employment:
|
||||
summary: Helped migrate various customers between Google Apps accounts
|
||||
keywords: [Migration, User Facing]
|
||||
technologies: [Google Apps, Python, AWS]
|
||||
- name: Teletext Holidays Optimization
|
||||
- name: Teletext Holidays Optimisation
|
||||
customer: Teletext Holidays
|
||||
summary: Provided guidance and recommendations for frontend optimization of the Teletext Holidays website
|
||||
keywords: [Frontend, Web, Optimization]
|
||||
summary: Provided guidance and recommendations for frontend optimisation of the Teletext Holidays website
|
||||
keywords: [Frontend, Web, Optimisation]
|
||||
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) for small businesses.
|
||||
In addition to end-user support, also implemented several projects & pushed for automation whenever possible.
|
||||
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.
|
||||
start: 2010-01
|
||||
end: 2012-02
|
||||
url: http://supporttree.co.uk
|
||||
url: https://supporttree.co.uk
|
||||
keywords: [User Facing]
|
||||
technologies: [Windows, OS X, Linux, Networking]
|
||||
highlights:
|
||||
- Worked in a user facing role, for a variety of small businesses
|
||||
@@ -382,8 +358,8 @@ education:
|
||||
end: 2006-07
|
||||
grade: AAAAA
|
||||
curriculum:
|
||||
- Math
|
||||
- Further Math
|
||||
- Maths
|
||||
- Further Maths
|
||||
- Physics
|
||||
- Chemistry
|
||||
- Spanish
|
||||
@@ -406,9 +382,6 @@ 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
|
||||
@@ -497,9 +470,8 @@ languages:
|
||||
fluency: Native
|
||||
|
||||
interests:
|
||||
- name: Volunteering
|
||||
- name: Open Source & Linux
|
||||
- name: Traveling
|
||||
- name: Travelling
|
||||
- name: Punk Rock, Politics & the Pub
|
||||
|
||||
meta:
|
||||
|
||||
+6
-6
@@ -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.riotingpacifist.net/JuanCanham/juan-canham-resume/src/branch/master/Resume.md
|
||||
url: https://git.juancanham.com/JuanCanham/juan-canham-resume/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
|
||||
|
||||
+3
-3
@@ -10,7 +10,7 @@ import yaml
|
||||
|
||||
# pylint: disable=missing-function-docstring
|
||||
def main():
|
||||
with open("resume.yaml", encoding="utf-8") as file:
|
||||
with open("resume.yaml") 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", encoding="utf-8") as file:
|
||||
with open(filename, "w") as file:
|
||||
json.dump(data, file)
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ def make_fresh(data):
|
||||
|
||||
|
||||
def make_full(data):
|
||||
with open("settings.yaml", encoding="utf-8") as file:
|
||||
with open("settings.yaml") as file:
|
||||
data["settings"] = yaml.load(file, Loader=yaml.BaseLoader)
|
||||
|
||||
tags = data.get("tags", [])
|
||||
|
||||
Reference in new issue
Block a user