Sign in

Cameron Presley

@thesoftwarementor.com
616 followers 305 following 208 posts

Software Engineer and Leadership Coach by day, burgeoning carpenter, boardgame, reader, and knitter by night. blog.thesoftwarementor.com

PostsRepliesMedia
Cameron Presley @thesoftwarementor.com · 23/01/2026
Less than a week away until I talk about #functionalprogramming at the Albuquerque.NET User Group. Hope to catch you there! www.meetup.com/albuquerque-...
meetup.com
Functional Programming Through Construction with Cameron Presley, Wed, Jan 28, 2026, 6:00 PM | Meetup
In the past five years, functional programming has increased dramatically in popularity which has lead to an explosion of resources in learning these concepts. But, between
010
Reposted by Cameron Presley
C# Advent @csadvent.christmas · 01/12/2025
Second #csadvent today from @thesoftwarementor.com: Reducing Bugs by Using the Model View Update Pattern - blog.thesoftwarementor.com/articles/202... #csharp #dotnet
blog.thesoftwarementor.com
Reducing Bugs by Using the Model View Update Pattern - The Software Mentor
Reducing Bugs by Using the Model View Update Pattern
031
Cameron Presley @thesoftwarementor.com · 01/12/2025
For this year's #csadvent, I wrote a post about how you can simplify business logic by using the Model View Update (The Elm Architecture) pattern using basic #functionalprogramming concepts like pure functions and composition. #csharp blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Reducing Bugs by Using the Model View Update Pattern - The Software Mentor
Reducing Bugs by Using the Model View Update Pattern
020
Cameron Presley @thesoftwarementor.com · 24/10/2025
Made it to Pittsburgh! I'm looking forward to Pittsburgh Tech Fest tomorrow where I'm giving a condensed version of "The Engineers Playbook: Starting a New Job". This is a great session for both leaders and those who are starting new roles.
040
Cameron Presley @thesoftwarementor.com · 18/10/2025
Learning about UX and UI Design at NoVA Code Camp with @johnathayde.com
Slide deck that has the text UX and Design for Devs with a subtitle of Elevating our Product Experience
040
Cameron Presley @thesoftwarementor.com · 18/10/2025
Made it to Reston for NoVA Code Camp! I'm looking forward to speaking about how you can learn the fundamentals of #functionalprogramming by solving a fun problem. If you're attending today, make sure to stop by the 9:30 session and say hi!
Slide deck with title of Learning FP Through Construction: First Principles
030
Cameron Presley @thesoftwarementor.com · 11/10/2025
All squared away for #ATLDEVCON! If you've recently started a job (or if you're a manager who's hiring people), come check out my session at 10am that goes over my approach for getting up to speed quickly on a new role!
Slide Deck displaying The Engineers Playbook: Starting a New Role written in white text on a salmon colored background
030
Cameron Presley @thesoftwarementor.com · 23/09/2025
On that note, we had our first pack wide meeting and I was able to award belt loops on eating healthy/being active and how to get ready for a hike. It's rewarding to see Scouts who've never done anything outdoors take their first steps and hang out with other kiddos like them.
000
Cameron Presley @thesoftwarementor.com · 23/09/2025
For those not aware, I started volunteering with Scouting America (formerly Boy Scouts) and I having a blast leading our first grade Cub Scout den. I did some parent volunteering last work with the Kindergarten group and found it to be a lot more fun than I remember scouts being when I was a kid
100
Cameron Presley @thesoftwarementor.com · 10/09/2025
Came across this thoughtful post from @rubylang.bsky.social about Ruby Gem's (their package manager's approach) for identifying and dealing with supply chain security issues. It's always fascinating to see how other smart people tackle hard problems blog.rubygems.org/2025/08/25/r... #rubylang
blog.rubygems.org
How RubyGems.org Protects Our Community’s Critical OSS Infrastructure - RubyGems Blog
010
Reposted by Cameron Presley
Jérôme Laban @jlaban.bsky.social · 09/09/2025
VS 2026 Insider is available! Among many other changes, one not so obvious change in that release is the default to `.slnx` format, and the good news is that @platform.uno supports it out of the box! devblogs.microsoft.com/visualstudio... #dotnet
devblogs.microsoft.com
Visual Studio 2026 Insiders is here! - Visual Studio Blog
Visual Studio 2026 Insiders is here – and it marks one of the most ambitious steps forward we’ve taken with the IDE. This release brings AI woven directly into the developer workflow, performance impr...
096
Cameron Presley @thesoftwarementor.com · 09/09/2025
That's awesome! My son and I are building out some dice trays for his cousins. Love the project build!
010
Cameron Presley @thesoftwarementor.com · 04/09/2025
Finally got through a fun problem for the upcoming video (a new game mode) that had been tripping me up for a while. Stay tuned for a blog post about how to cancel async tasks in #node and #typescript
010
Cameron Presley @thesoftwarementor.com · 02/09/2025
In last week's #codealong, we built out a basic math game for my son, J. As you might have guessed, we got some feedback on the game and have some new features to implement. So how do we implement new functionality without taking on technical debt? youtu.be/6AiztXnhfS0 #typescript #codealong
youtu.be
Code Along: Building a Math Game - Part 2
YouTube video by Small Batch Solutions
010
Cameron Presley @thesoftwarementor.com · 27/08/2025
For this week, I'm trying something a bit different in the videos. It can be fun to show tips and tricks, but one thing I always appreciated was to see how other people think about problems. Interested? Check out the video below and let me know what you think! youtu.be/nbS5-_SONfo #typescript
youtube.com
Code Along: Building a Math Game - Part 1
YouTube video by Small Batch Solutions
000
Cameron Presley @thesoftwarementor.com · 20/08/2025
Do I know anyone who's a leader or a member of the Pittsburgh .NET User Group or JavaScript group? I'm going to be in the area for Pittsburgh Tech Fest in October and I'd love to present to a user group while I'm in town. #javascript #dotnet #typescript
000
Reposted by Cameron Presley
Louis Pilfold @lpil.uk · 18/08/2025
Anyone have a space in London that the Gleam London meetup can use? Would love somewhere we can have a few short presentations from folks
086
Cameron Presley @thesoftwarementor.com · 18/08/2025
Ooof, yeah 💯. The thing I remember about exceptions is that they should be for exceptional behavior. So if you are coding control flows around it, that sounds like a need for a Result type instead. Best of luck!
000
Cameron Presley @thesoftwarementor.com · 18/08/2025
What a cool game, you should check it out!
010
Reposted by Cameron Presley
Bree (half of Kit Rocha) @mostlybree.kitrocha.com · 18/08/2025
This worked for me in Chrome, BRILLIANT 15087/10
29633
Cameron Presley @thesoftwarementor.com · 14/08/2025
Slightly diminish a band: Ho-hum at the Dance
010
Cameron Presley @thesoftwarementor.com · 13/08/2025
Excited to see NoVA Code Camp coming back online. I already submitted some sessions, you should check them out! novacodecamp.org #cfp #techcfp
novacodecamp.org
Northern VA CodeCamp
A FREE community event for developers, by developers.
000
Cameron Presley @thesoftwarementor.com · 13/08/2025
When working in #typescript, I love using union types as a way to limit a type to a set of possible values. However, I find myself needing to iterate through those values. In this video, I'll show you how to make that happen using const arrays youtu.be/eqjVojlFwJs?...
youtu.be
Iterating Through Sum Types Using TypeScript
YouTube video by Small Batch Solutions
010
Cameron Presley @thesoftwarementor.com · 13/08/2025
That's awesome, congrats! What's one thing that's surprised you the most about the journey so far?
110
Cameron Presley @thesoftwarementor.com · 12/08/2025
Looks like the CFP for Atlanta Dev Con is up. I already submitted some sessions, hope to catch you there! www.atldevcon.com sessionize.com/atlanta-deve...
atldevcon.com
Atlanta Developers' Conference
Atlanta Developers' Conference
010
Reposted by Cameron Presley
Lore Link @lorelink.com · 12/08/2025
Good morning! It's Tuesday, August 12th. What's the last board game you played?
211
Cameron Presley @thesoftwarementor.com · 12/08/2025
Recently played Summer Camp, a delightful deck builder that's a great intro to the genre. Would highly recommend! boardgamegeek.com/boardgame/33...
boardgamegeek.com
Summer Camp
Collect cards and earn merit badges to become the ultimate summer camper.
011
Cameron Presley @thesoftwarementor.com · 11/08/2025
While working on my Blackjack course I ran into an issue where some of my cards would be null. Given that I'm leveraging #fp techniques, how is it happening? In this post, we'll walk through the bug and how to use property based testing to check the fix blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Testing Non Deterministic Code - Debugging Shuffle with Property Based Testing - The Software Mentor
In this post, I'll show you how I found a bug in my implementation of shuffle using property based testing.
021
Cameron Presley @thesoftwarementor.com · 08/08/2025
A common concept in computing is the byte, a chunk of data is consisting of 8 bits (8 0s and 1s). But what if we had defined a byte to be 9 bits instead? I really enjoyed this write up from Pavel about what could have been. pavpanchekha.com/blog/9bit.html
pavpanchekha.com
We'd be Better Off with 9-bit Bytes
000
Reposted by Cameron Presley
Lore Link @lorelink.com · 06/08/2025
Hey, let's get some cool stuff on the timeline. Do you have art of your character, either from yourself or commissioned? Show it off here! Please remember to tag your artists (links allowed) if it was commissioned, and keep that AI "art" off of our timeline.
147
Reposted by Cameron Presley
sabine 🐫🦀 / "use ocaml"; @sabine.sh · 06/08/2025
guys do you know anyone in Poland in tech who runs meetups or other communities where they could promote FUN OCaml?
333
Cameron Presley @thesoftwarementor.com · 05/08/2025
TypeScript recently released v5.9 with some cool changes, however I found that these changes didn't play well with one of my most used tools (ts-node). This post walks you through the issue and options for going forward. blog.thesoftwarementor.com/articles/202... #typescript
blog.thesoftwarementor.com
Running Single File TypeScript in 5.9 with ts-node and tsx - The Software Mentor
In this post, I show you how to leverage ts-node with the TypeScript 5.9 and the changes to the tsconfig.json file
020
Cameron Presley @thesoftwarementor.com · 01/08/2025
Enjoying this conversation with Bob Fornal about how do you get started in automating and improved the quality of your code and pipelines without tackling everything all at once here at #CincyDeliver. So many good insights @leadingedje.com
000
Cameron Presley @thesoftwarementor.com · 30/07/2025
I'm looking forward to #CincyDeliver on Friday. It's a great event and I'm pumped to be speaking about #functionalprogramming concepts while we solve Mars Rover It's not too late to get tickets, so if you're going to be in Cincinnati, pop by and say hello! www.eventbrite.com/e/cincydeliv...
eventbrite.com
CincyDeliver 2025
Cincinnati's longest-running, non-profit, community event. Sessions focus on delivering value through quality software.
131
Cameron Presley @thesoftwarementor.com · 16/07/2025
But how do you create your own? In this post and video, I show you how to create your own Node tool. Video: youtu.be/Cm8T8N1pfnw?... Post: blog.thesoftwarementor.com/articles/202... #TypeScript #Node
youtu.be
Building A Node Tool From Scratch With TypeScript
YouTube video by Small Batch Solutions
020
Cameron Presley @thesoftwarementor.com · 16/07/2025
I've been working in Node and TypeScript for years now and have never sat down to learn how to make your own tooling. For example, I'm a big fan of the gitignore npm package as it quickly scaffolds a gitignore file for your project (as simple as running gitignore node). (1/3)
110
Cameron Presley @thesoftwarementor.com · 10/07/2025
While working on a NPM package that's designed to be used globally, I discovered that "gin" is an alias for a PowerShell command (Get-ComputerInfo). Best way of handling conflicts like that is to update your "bin" command to include a namespace (so something like "smallbatch-gin")
000
Cameron Presley @thesoftwarementor.com · 10/07/2025
When I've worked with engineers in the past, I've found there's a preference for both video and written content. With that in mind, I'm following up the recent video with a blog post on setting up a #Node project with #TypeScript and #Jest configured. blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Creating a Node Project With TypeScript and Jest From Scratch - The Software Mentor
Creating a Node Project with TypeScript and Jest From Scratch
020
Cameron Presley @thesoftwarementor.com · 08/07/2025
Thanks Jason! So far, so good 😂
000
Cameron Presley @thesoftwarementor.com · 08/07/2025
A few months ago, I found myself on the market and started looking for opportunities. After getting a ton of messaging that I was both "too technical" and "not technical enough", I decided to go a different route. For more details, check out this post blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Career Update and a New Chapter - The Software Mentor
Announcing Small Batch Solutions
120
Cameron Presley @thesoftwarementor.com · 08/07/2025
Couple of changes since my last post 1. Uploaded my first video to YouTube! If you've ever wanted to create a basic node app from scratch, I'll walk you through from file new to a basic working example youtu.be/mphKoDUiZVg
youtu.be
Setting Up a Node Project with TypeScript
YouTube video by Cameron Presley
100
Cameron Presley @thesoftwarementor.com · 25/06/2025
Definitely one of the coolest venues I've ever presented at, thanks for inviting me out!
010
Reposted by Cameron Presley
Daniel Ward - daninacan @danielwarddev.bsky.social · 19/06/2025
Curious about #FunctionalProgramming? Join us next week as @thesoftwarementor.com shows how to make LINQ from scratch! #dotnet 🎤What: Level Up on Functional Programming By Rebuilding LINQ 👨‍🏫Who: Cameron Presley ⌚When: June 26 @ Noon CST 🌐Where: Zoom Signup: www.meetup.com/sadnug/event...
021
Cameron Presley @thesoftwarementor.com · 10/06/2025
Recently learned that JS has a way of marking something private by using the # symbol. Super helpful when dealing with private fields that you want to expose as public getter properties. blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Today I Learned - JavaScript Private Fields and Properties - The Software Mentor
TIL - JavaScript private fields and properties
000
Cameron Presley @thesoftwarementor.com · 01/06/2025
Pleasantly surprised to find that the Lake Norman area has a baseball team, The Harbor Hippos! www.harborhippos.com
A cartoonist hippo, smiling wearing dark sunglasses and a blue hat with a capital H on it
000
Cameron Presley @thesoftwarementor.com · 29/05/2025
One of my favorite recent stories was talking to an engineer who noticed some anomalies in data that was being collected, only to find out that someone had used AI to do basic math instead of using a tool like Excel to do the computations.
010
Cameron Presley @thesoftwarementor.com · 28/05/2025
Elm was an early inspiration for me on #functionalprogramming as I found its architecture to be an intuitive way to think about apps. In this post, I walk you through implementing your own version using #typescript and #node blog.thesoftwarementor.com/articles/202...
blog.thesoftwarementor.com
Simplifying Console Logic with the Model-View-Update - The Software Mentor
Implementing Model View Update in TypeScript
050
Cameron Presley @thesoftwarementor.com · 28/05/2025
Working on the Udemy course and I'm blown away by the great artwork that @reverentgeek.com did! It looks great and will absolutely help me stand out. If you dig his style, why not work with him on your project? He's awesome!
Set of playing cards with TypeScript TS on the back, an Ace of Spades and 10 of Hearts showing and a stack of black poker chips with a white lambda symbol on a green background
040
Cameron Presley @thesoftwarementor.com · 24/05/2025
This was a brand new talk for me and the CapArea group was terrific! If you've been interested in learning how to design code where bugs are less likely to occur, give it a watch and let me know what you think!
000
Cameron Presley @thesoftwarementor.com · 21/05/2025
Today has been a fun one! While working on the Udemy course, I decided to use the Model-View-Update pattern for the game loop and it worked out nicely! There are some parts to clean up, but it yielded easy to read/maintain code. Will need to noodle on it a bit more to get it in a blog post format.
020