Evidence of Technical Transferable Skills

WIL Task 2

Published on September 15, 2024

Evidence of Technical Transferable Skills

Artefact 1: Developing and Implementing AWS Lambda Functions

In my placement, I was tasked with developing and maintaining various backend components using AWS services, with a particular focus on AWS Lambda. Prior to this placement, I had no formal knowledge or experience with AWS. The challenge was to quickly learn and apply AWS Lambda to develop functions that could process data, handle events, and interact with other AWS services like S3, API Gateway, and OpenSearch. This required me to acquire new skills on the job and adapt to using AWS tools effectively in a professional setting.

To fulfill this task, I started by independently studying AWS Lambda and related services, leveraging online resources, tutorials, and documentation. I applied this newly acquired knowledge to develop Lambda functions that handled tasks such as data processing from S3, invoking OpenAI's API for generating text embeddings, and storing the results in OpenSearch. I also implemented robust error handling and logging mechanisms using AWS CloudWatch, ensuring that the functions were resilient and provided sufficient visibility into their operations.


Blog image

The Lambda functions I developed played a critical role in the project, enabling efficient processing and management of large volumes of data. By leveraging serverless architecture, the solution was scalable, cost-effective, and required minimal maintenance. The functions successfully integrated with other AWS services, creating a seamless pipeline from data ingestion to storage and retrieval. This experience significantly enhanced my technical skills in cloud computing, particularly in serverless development and AWS ecosystem.

This experience taught me the importance of understanding the nuances of cloud-based services and how they interact within a broader architecture. I learned that while my foundational knowledge from university provided a strong starting point, applying these concepts in a real-world scenario required a deeper understanding of the tools and their practical implications. Additionally, I realized the value of proactive problem-solving—by anticipating potential issues in the Lambda functions and addressing them through error handling and logging, I was able to deliver a more robust solution. This experience has reinforced my aspiration to pursue a career in cloud computing and backend development, where I can continue to build on these skills.

Artefact 2: Enhancing Programming and Algorithmic Thinking Skills

During my placement, I was tasked with developing and maintaining several backend components, which required strong programming skills and the ability to apply algorithmic thinking to solve complex problems. This experience involved working extensively with Python, particularly in developing AWS Lambda functions, as well as refining my understanding of data structures and algorithms to ensure that the solutions I implemented were both efficient and scalable. Working independently, I had to rely on my existing programming knowledge while also pushing myself to learn new techniques and apply them effectively.


Blog image

Throughout the placement, I dedicated significant time to refining my programming skills, especially in Python. This included not only writing code but also optimizing existing solutions by improving the efficiency of algorithms, reducing runtime, and ensuring that the codebase was maintainable and well-documented. One key area of focus was implementing robust error handling and logging mechanisms in the backend services, which required a deep understanding of Python’s exception handling and logging libraries. Additionally, I worked on optimizing data processing pipelines to handle larger datasets more efficiently, applying advanced algorithmic concepts such as dynamic programming and memoization.

As a result of these efforts, I was able to enhance the performance of the backend services significantly. The code I developed was not only functional but also optimized for speed and scalability, which was critical given the project’s requirements. My work on error handling and logging also improved the maintainability of the codebase, making it easier to troubleshoot issues and ensure the reliability of the system. This experience reinforced my programming skills and gave me practical experience in applying algorithmic thinking to solve real-world problems.


Blog image

This placement allowed me to deepen my programming expertise and sharpen my problem-solving skills, particularly in Python and algorithmic thinking. I learned the importance of writing clean, efficient, and maintainable code, which is crucial in any software development role. Moving forward, I plan to continue improving my programming skills by working on more complex projects, participating in coding competitions, and staying updated with the latest developments in the field. This commitment to continuous learning will be essential as I pursue a career in software development, where technical proficiency and the ability to think algorithmically are key to success.

A Reflection on My Journey from Undergraduate to Post-Graduate Studies

During my undergraduate studies in mechatronic engineering, I struggled with motivation and discipline. I often procrastinated, avoided communication, and rarely engaged in collaborative efforts. My approach to learning was passive; I attended classes and completed assignments, but I lacked the drive to explore beyond the curriculum or seek feedback from peers. This mindset limited my academic achievements and stunted my personal and professional growth.


Blog image

However, my transition to the Master of IT program marked a significant shift in my approach to learning and skill development. The rigor and demands of the program, combined with my determination to excel, transformed my study habits and overall outlook on education. I became an active learner, regularly participating in discussions, seeking feedback, and embracing challenges. My academic performance improved drastically, and I gained a deeper understanding of the importance of continuous learning in achieving success.

Skill 1: Communication

As an undergraduate, communication was a major weakness. I rarely interacted with classmates or professors, and group work was often a source of stress rather than a learning opportunity. However, in the Master of IT program, I recognized the value of communication in both academic and professional contexts. I began to actively seek out opportunities to discuss ideas with peers, present my work, and collaborate on projects. This shift not only improved my ability to convey complex ideas but also enhanced my confidence in public speaking and teamwork. I now understand that effective communication is crucial for success in any workplace, as it facilitates collaboration, problem-solving, and innovation.

Skill 2: Complex Problem Solving

In my undergraduate years, my approach to problem-solving was often reactive and unstructured. I would wait until the last minute to tackle assignments, which left little room for critical thinking or creative solutions. However, as a post-graduate student, I developed a more strategic approach to complex problem solving. I learned to break down problems into manageable parts, consider multiple perspectives, and apply a systematic methodology to find solutions. This skill has been particularly valuable in my IT studies, where the ability to analyze complex systems and develop innovative solutions is essential. I now approach problems with a proactive mindset, which I believe will be instrumental in my future career.


Blog image

Continuous Learning and Future Career Impact

The shift in my approach to learning from undergraduate to post-graduate studies has had a profound impact on my personal and professional development. I have come to realize that continuous learning is not just about acquiring new knowledge but also about refining existing skills and adapting to new challenges. As I prepare to enter the workforce, I am committed to maintaining this mindset of continuous improvement. I plan to stay updated with the latest industry trends, seek out professional development opportunities, and remain open to learning from my experiences and those around me.

In conclusion, my journey from undergraduate to post-graduate studies has been marked by significant growth in both my approach to learning and the development of critical skills. I am confident that the lessons I have learned and the skills I have honed will serve me well in my future career, enabling me to contribute effectively to any organization and achieve my professional goals.