The CARL framework was used to structure this reflection!
While working as an intern student at Securestack company as part of my work placement, I was given the opportunity to build a lightweight penetration testing logic and tools that allow users to successfully scan a website and get its network security test results which include the vulnerability of the network. At the beginning of this placement, I learned Bash programming language, and how I could use Bash script to perform a penetration test on a website. Then, I used my prior knowledge in Python programming language to convert all the logic from Bash script to Python script. I also got a chance to learn new generic skills related to my project, such as Version Control, Docker Engine, FastAPI and PostgreSQL. For Version Control, I use GIT to prevent my file from any loss. As one of the best practices, I would regularly commit my code and push it to the remote repository in GitHub. In addition, I also learnt how to do a pull request and merge source code conflict in GIT. On the other hand, I used Docker-Engine as my running and testing environment so that I could allow my team to run my code on their computing machines as they were using different operating system. In terms of FastAPI and PostgreSQL, I learnt them both at the same time because when structuring the API, a developer needs to test whether he/she can send or receive the data from the database or not.
Like other intern students, I wanted to do my best at the workplace; thus, I chose to prioritise my placement’s project by allocating more time to it and only a small amount of time to my university works. As a result, I lost track on my study and could not balance between my schoolwork and the placement’s project; somehow, I fail behind an assignment deadline in week 6. This was a sign of poor time management. I knew I needed to changed, and I had to do something about it, or I would not make it for this trimester. I decided to develop a time management strategy, especially for combining studying with the work placement demands in order to improve my learning and working performance. First, I would start doing the task that was important and urgent so that I would not worry about submitting my assignment or project at each milestone; then I would do the important work that was not so urgent to bring me closer to my goal. With this strategy, I eliminated unimportant tasks and focused on the big picture. I think if I had allowed time for myself to develop strategies to fix the weakness of my time management skill at the beginning of this trimester, I would not be so stress about my assignment and project submissions and could have done them with a better result.
I could tell that my study and work results had improved a lot since I applied the strategy. There was an increase in my performances from week 7 of this trimester as I completed my assignments for “Mobile Device Software Development” and “Research for IT Professionals” courses 2 week before the submission date and 1 week for “Work Integrated Learning” course. At the end of the placement, I also completed 100 percent of my project in week 11 and successfully integrated it with the front-end parts of other intern students and pushed it to GitHub repository. I could feel that I became more industry ready and confident in my coding techniques and some transferable skills due to these 12 weeks of acquired knowledge with Securestack Company. I think the reason why I prioritised my placement’s project over my study at the beginning was because I also lack in critical thinking skill. I could have spent more time thinking rotational about what I should do before I chose to act.
Reflect on my experience in this trimester, I learnt that transferable skills, especially time management and critical thinking, are very crucial for my personal and professional development. As mentioned above, most of my problems had been solved when I developed strategies and improved my transferable skills. I will therefore continue to acquire more knowledge to prepare myself to face professional challenges, especially in the area of decision making, critical thinking, time management, and problem-solving. To prevent similar situation from happening again in the future, from now I will not only improve the quality of my coding skills but also enhance my personal development in soft skills as part of my lifelong learning experience.
When I was an undergraduate student majoring in accounting, I had to follow protocols, standards, and regulations; thus, I learnt by memorising, and like other Asian students, the way I developed my skills over time was to remember the learning materials line by line because it was the only key to my university success as my exams and assignments contained only closed questions. As a result, I did not pay attention to the so-called critical thinking or design thinking. Put it in other words, I was a passive learner. I rather accepted accounting techniques that mention in the books than thought out of the box. After I graduated, I knew I was a good accountant, but I was never a professional one.
At the time I decided to change my career path to computer science, I felt something was not right with my learning approach and the way I was taught. Coming to this realization, I began searching for programs to initiate my new career path and earn my master’s degree here in Australia. As I sit down to reflect on my time in the computer science major, I am confident to say that I made the right decision to come to Australia as I found it interesting how my learning philosophy has continued to evolve over here. As a lifelong learner, I have over 580 courses on Udemy platform ranking from accounting and technology to public speaking and critical thinking. I think the number of the courses on the platform will continue to increase as there are fantastic skills out there that I have not yet learnt. Now, not only I focus on the technical skill sets in my field of study, but I also target more on transferable skills that could add more value to my work performances as well as learning outcomes. These transferable skills include critical thinking, decision making, time management, and problem-solving. I believe that transferable skills are universally essential in the workplace and everyone should learn them because they contribute to the success of a team or organization. Taking problem-solving and critical thinking as an example, they are important in almost any job, and HR looks for them during the interview. What I am trying to say is I do not have to remember everything in the field of computer science to become a tech-savvy because the technology evolving so fast every day. What I learn today might be deprecated tomorrow, and who knows? For instance, UIkit framework is being replaced by SwiftUI to develop iOS. Thus, all I need is to think critically to help myself better understand the problems and to focus more on my strengths to find the solutions to the problems. I think this is what the employer wants to see, and it is how I prove that I can do the job even if I am not the perfect math of the job description.