Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c154cf32a | ||
|
|
91f58fd1da |
No files matched your search
+63
-60
@@ -1,69 +1,72 @@
|
|||||||
personal_ws-1.1 en 68
|
personal_ws-1.1 en 71
|
||||||
AAAAA
|
AAAAA
|
||||||
RaspberryPi
|
Ansible
|
||||||
Grantham
|
AnthillPro
|
||||||
DevOps
|
AppStream
|
||||||
TheMajority
|
|
||||||
canham
|
|
||||||
statefull
|
|
||||||
Jinja
|
|
||||||
ElastiCache
|
|
||||||
Atlassian
|
Atlassian
|
||||||
Lamda
|
Calify
|
||||||
backends
|
ChatOps
|
||||||
unmanaged
|
Cloudformation
|
||||||
Subreddit
|
Cloudreach
|
||||||
subreddit
|
Cloudreach's
|
||||||
|
Cloudwatch
|
||||||
|
CodeDeploy
|
||||||
|
Cognito
|
||||||
Config
|
Config
|
||||||
orchestrator
|
DevOps
|
||||||
|
ElastiCache
|
||||||
|
FastTrack
|
||||||
Github
|
Github
|
||||||
Gitlab
|
Gitlab
|
||||||
Rekognition
|
Grantham
|
||||||
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
|
|
||||||
Heymarket
|
Heymarket
|
||||||
Mopidy
|
Jinja
|
||||||
CodeDeploy
|
JuanCanham
|
||||||
Kaseya
|
Kaseya
|
||||||
subskills
|
Kaseya's
|
||||||
hackathons
|
|
||||||
ChatOps
|
|
||||||
AppStream
|
|
||||||
SystemD
|
|
||||||
Musicbox
|
|
||||||
MusicBox
|
|
||||||
Norges
|
|
||||||
AnthillPro
|
|
||||||
hackathon
|
|
||||||
LinkedIn
|
|
||||||
NBIM's
|
|
||||||
natively
|
|
||||||
startDate
|
|
||||||
Kubernetes
|
Kubernetes
|
||||||
|
Lamda
|
||||||
|
LinkedIn
|
||||||
|
Milkround
|
||||||
|
Monit
|
||||||
|
Mopidy
|
||||||
|
MusicBox
|
||||||
|
Musicbox
|
||||||
|
NBIM's
|
||||||
|
Norges
|
||||||
|
OAuth
|
||||||
|
Powershell
|
||||||
|
RaspberryPi
|
||||||
|
Rekognition
|
||||||
|
Serverless
|
||||||
|
Subreddit
|
||||||
|
Supporttree
|
||||||
|
SysOps
|
||||||
|
SystemD
|
||||||
Terraform
|
Terraform
|
||||||
Ansible
|
TheMajority
|
||||||
|
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,3 +1,4 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
dist/
|
dist/
|
||||||
*~
|
*~
|
||||||
|
*.bak
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
[filtering]
|
||||||
|
ignorewarnings=url-whitespace
|
||||||
@@ -36,10 +36,11 @@ lint:
|
|||||||
cfn-lint deploy/cloudformation/*
|
cfn-lint deploy/cloudformation/*
|
||||||
|
|
||||||
prepare: clean resume.yaml
|
prepare: clean resume.yaml
|
||||||
|
mkdir -p dist/images/
|
||||||
./transform.py
|
./transform.py
|
||||||
./generate_qrcode.py "https://$(SITENAME)" QR
|
./generate_qrcode.py "https://$(SITENAME)" QR
|
||||||
cp -r images dist/
|
cp -r images dist/
|
||||||
rm dist/images/*~
|
rm dist/images/*~ || true
|
||||||
|
|
||||||
validate: prepare
|
validate: prepare
|
||||||
$(hackmyresume) validate dist/resume.json
|
$(hackmyresume) validate dist/resume.json
|
||||||
|
|||||||
@@ -4,11 +4,9 @@ Email: cv@juancanham.com
|
|||||||
|
|
||||||
Web: https://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.
|
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:
|
Capable of wearing whatever hat is needed for a given job.
|
||||||
* an architect, aligning the technical solutions to the customers requirements
|
|
||||||
* a technical lead, both delivering code and guiding/mentoring/supporting teams as required.
|
|
||||||
|
|
||||||
|
|
||||||
## SKILLS
|
## SKILLS
|
||||||
@@ -21,11 +19,18 @@ Capable of wearing whatever hat is needed for a given job, primarily working as
|
|||||||
|
|
||||||
## EMPLOYMENT
|
## EMPLOYMENT
|
||||||
|
|
||||||
### *Open Source Developer*, [Self](https://juancanham.com) (2019-07 — Present)
|
### *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
|
||||||
|
|
||||||
|
### *Open Source Developer*, [Self](https://juancanham.com) (2019-07 — 2020-04)
|
||||||
|
|
||||||
Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools
|
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
|
- Built a tool to view twitter exports
|
||||||
- Begun work on a module
|
|
||||||
- Built a website to highlight the problems with FPTP
|
- Built a website to highlight the problems with FPTP
|
||||||
- Built a tool to monitor activity on toxic internet communities
|
- Built a tool to monitor activity on toxic internet communities
|
||||||
|
|
||||||
@@ -45,7 +50,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)
|
### *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 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 various useful internal tools, that remained in use for years
|
||||||
- Built a variety of IaC tools, that made deployments easier
|
- Built a variety of IaC tools, that made deployments easier
|
||||||
@@ -58,7 +63,7 @@ Worked on technical projects on AWS, Google Apps & Salesforce both individually
|
|||||||
- Worked across 3 cloud platforms (Google, AWS, Salesforce)
|
- Worked across 3 cloud platforms (Google, AWS, Salesforce)
|
||||||
- Delivered difficult Google 2 Google migrations on tight deadlines
|
- 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.
|
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
|
- Worked in a user facing role, for a variety of small businesses
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@ from qrcode import QRCode
|
|||||||
|
|
||||||
|
|
||||||
def generate_qrcode(site, filename):
|
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 = QRCode(border=1)
|
||||||
qrcode.add_data(site)
|
qrcode.add_data(site)
|
||||||
qrcode.make()
|
qrcode.make()
|
||||||
|
|||||||
Generated
+7885
File diff suppressed because it is too large.
Load diff
@@ -5,3 +5,5 @@ pylint==2.*
|
|||||||
qrcode==6.*
|
qrcode==6.*
|
||||||
yamllint==1.20.*
|
yamllint==1.20.*
|
||||||
image==1.5.28
|
image==1.5.28
|
||||||
|
yq==2.*
|
||||||
|
niet==2.4.*
|
||||||
+19
-6
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"basics": {
|
"basics": {
|
||||||
"name": "Juan Barry Manual Canham",
|
"name": "Juan Barry Manual Canham",
|
||||||
"label": "Cloud \"DevOps\" Engineer",
|
"label": "Cloud 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",
|
"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",
|
"website": "https://cv.juancanham.com",
|
||||||
"email": "cv@juancanham.com",
|
"email": "cv@juancanham.com",
|
||||||
"picture": "images/QR.png",
|
"picture": "images/QR.png",
|
||||||
@@ -30,15 +30,29 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"work": [
|
"work": [
|
||||||
|
{
|
||||||
|
"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": "Self",
|
"company": "Self",
|
||||||
"website": "https://juancanham.com",
|
"website": "https://juancanham.com",
|
||||||
"position": "Open Source Developer",
|
"position": "Open Source Developer",
|
||||||
"startDate": "2019-07",
|
"startDate": "2019-07",
|
||||||
|
"endDate": "2020-04",
|
||||||
"summary": "Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools",
|
"summary": "Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools",
|
||||||
"highlights": [
|
"highlights": [
|
||||||
"Quickly Built a tool to view twitter exports",
|
"Built a tool to view twitter exports",
|
||||||
"Begun work on a module",
|
|
||||||
"Built a website to highlight the problems with FPTP",
|
"Built a website to highlight the problems with FPTP",
|
||||||
"Built a tool to monitor activity on toxic internet communities"
|
"Built a tool to monitor activity on toxic internet communities"
|
||||||
]
|
]
|
||||||
@@ -75,7 +89,6 @@
|
|||||||
"position": "Internal hackathons/skunkworks Developer",
|
"position": "Internal hackathons/skunkworks Developer",
|
||||||
"startDate": "2012-02",
|
"startDate": "2012-02",
|
||||||
"endDate": "2019-07",
|
"endDate": "2019-07",
|
||||||
"summary": "While at Cloudreach, worked on various spikes and hackathons",
|
|
||||||
"highlights": [
|
"highlights": [
|
||||||
"Built Automated tanks that used image recognition to move and fire at each other.",
|
"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 various useful internal tools, that remained in use for years",
|
||||||
@@ -98,7 +111,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"company": "Supporttree",
|
"company": "Supporttree",
|
||||||
"website": "https://supporttree.co.uk",
|
"website": "http://supporttree.co.uk",
|
||||||
"position": "Support Engineer",
|
"position": "Support Engineer",
|
||||||
"startDate": "2010-01",
|
"startDate": "2010-01",
|
||||||
"endDate": "2012-02",
|
"endDate": "2012-02",
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
{"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
|
{"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": "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": "10+ years cloud infrastructure experience as developer, engineer, technical lead & architect", "history": [{"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"}]}, {"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", "end": "2020-04", "highlights": ["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": "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": "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 Line truncated
|
||||||
+34
-29
@@ -5,15 +5,12 @@ contact:
|
|||||||
website: https://cv.juancanham.com
|
website: https://cv.juancanham.com
|
||||||
|
|
||||||
info:
|
info:
|
||||||
label: Cloud "DevOps" Engineer
|
label: Cloud Engineer
|
||||||
image: images/QR.png
|
image: images/QR.png
|
||||||
brief: |
|
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.
|
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:
|
Capable of wearing whatever hat is needed for a given job.
|
||||||
* an architect, aligning the technical solutions to the customers requirements
|
|
||||||
* a technical lead, both delivering code and guiding/mentoring/supporting teams as required.
|
|
||||||
|
|
||||||
location:
|
location:
|
||||||
city: London
|
city: London
|
||||||
county: Greater London
|
county: Greater London
|
||||||
@@ -78,23 +75,44 @@ certifications:
|
|||||||
level: Microsoft Certified Technology Specialist
|
level: Microsoft Certified Technology Specialist
|
||||||
|
|
||||||
employment:
|
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:
|
history:
|
||||||
|
- 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
|
||||||
|
|
||||||
- employer: Self
|
- employer: Self
|
||||||
url: https://juancanham.com
|
url: https://juancanham.com
|
||||||
technologies: [Cloud, AWS, GCP, Azure, SSO, Open Source]
|
|
||||||
position: Open Source Developer
|
position: Open Source Developer
|
||||||
summary: Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools
|
summary: Spending a few months developing tools to make engineering in the clouds easier. And other assorted tools
|
||||||
start: 2019-07
|
start: 2019-07
|
||||||
|
end: 2020-04
|
||||||
highlights:
|
highlights:
|
||||||
- Quickly Built a tool to view twitter exports
|
- Built a tool to view twitter exports
|
||||||
- Begun work on a module
|
|
||||||
- Built a website to highlight the problems with FPTP
|
- Built a website to highlight the problems with FPTP
|
||||||
- Built a tool to monitor activity on toxic internet communities
|
- Built a tool to monitor activity on toxic internet communities
|
||||||
projects:
|
projects:
|
||||||
- name: Offline Twitter Export Viewer
|
- name: Offline Twitter Export Viewer
|
||||||
summary: Simple tool to view twitter exports offline
|
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)
|
- 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.
|
summary: Generic SAML tool for AWS, to work with multiple providers and multiple backends using a modular pythonic design.
|
||||||
- name: TheMajority.uk
|
- name: TheMajority.uk
|
||||||
@@ -110,9 +128,7 @@ employment:
|
|||||||
url: https://www.cloudreach.com
|
url: https://www.cloudreach.com
|
||||||
description: |
|
description: |
|
||||||
Worked on customer projects as a Tech Lead/Architect.
|
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,
|
Managed a team of 3 or 4 engineers within Cloudreach, making sure they got the most out of their role.
|
||||||
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
|
start: 2014-03
|
||||||
end: 2019-07
|
end: 2019-07
|
||||||
keywords: [Leadership, Mentoring, Architect, Tech Lead]
|
keywords: [Leadership, Mentoring, Architect, Tech Lead]
|
||||||
@@ -187,8 +203,7 @@ employment:
|
|||||||
url: https://www.cloudreach.com
|
url: https://www.cloudreach.com
|
||||||
description: |
|
description: |
|
||||||
Worked with the leadership team to improve the System Developers role.
|
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,
|
This included both technical tooling and non-technical initiatives.
|
||||||
interview processes and the graduate program.
|
|
||||||
start: 2016-06
|
start: 2016-06
|
||||||
end: 2019-07
|
end: 2019-07
|
||||||
keywords: [Strategy, Vision, Internal, Personal Development]
|
keywords: [Strategy, Vision, Internal, Personal Development]
|
||||||
@@ -238,16 +253,10 @@ employment:
|
|||||||
technologies: [Slack]
|
technologies: [Slack]
|
||||||
|
|
||||||
- position: Internal hackathons/skunkworks Developer
|
- position: Internal hackathons/skunkworks Developer
|
||||||
summary: While at Cloudreach, worked on various spikes and hackathons
|
|
||||||
employer: Cloudreach
|
employer: Cloudreach
|
||||||
url: https://www.cloudreach.com
|
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
|
start: 2012-02
|
||||||
end: 2019-07
|
end: 2019-07
|
||||||
keywords: [hackathon]
|
|
||||||
highlights:
|
highlights:
|
||||||
- Built Automated tanks that used image recognition to move and fire at each other.
|
- 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 various useful internal tools, that remained in use for years
|
||||||
@@ -331,15 +340,11 @@ employment:
|
|||||||
position: Support Engineer
|
position: Support Engineer
|
||||||
summary: Full support for small businesses including end user systems, on-premise servers and cloud services.
|
summary: Full support for small businesses including end user systems, on-premise servers and cloud services.
|
||||||
description: |
|
description: |
|
||||||
Providing 1st to 3rd line support of Desktops (Windows and OS X),
|
Providing 1st to 3rd line support of Desktops (Windows and OS X) for small businesses.
|
||||||
Server (physical and virtualised) & Services (in-house and cloud based) for small businesses.
|
In addition to end-user support, also implemented several projects & pushed for automation whenever possible.
|
||||||
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
|
start: 2010-01
|
||||||
end: 2012-02
|
end: 2012-02
|
||||||
url: https://supporttree.co.uk
|
url: http://supporttree.co.uk
|
||||||
keywords: [User Facing]
|
|
||||||
technologies: [Windows, OS X, Linux, Networking]
|
technologies: [Windows, OS X, Linux, Networking]
|
||||||
highlights:
|
highlights:
|
||||||
- Worked in a user facing role, for a variety of small businesses
|
- Worked in a user facing role, for a variety of small businesses
|
||||||
|
|||||||
+6
-6
@@ -15,9 +15,9 @@ generate:
|
|||||||
- darkly
|
- darkly
|
||||||
- superhero
|
- superhero
|
||||||
- cerulean
|
- cerulean
|
||||||
kcv:
|
kcv: []
|
||||||
- flat
|
# - flat
|
||||||
- modern
|
# - modern
|
||||||
full:
|
full:
|
||||||
plain:
|
plain:
|
||||||
- node_modules/fresh-theme-elegant
|
- node_modules/fresh-theme-elegant
|
||||||
@@ -27,7 +27,7 @@ links:
|
|||||||
- name: PDF
|
- name: PDF
|
||||||
url: resume.pdf
|
url: resume.pdf
|
||||||
- name: markdown
|
- 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
|
- name: yaml
|
||||||
url: resume.yaml
|
url: resume.yaml
|
||||||
|
|
||||||
@@ -40,8 +40,8 @@ links:
|
|||||||
- Modern
|
- Modern
|
||||||
- superhero
|
- superhero
|
||||||
- cerulean
|
- cerulean
|
||||||
- kcv-flat
|
# - kcv-flat
|
||||||
- kcv-modern
|
# - kcv-modern
|
||||||
- group: formats
|
- group: formats
|
||||||
links:
|
links:
|
||||||
- name: json
|
- name: json
|
||||||
|
|||||||
+3
-3
@@ -10,7 +10,7 @@ import yaml
|
|||||||
|
|
||||||
# pylint: disable=missing-function-docstring
|
# pylint: disable=missing-function-docstring
|
||||||
def main():
|
def main():
|
||||||
with open("resume.yaml") as file:
|
with open("resume.yaml", encoding="utf-8") as file:
|
||||||
resume = yaml.load(file, Loader=yaml.BaseLoader)
|
resume = yaml.load(file, Loader=yaml.BaseLoader)
|
||||||
|
|
||||||
transform_and_write("full", make_full, resume)
|
transform_and_write("full", make_full, resume)
|
||||||
@@ -19,7 +19,7 @@ def main():
|
|||||||
|
|
||||||
def write_file(name, data):
|
def write_file(name, data):
|
||||||
filename = os.path.join("dist", name + ".json")
|
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)
|
json.dump(data, file)
|
||||||
|
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ def make_fresh(data):
|
|||||||
|
|
||||||
|
|
||||||
def make_full(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)
|
data["settings"] = yaml.load(file, Loader=yaml.BaseLoader)
|
||||||
|
|
||||||
tags = data.get("tags", [])
|
tags = data.get("tags", [])
|
||||||
|
|||||||
Reference in new issue
Block a user