Sammy John Rawlinson

My Journey in Software Development: Year Three – The Final Ascent

2024-10-15

My Journey in Software Development: Year Three – The Final Ascent

My Journey in Software Development: Year Three – The Final Ascent

"End? No, the journey doesn't end here. Death is just another path, one that we all must take. The grey rain-curtain of this world rolls back, and all turns to silver glass... then you see it!"
— J.R.R. Tolkien, The Return of the King

Introduction

With my diploma complete and my confidence restored, I faced a pivotal question: What's next? Determined to expand my skills, I chose to pursue a Bachelor's degree. The journey promised new challenges, deeper learning , and an internship to prepare me for the industry.

Return to Basics

The first challenge was foundational classes not required as part of the diploma but were requirements for the Bachelor’s program.

  • Event-Driven Programming focusing on on object-oriented programming was a major confidence booster utilising my preovious C# experience that I had unknowingly retained helping me grasp the concepts much more easily this time.

  • Web Programming: A stark contrast utilizing PHP for the first time to interpret a design brief and develop server-side scripting felt like unlearning everything I had learned before, reminding me of my struggles with Django.

After completing these initial courses, I was ready for the final leg of the journey—three intensive classes that would be the true test.

Mastering the Final Challenge

One of the classes I had high hopes for was Web Technologies, envisioning taking web development skills to the next level which had consistenly been improving. However, the importance of good teaching and clear direction became all too apparent. Unfortunately, we were left largely to our own devices with little guidance. The main focus was on CMS and APIs, and without clear learning materials, I decided to tackle WordPress. However, as with previous frameworks like PHP and Django, it felt like I had to unlearn and relearn all over again. Fortunately, my backup plan came to the rescue. After my final project, I had been honing my React and Django skills, and I was able to create a portfolio with React and a blog using React and Django, both of which I was proud of. The skills I gained here even enabled me to build this very blog site, utilizing Node.js to generate pages and load posts from markdown files.

Interaction Design turned out to be a surprising highlight. If someone had told me at the start of this journey that I would enjoy design, I would have laughed. But I found myself fascinated by UI/UX principles. My project was centered on developing a healthcare app using voice-activation and a Raspberry Pi—a project I plan to continue developing.

The final course, Advanced Programming, took me deeper into C#, focusing on building a structured, modular prototype with a GUI based on design criteria. It was here that I realized how much knowledge I had retained from the past two years. Concepts I hadn’t fully grasped before began to click, and I felt a strong sense of accomplishment as I progressed.

Challenges

The final classes whilst challenging were not learning entirely new concepts and skills as I hoped, but mastering the skills and knowlege we had accumulated. By the end of the year I had a clarity of my skills and the gaps I wanted to fill.

The End

The final piece of the puzzle was the combination of the final project and the internship. Unfortunately, this part of the journey was a mixture of missed opportunities and lackluster support, though there were still some glimmers of success.

New Zealand’s approach to internships seems underdeveloped. Most internships are geared toward the typical academic year, which didn’t align with my flexible course schedule, making it difficult to secure a placement. Competition for internships was high, and many students were left without sufficient placements.

The mixture of an academic report and internship felt mismatched, with competing requirements that didn’t mesh well. A better approach would be a shorter, unrelated work experience where students could gain insight into the real world without the pressure to contribute meaningfully, as companies are often reluctant to rely on interns. The academic report, on the other hand, could be more focused on creating a high-standard project rather than trying to fit in with the limitations of an internship placement. Personally, I would have preferred to continue developing my Interaction Design project into a working app for this assessment.

Going into my placement, I knew it would be a challenge. It wasn’t a software company, but an unrelated business that needed help redesigning their website and improving their systems integration. I had no mentorship, but I still hoped to contribute and learn. However, as expected, businesses are cautious about letting interns take on too much responsibility. While my involvement was limited, I did make an impact by identifying needed changes for the website and influencing the design decisions of the external team. My experience with UI/UX design proved invaluable here, and I also used my project management and SDLC skills to assess their internal systems. In the end, it became clear that the small organization didn’t need complex integrations, and their current systems were more than adequate.

While the internship experience was mixed, I did find a sense of completion. Despite the setbacks, the positives outweighed the negatives, and I finished the journey feeling ready to continue. In truth, the journey has only just begun.

"The road goes ever on and on, down from the door where it began. Now far ahead the road has gone and I must follow if I can"
— J.R.R. Tolkien, The Return of the King