Skip to content

Commit 3d78129

Browse files
committed
Resume update
1 parent 337514e commit 3d78129

File tree

4 files changed

+98
-47
lines changed

4 files changed

+98
-47
lines changed

docs/index.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ hide:
1212

1313
I've [worked](/resume) in the computer / internet industry for the last {{ now().year - 1999}} years, primarily as a backend software engineer for web applications.
1414

15-
For most of that time, I've either been the lead of a small developer team or provided technical leadership and engineering management roles.
15+
For most of that time, I've either been the lead of small developer teams and/or provided technical leadership and engineering management roles as a Senior Developer.
1616

1717
*[Michael Joseph]: yes, two first names, I know. MJ works as an internet handle, for people _into_ the whole brevity thing and as a means of disambiguation amongst all the other Michaels.
1818

1919
----
2020
<br/>
21+
<br/>
2122

2223
{{ skills_badges() }}
2324

docs/resume.md

+94-45
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,27 @@ hide:
66

77
### Senior Software Developer / Team Lead
88

9+
## Summary
10+
11+
Senior Software Developer with an emphasis on maintaining efficient development teams using open-source development methodologies.
12+
13+
Documentation culture, developer productivity tooling, continuous integration and deployment and automated security patches are amongst my weaponry and research interests.
14+
915
## Experience
1016

11-
### Team Lead @ Maple Syrup Media / Quidco.com &emsp; <small>*2016 - 2021*</small>
17+
### Team Lead @ Maple Syrup Media / [Quidco]{target=_blank} &emsp; <small>*2016 - 2021*</small>
18+
19+
- RST team member responsible for support and onboarding whitelabel and API integration customers.
20+
21+
- Team Lead various teams supporting the rollout of the microservices platform.
22+
23+
- Developed tooling to reduce variability and increase the efficiency of our deployment and microservice versioning processes.
1224

13-
I led one of the teams that maintain and enhance Quidco's backend services platform.
25+
- Introduced [cookiecutter] templates for rapid rollout of new Laravel microservices.
1426

15-
### Senior Software Developer @ Intellection Software &emsp; <small>*2014 - 2016*</small>
27+
- Introduced ADRs and RFCs for documenting our evolving technology best practices.
28+
29+
### Senior Software Developer @ [Intellection Software]{target=_blank} &emsp; <small>*2014 - 2016*</small>
1630

1731
I was part of the core team responsible for:
1832

@@ -24,83 +38,118 @@ I was part of the core team responsible for:
2438

2539
- supporting Ruby On Rails web application developers
2640

27-
### Systems Engineer; Services Team Lead @ Yola.com &emsp; <small>*2010 - 2014*</small>
41+
### Systems Engineer; Services Team Lead @ [Yola]{target=_blank} &emsp; <small>*2010 - 2014*</small>
2842

29-
Built out the Python Services API layer as part of the distributed architecture
30-
roadmap.
43+
Built out the Python Services API layer as part of the distributed architecture roadmap.
3144

32-
Moved to a senior role with slightly more focus on architecture discussions and code reviews.
33-
I also wrote Java and PHP when required.
45+
Moved to a senior role with slightly more focus on architecture discussions and code reviews and assisted the PHP and Java practices supporting the SiteBuilder and published website components.
3446

35-
### Senior Software Developer @ Sadalbari Open Software &emsp; <small>*2008 - 2010*</small>
47+
### Senior Software Developer @ [Sadalbari Open Software]{target=_blank} &emsp; <small>*2008 - 2010*</small>
3648

3749
Java consultant to large financial and insurance businesses based in Johannesburg.
38-
I reviewed and recommended changes to their JVM configuration to meet the
39-
scaling needs of their internal applications.
50+
I reviewed and recommended changes to their JVM configuration to meet the scaling needs of their internal applications.
51+
52+
I performed ad-hoc performance tuning as well as periodic performance reviews.
53+
54+
The periodic performance reviews occur in the context of a long-term performance improvement plan and comprise setting appropriate performance levels, continual improvement and monitoring of the application's performance in the load-testing environment as well as detailed application server and application analysis (garbage collection logging and subsequent garbage collection algorithm tuning, heap generation size calibration, database query analysis and improvement, application server pool size monitoring and tuning).
55+
56+
The ad-hoc review and performance tuning exercises involved debugging error conditions that occurred under high load conditions. The process followed consisted of hypothesising the cause of the exception in a load-balanced multi-tier environment (Tomcat web application, JBoss EJB application server cluster, database cluster and Mainframe integration), conducting appropriate experiments in a load-testing environment and recommending code changes and server software parameter tuning.
57+
58+
### Senior Software Developer; Open Source Business Unit Manager @ [AdaptIT]{target=_blank} &emsp; <small>*2007 - 2008*</small>
59+
60+
Technical Lead of the Open Source Business Unit software development team. We built and maintained the [eThekwini Municipality Internet] and Intranet sites.
4061

41-
### Senior Software Developer; Open Source Business Unit Manager @ AdaptIT &emsp; <small>*2007 - 2007*</small>
62+
I was promoted to Open Source Business Unit Manger in 2008.
4263

43-
Technical Lead of the Open Source Business Unit software development team.
44-
We built and maintained the intranet and internet sites for the eThekwini Municipality
64+
#### Roles
4565

46-
Additional Roles:
66+
- Technical leadership - troubleshooting issues, talking developers through possible implementation choices, improving technical skills through code reviews and dissemination of development best practices and procedures
4767

48-
- Technical leadership and mentoring
68+
- Software Application Architecture and Design- constructing high level architecture representations of proposed systems, decomposing systems into Conceptual, Logical and Deployment views, development task generation and estimation
4969

50-
- Application Design and Documentation
70+
- Business and Functional Analysis
5171

52-
- Work Breakdown, Allocation and Management
72+
- Project management
5373

54-
### Senior Software Developer @ Jam Warehouse &emsp; <small>*2002 - 2007*</small>
74+
- Technical documentation
75+
76+
### Senior Software Developer @ [Jam Warehouse]{target=_blank} &emsp; <small>*2002 - 2007*</small>
5577

5678
Software development team lead on PHP, C# and Python development projects.
5779

5880
#### Projects
5981

60-
- KnowledgeTree (http://www.ktdms.com)
61-
62-
Software Development Lead responsible for the design and management of KnowledgeTree, an open source document management system.
82+
- Software Development Lead responsible for the design, management and initial implementation of [KnowledgeTree]{target=_blank}, an open source web-based document management system.
6383
I was the release manager for the initial SourceForge releases.
6484

65-
- BrandDirector (http://www.branddirector.co.uk) implementation for Woolworths
85+
- I led the Woolworths [BrandDirector]{target=_blank} implementation in C# (proprietary web application using a extensive in-house RAD framework).
86+
87+
- Lead developer for ongoing maintenance and development of the [eThekwini Municipality Internet]{target=_blank} and intranet portals. I managed and mentored the development team.
6688

67-
- eThekwini Municipality Internet and Intranet Portals (GNU/Linux/Python/Zope/Plone).
89+
### Senior Developer @ [iTouch Labs]{target=_blank} &emsp; <small>*2002 - 2002*</small>
6890

69-
### Senior Developer @ iTouch Labs &emsp; <small>*2002 - 2002*</small>
91+
I was a senior member of the iTouch TAS, the internal research and development company providing services to the operational companies of the iTouch Group.
7092

71-
I was a senior member of the iTouch TAS, the internal research and development
72-
company providing services to the operational companies of the iTouch Group,
73-
We provided developer support services, localisable infrastructure applications
74-
and platform level management services.
93+
We provided developer support services, localisable infrastructure applications and platform level management services.
7594

7695
#### Projects
7796

78-
- FTP Interface for the Corporate Messaging Server
79-
- iTouch SA CMS WebSMS Deployment
97+
- Responsible for the design and implementation of an FTP Interface to the CMS.
8098

81-
### Software Developer @ iTouch Ireland &emsp; <small>*2000 - 2001*</small>
99+
- Deployment team member responsible for the installation, configuration, testing and modification of the CMS WebSMS application for [iTouch South Africa]{target=_blank}. Created generic builds (and contributed to installation documentation) for ease of installation into other iTouch operations.
82100

83-
As a senior member of the development team, I provided a bridge between
84-
the **development** and network and hardware operations groups.
85-
I also contributed to troubleshooting performance and deployment issues.
101+
### Software Developer @ [iTouch Ireland]{target=_blank} &emsp; <small>*2000 - 2001*</small>
86102

87-
### Software Developer @ Vodacom &emsp; <small>*1999 - 2000*</small>
88103

89-
#### Projects
104+
I became a senior member of the development team, providing a bridge between development and operations as well as contributing to troubleshooting performance and deployment issues.
105+
106+
My primary focus was the development of applications in PHP, Java and the custom IVR language `4Voice` to support iTouch Ireland's mobile content services.
107+
108+
I represented iTouch Ireland at a database modelling workshop where we were tasked with designing a unified database model for all iTouch operations.
109+
110+
### Software Developer @ [Vodacom]{target=_blank} &emsp; <small>*1999 - 2000*</small>
111+
112+
I was responsible for the development and maintenance of one of the network performance management systems in operation at Vodacom. The system was used and supported on a national scale, and was implemented by an OLAP database - Seagate Holos v.7.
113+
114+
The system collected network performance statistics from the Vodacom mobile network infrastructure, parsed the data into formats compatible with Holos, and generated data cubes for presentation to the performance analyst user base.
115+
116+
During my time at Vodacom, the data sources were migrated from flat text files to an Oracle 8 database, and the performance cubes generated by querying the database.
117+
118+
As the sole developer, I also managed the development schedule and maintained associated user and technical documentation.
90119

91-
- Netstats
92-
I developed and maintained one of the internal mobile network performance
93-
management systems at Vodacom. We used RDBMS backends and OLAP data cubes.
120+
### IT Specialist @ [Telkom]{target=_blank} &emsp; <small>*1999 - 1999*</small>
94121

95-
### IT Specialist @ Telkom &emsp; <small>*1999 - 1999*</small>
122+
I was responsible for the development (in Visual Basic 6.0) and maintenance of a national Hotspot Centre fault logging and access network rehabilitation program, for the Access Network Maintenance Department (North Eastern Region).
96123

97-
I was responsible for the development and maintenance of a VB6 application
98-
that managed circuit fault information in a MS Access database.
124+
The application provided input screens for the capture of fault information, stored this information in a Microsoft Access database, and provided querying and reporting capabilities.
99125

100126
*[AWS]: Amazon Web Services.
101127
*[API]: Application Programmer Interface
102128
*[PHP]: PHP: Hypertext Preprocessor (née Personal Home Page)
103129
*[GNU]: GNU's Not Unix
104-
*[CMS]: Content Management System
130+
*[CMS]: Corporate Messaging Server
105131
*[RDBMS]: Relational Database Management System
106-
*[OLAP]: OnLine Analytical Processing
132+
*[OLAP]: OnLine Analytical Processing
133+
*[RAD]: Rapid Application Development
134+
*[TAS]: Technology And Services
135+
*[FTP]: File Transfer Protocol
136+
*[IVR]: Interactive Voice Response
137+
*[RST]: Remote Services Team
138+
*[ADR]: Architecture Decision Record
139+
*[RFC]: Request For Comments
140+
141+
[cookiecutter]: https://github.com/cookiecutter/cookiecutter
142+
[Quidco]: https://web.archive.org/web/20211008164014/https://www.quidco.com/
143+
[Intellection Software]: https://web.archive.org/web/20160514073541/http://intellection.io/
144+
[Yola]: https://web.archive.org/web/20141010091702/https://www.yola.com/
145+
[Sadalbari Open Software]: https://web.archive.org/web/20110207214248/http://sadalbari.com/
146+
[AdaptIT]: https://web.archive.org/web/20081020173659/http://www.adapt-it.co.za:80/
147+
[Jam Warehouse]: https://web.archive.org/web/20071016072023/http://www.jamwarehouse.com:80/
148+
[KnowledgeTree]: https://web.archive.org/web/20050724002627/http://www.ktdms.com:80/
149+
[eThekwini Municipality Internet]: https://web.archive.org/web/19960329080010/http://www.durban.gov.za:80/
150+
[BrandDirector]: https://web.archive.org/web/20060224231306/http://www.branddirector.co.uk:80/
151+
[iTouch South Africa]: https://web.archive.org/web/20021013060259/http://www.itouch.co.za:80/
152+
[iTouch Labs]: https://web.archive.org/web/20020929142302/http://www.itouchplc.com:80/
153+
[iTouch Ireland]: https://web.archive.org/web/20010926181743/http://www.itouch.ie:80/
154+
[Vodacom]: https://web.archive.org/web/20001010181131/http://www.vodacom.co.za:80/
155+
[Telkom]: https://web.archive.org/web/19991001133942/http://www.telkom.co.za:80/

docs/talks.md

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ hide:
1818

1919
<iframe src="https://archive.org/embed/pyconza2014-cookie-monster" width="640" height="480" frameborder="0" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen></iframe>
2020

21+
[Yola]: https://web.archive.org/web/20141010091702/https://www.yola.com/
2122
[🎥📼 PyconZA 2013]: https://2013.za.pycon.org/talks/28
2223
[🛝 Application to Platform: How we used Python to scale Yola]: http://michaeljoseph.github.io/application-to-platform/application-to-platform
2324

resume.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ basics:
2424
url: https://www.linkedin.com/in/michaeljoseph/
2525
work:
2626
- company: Quidco.com
27-
endDate: '$(gdate -d "1 month")'
27+
endDate: '2021'
2828
highlights: []
2929
id: quidco
3030
linkedIn: quidco

0 commit comments

Comments
 (0)