Hello! I'm Joel, and I enjoy solving problems. Whether it be complex problems involving code, enhancements to open source projects, or just fun little challenges like creating word clouds, I'm always game for a new puzzle. {:id="top"}
If you've made it here, you're probably aware that I am seeking my next challenge. Ideally I'd love to find a role where I can add a great deal of value as I improve my own skillsets as well as those of the people I work with. I'm looking for a new opportunity to use my skills, and add value to your organisation!
Below, you can find some more information about me, where I come from, and what I've been up to in recent times. If you think I'd be a good fit for your team, see my contact information.
- Employment
- Open Source Contributions
- Clear-Script Blog
- Talks
- Communities
- Education
- Skills
- Contact Information
- Location {:class="table-of-contents"}
Chocolatey Software{:target="_blank"}
Duration: November 2019 - Present
Position: Software Engineer
- Software development, issue triage, and documentation for:
- Chocolatey Central Management
- Chocolatey CLI
- Modernisation of licensing systems.
- Ground-up implementation of integration testing infrastructure for major products.
top{:class="top-link"}
Heritage Carpet & Tile{:target="_blank"}
Duration: May 2017 - November 2019
Position: IT (Helpdesk) / Window Treatments Coordinator / Specialties Temp
- Tier 2/3 support for helpdesk issues.
- Worked with local MSP for hardware purchases and deployments.
- Created custom PowerShell module to automate workstation deployments, used by myself and our MSP, saving a handful of hours of manual work per new user.
- Led the rollout of VOIP phones for office.
- Led the technology plan for multiple relocations.
top{:class="top-link"}
Australia Post{:target="_blank"}
Duration: September 2015 - March 2016
Position: Customer Contact Agent
- Inbound call-taker.
- Solving customer issues or directing them to the department that can solve their issues.
- Many problem-solving and customer interaction opportunities.
- Some experience with SalesForce.
top{:class="top-link"}
PSKoans{:target="_blank"}
An introduction-to-PowerShell module modelled after F# Koans{:target="_blank"}. The Koans are a set of intentional contradictions that give the user a guided path through which they can learn the basic concepts and constructs that make up PowerShell, and how best to work with them to continually learn more
2K+ Downloads from PowerShell Gallery; 700 commits
PSWordCloud{:target="_blank"}
A module that ingests source text (be it scripts, repositories or other documents), and creates a word cloud representing the frequency of word use. Originally written in PowerShell, and later in C# with the SkiaSharp library.
200+ Downloads from PowerShell Gallery; 75 commits
top{:class="top-link"}
- Fix Write-Output -NoEnumerate{:target="_blank"}
- Fix Casting Conversions for Suffixed Numeric Strings{:target="_blank"}
- Add Tests for ConfirmImpact Ratings{:target="_blank"}
- Fix Reported ConfirmImpact when SupportsShouldProcess = false{:target="_blank"}
- Test-Path: Avoid Unnecessary Errors{:target="_blank"}
- Add Type Inference for
$_
/$PSItem
in Catch Blocks{:target="_blank"}- Add Support for Native Binary Parsing{:target="_blank"}
- Add Support for Byte-type Numeric Literals{:target="_blank"}
- Add C#-style Numeric Literals and Type Accelerators{:target="_blank"}
- Code Cleanup (1){:target="_blank"} (2){:target="_blank"} (3){:target="_blank"}
top{:class="top-link"}
- Add -Scope Information for Update-Help{:target="_blank"}
- Fix Get-Member -InputObject Example{:target="_blank"}
top{:class="top-link"}
- SkiaSharp
- SKRegion Improvements{:target="_blank"}
- BuildHelpers
- Fix Alias Exports{:target="_blank"}
- MyTasks
- Refactor Tests{:target="_blank"}
- PSSysadminToolkit
- Refactor Get-UserProfileSize{:target="_blank"}
- Refactor Get-MappedDrive{:target="_blank"}
- Refactor Get-Handle{:target="_blank"}
- Refactor Find-Service{:target="_blank"}
- Review/Refactor Get-ComputerFromOU{:target="_blank"}
- Pester
- Use List<T> for Building Collections{:target="_blank"}
- PowerShellPracticeAndStyle
- Updates to Code Layout and Formatting{:target="_blank"}
top{:class="top-link"}
- Primarily PowerShell-focused blog with some C# sprinkled in.
- Covers some of the more esoteric and lesser-known PowerShell content.
- Written entirely in Markdown with Kramdown, maintained on Github{:target="_blank"}.
top{:class="top-link"}
- Tour of the PowerShell Language Tokenizer{:target="_blank"}
- PowerScripting Podcast #323{:target="_blank"}
- #2 - Learning PowerShell with PSKoans{:target="_blank"}
- #5 - Getting Started with Contributing to PowerShell Core{:target="_blank"}
top{:class="top-link"}
You can frequently find me in the PowerShell Slack or Discord spaces, as well as the /r/PowerShell subreddit, where I am one of the more well-known contributors. Most of my time in these spaces is spent helping others talk through and solve their more difficult problems, reviewing their code, and discussing the future of PowerShell and how it fits into the wider developer and administrative ecosystems. I also frequently invest time in newer PowerShell users, helping provide learning resources and teaching concepts to help them on their journey.
top{:class="top-link"}
Southern Cross University{:target="_blank"}, Brisbane, Australia
- Duration: February 2013 - August 2015
- Degrees Pursued: Bachelor of Information Technology; Bachelor of Contemporary Music
- Partially-Completed
- Two full semesters completed of Music, one semester of Information Technology.
Ballina High School{:target="_blank"}, Ballina, Australia
- Duration: January 2008 - October 2012
- Degree Completed: Higher School Certificate
top{:class="top-link"}
- PowerShell
- Rust
- C#, EntityFramework, ASP.NET Core
- F#
- Git
- HTML / CSS
top{:class="top-link"}
[email protected] | |
@vexx32{:target="_blank"} | |
Joel Francis{:target="_blank"} |
top{:class="top-link"}
I am currently located in South Florida. I am more than open to remote-based opportunities, but I am unable to relocate very far from where I currently reside, between Ft. Lauderdale and West Palm Beach area.
top{:class="top-link"}