Sitemap
Sheldon Korpet

Sheldon Korpet

I work in a Digital Library Team. Love new ideas, learning to finish old ones.

My Programming Journey Pt 2. Beyond Beginner

7 min readMar 10, 2025

--

ChatGPT landed in early 2023. I slowly started to use it then perplexity.ai, as a personal code tutor to problem solve, build road maps, personalised learning plans as well as break down and build up programmatic logic. RIP my days of begging the god-like nerds of StackOverflow for crumbs of help (but what data will power future GPTs? Are the docs really enough?)

What have I learnt since April 2023? What have I built?

In April and May I played with number generators, building in Python a number guessing game, a lotto number generator (with a tkinter GUI) and a compound interest calculator (a mess, not the math I borrowed, just my coding). Building useful tools was good fun and playing with GUIs stood me in good stead later to create my first original program later and the basic stats became a good introductory confidence building exercise for the Machine Learning course.

Press enter or click to view image in full size
A really ugly, user unfriendly compound interest calculator

May 2023 — Software Development Life Cycle (Linkedin Learning)

I realised by building projects I had no idea what I was doing when organising myself and creating programmatic logic and breaking features down to build up a complete tool. This course exposed me to:

  • MoSCoW prioritisation for features (Must have, should have, could have, will not have)
  • Scrum principles (product backlog, sprint backlog, sprints, product increment with roles — product owner responsible for choosing from product log the work to complete, scrum master coaching and motivating the team and team members developing, testing and documenting)
  • Kanban boards — for organising and tracking tasks.
  • Pair programming method — one person coding, one helping. Second person views and asks questions/makes suggestions before switching.

Jul 2023 — Django Essential Training (LinkedIn Learning)

Django was perhaps the most confusing thing I’d encountered since my intro to algorithms and navigating the file directory. I build a website which I could view locally via a port on my computer. I developed an appreciation of why Django had been able to scale for Instagram, Dropbox and Pinterest but ultimately decided it might not be my tool of choice for a personal portfolio.

Press enter or click to view image in full size

Aug 2023 — Python course (Mimo)

Throughout 2023 I utilised the Mimo app to review Python knowledge I’d gained through earlier courses on my daily commute. I felt this was a good move in retrospect. It solidified (and reminded me of) concepts as well as providing an alternative explanation for the same concepts which helped.

Sept/Oct 23 — Making networks and teaching

I hadn’t been completely alone in my journey this whole time. My colleague had also picked up a coding language around them same time as I had. Where I had taken a knowledge-based approach to learning and applying concepts, she had taking a project-based approach, building something she was interested in and learning as she went. It was great to discussed our struggles and through our experience swapping (and our fascination/fear of AI) she was inspired to found a Community of Practice at work.

I later went on to teach 10 of my colleagues the very basic principles of coding via Python. It was my first proper experience of teaching and it challenged me to reflect back to the very beginning and amazed me how much I’d managed to absorb by this point. It’s proven be a very small catalyst and an excellent knowledge sharing (and time saving) opportunity.

Oct 2023 — SQL Essential Training (LinkedIn Learning) & SQL course (Mimo)

Over the summer I met a wild duck with a cataract. Over time with frequent visits we built what I saw as an interspecies friendship based on trade — sunflower seeds for chest strokes. However, I’m sure my feathered-friend thought of me as the world’s first Duckaroo deliverer, as he would later learn to jump out of the water to collect his food.

Press enter or click to view image in full size
The inspiration for Donald’s Diary — Data Privacy for Ducks.

I decided to build a local Python program with a GUI which have a database on the backend to capture and store time, date and location data . After a couple of SQL courses, Donald’s Diary was born.

Get Sheldon Korpet’s stories in your inbox

Join Medium for free to get updates from this writer.

The UK has a legal duck hunting season where some of the most beautiful ducks can be culled including the Tufted Duck, Pintail and Widgeon (see ‘Quarry species’). It’s arguably a necessary process in Mallards as overfeeding leads to excess males which puts stress on females come breeding season but that also squarely put Don in the firing line. I wanted to build something local on my machine in the spirit of taking back control of personal or sensitive data.

This was the first time I used a conda environment to control the environment for the PySimpleGUI and SQLite3 libraries and create a program which captured the data I input and allowed me to backup data via a csv export:

Press enter or click to view image in full size
Donald’s interface
Press enter or click to view image in full size
“Show records” function

Goal complete

By the end of October I’d achieved the goal I’d set out to complete — study 12 courses within the 12 months of 2023. Instead of feeling elated, I felt deflated. What do I do now? I felt I had little direction anymore.

The importance of a network shone through here and gave me perspective. You’ve done well — why stop now? There’s always a next step and the great thing about learning and creating is that you can decide the direction.

What are you still curious about? What can you create now?

Nov 2023 —Machine Learning (Code First Girls)

GPT’s had played a bit part in my coding journey to this point. I’d even hosted one locally thanks to H2OGPT and open source LLM models via Hugging face (this project was scuppered by a lack of VRAM).

I was curious — what made this technology work? I decided to take an introduction to ML, learning about supervised and unsupervised learning, linear regression, k-nearest neighbours with scikit-learn, understanding bias and algorithm evaluation. It was basic but insightful.

I also learnt to launch Jupyer locally and implemented a few basic algorithms. It’s a specialism in itself and something I’d like to continue to explore in more depth in the future.

Dec 2023 — Collaborative Coding with Git (FutureLearn)

This whole year I’d been using Git to push to remote GitHub repos. However, when myself and a few colleagues got together to use it to write and share code, we were instantly confused.

This course made me realise how powerful Git is not only for developing code but collaborating, staying organised and getting an overview of how repos change (including your own historic code). I made use of GitKraken and viewed some of my old code to see where I could improve my use of versioning commit messages and (lack of) branching for feature development.

Press enter or click to view image in full size

Jan 2024 — Learning Docker (LinkedIn Learning)

I had previous experience of using env’s with conda for Donald’s Diary. This is a great tool for managing package versions. If you need a little more, you can create an entire OS and its dependencies, providing a consistent environment across different systems.

Through this course, I have acquired an understanding of essential Docker concepts and their associated commands. From setting up Docker on a Windows machine to creating images and managing containers, running applications, and troubleshooting.

I’ve also found out when to use Docker Compose and when to consider Kubernetes, and how to choose the best images and manage versions on Docker Hub.

“Are we there yet now?”

I set the 12 courses in 12 months goal because I wanted to create something. I set and exceed a goal (15/12 courses completed!) and learnt more than I imagined. I’ve built websites, created programs and called from APIs. As well as got my head around a lot of new tools and new ways of thinking about, and conceptualising, problems.

Despite having few expectations when I started coding, I made new connections and good friends who supported me along the way. In return, I have tried to share my knowledge to help others begin their coding journey. Overall, 2023 was a significant year, marked by the achievement of my learning goals, creating my own programs, and the valuable relationships I formed along the way.

--

--

Sheldon Korpet
Sheldon Korpet

I work in a Digital Library Team. Love new ideas, learning to finish old ones.