Author Archives: Andrew Lam

Sprint-3

This is my final blog for the university, where I work hard for four years, hoping to become a software developer. The team and I finished most of the tasks for the project “Reporting. System”; it was challenging for our learning experience. There are struggles and realizations from mistakes and trials of multiple attempts that help and benefit understanding for further the learning experiences. Those learning experiences from the tasks were interesting and challenging to complete becoming more difficult than others for unexpected.

I am currently making a presentation and adding details from looking back at the tasks that the group and myself for how much we accomplished. Also, looking forward to graduation. After the team and I adjusted to the issue board required for the work and practice. I have done these issues over the semester for weight assignments that have been changed with a total weight of 2-3 is reasonable and practicable. Some are easy to do and understand, but others are challenging.

The Issue:

  • Remove MongoID leftover – Backend (changes). There are still MongoIDs available, and I will investigate this further. After I asked for feedback or assisted in making certain adjustments, the result seemed to be an improvement, and the team concurred.
  • backend — Write a test suite for API (changes); This activity writes tests in Chai, ensuring that the backend works with the API while ensuring you get a file back in .xls format (get the simple tests working).

My still challenge concerning one of these tasks is researching the topic of “Chai.” the topic is still questioning the existence of a library written in JavaScript with different test frameworks. It provides that your code continues to work as intended by attaching to the assertions set up. Like npm install chai, chai-HTTP, chai-as-promise, etc. Those additions make the process simpler, but it doesn’t look good. It has already gone through the potentially functional aspects, even after the review, code addition/construction, and code comparison phases.

After I got the chai working correctly, I learned the backend server kept shutting down due to missing files, leading to some codes not passing. The team and I backed up the system by going back to find those files and running for testing; the first half is working (the version number), and the second half won’t. (missing data from the database). 

For improvement, I prepare to find information about this issue from my group members and others by asking others who have had this experience issue before. Even though the team and myself ran into more mixed technical problems during the development process, like missing files, which resulted in more delays that shifted the focus on the specific problem. Even that problem can help us better comprehend and learn new specialties to avoid misleading and repeated attempts. 

In conclusion, in the third and last university sprint, our team had a good time discussing and executing the tasks, though we tried to do some things to perform wildly well after the second-Sprint. We still faced some obstacles that became a fun learning experience for new topics.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

Sprint-2

Hello, welcome to the Second-Sprint Retrospective Blog. I contributed to the group project by working on the tasks assigned on GitLab. I chose to complete one of the jobs, but it was more difficult than I had expected. I am currently participating in an activity that calls for additional alterations, and adding more details is more complicated than I had anticipated. It is up to the team and me to decide whether to put the modifications for the necessary measures. 

After the team and I adjusted to the issue board required for the work and practice. Completing this ISSUE Weight assignment with a total weight of 3 is reasonable and practicable. 

The Issue:
backend — write a test suite for API (changes); This activity writes test in Chai, ensuring that the backend works with the API while ensuring you get a file back in .xls format (get the simple tests working). 

My challenge concerning these works is researching the topic of “Chai.” It explains that Chai is an assertion library written in JavaScript with different test frameworks. It allows maintenance of your code’s functionality and checks that it follows those assertions. It has the “assertions” style comparable to Node.js’s built-in assert module, and the “expect” style uses a chainable API to create more legible and expressive tests. Chai can be used with any testing framework, including Mocha, to define test suites with a specific feature. Each test in a test suite will state how your code should act.
I learned that it has additional chai-related dependencies after researching the topic. These include additions to npm install chai, chai-HTTP, chai-as-promise, etc. Those additions make the process simpler, but it doesn’t look good. It has already gone through the potentially functional aspects, even after the review, code addition/construction, and code comparison phases. However, the conjunction of some codes didn’t pass due to some missing information and led to some failures. 

To improve myself, I plan to seek information regarding this kind of assignment from members of my group and members of other groups by asking questions. It will serve as a learning experience. Even though the end of the year is getting close, I have seen that my abilities to manage time have increased, and the learning steps for work are becoming the assigned time. We ran into various technical issues during the development process, which resulted in delays; the team and I had a fantastic mid-round in finishing all of the items listed on the sprint backlog. These delays are different learning experiences that require better comprehension and learning new specialties to avoid those misconceptions and repeated attempts resulting from communication breakdowns. The problems may avoid by increasing knowledge and diving into the serious issue with the other group collaborating. 

In conclusion, in the second sprint, our team had good objectives and executed them, though we succeeded wildly better after the First-Sprint. We overcame some obstacles and learned about new topics while working through the complex pipeline and completing one of the assignments.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

week-7

Hello, final week (seventh). It is spring break week is almost over, even with the book. I got a comment about needing clarification on the chapter 2 blog; I needed to have understood the number of pattern selections as I chose more than one pattern. So I went back to week-1 (chapter 2) for a quick review; I chose one of the topics. It is “The Deep End.”

This pattern connected with me by feeling stuck and needing to challenge myself with more significant projects to grow my skills, confidence, and even a portfolio. By jumping in at the deep end to take on challenging jobs and doing things that push over the limits. It highlights that taking risks is an opportunity seen through anxiety and responsibility to counteract the threats by finding mentors and creating feedback loops. Yet, I agree with aspects of that technique. It shows taking the list of your projects to measure project complexity and other proportions while using this idea to see where your career is heading and make choices based on it.

Have you noticed that the practice has changed how you consider the type of work you want to undertake or your desired career path?

This practice allowed me to jump at the deep end and take on challenging projects for future careers in tech companies. I have developed various skills highly valued in the tech industry of experience in different areas like project management, problem-solving, and cross-functional collaboration. This can help me become more flexible and better equipped to handle different roles and responsibilities in the future. I am then building a solid portfolio that showcases my skills and experience to possible companies. It tracks projects and provides results to help people stand out and increase their chances of getting hired or promoted. Lastly, taking on challenging projects and pushing to become more confident and stable for tech companies operating and looking for individuals who are fast-paced and rapidly changing environments can settle on challenges and work under pressure. Also, I can become better prepared to guide the injunctions of the tech industry and succeed in my career.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

week-6

Hello, and welcome to week six. I’m on spring break this week, so I will experience some activities like going to a resort or doing wild things for fun outside my comfort zone. However, I still need to complete the complex and lengthy tasks of studying and returning to school for some exams and schoolwork related. After finishing the fifth chapter, I’ll continue with the book’s sixth chapter. I read and picked what stuck with me was the reading selection “Dig Deeper.”

This pattern connected with me since it applies to everyone who has engaged themselves in a subject that might be thought-stimulating. Workers may want assistance with code maintenance and clarification of skill levels due to the issue of developers needing a basic understanding of the tools and methodologies. It can stand the resources and knowledge support while putting them above the creative process. One can prepare to support the time and effort necessary to read primary sources, comprehend ideas’ historical and cultural context, and practice what they have learned.

However, I can only partially agree with aspects of that technique; it provides a comprehensive understanding of software development features, which is essential when analyzing current open-source implementations. Together with a blog post, it has some gaps in the papers and articles.

Have you noticed that the practice has altered how you think about the work you want to do in the future or the overall career path you want to take?

Learning how to tackle and troubleshoot complicated problems, this activity can help me become a better problem-solver. Also, they can better pinpoint areas where deep thinking might enhance performance through code optimization. The practice can boost my self-confidence and capacity to produce value early with solid expertise in a particular field to take on new challenges and offer quick answers, such as finding pieces and enhancing the project. It can combine improved teamwork and communication by explaining challenging concepts and ideas to other team members and stockholders. Even more job opportunities to stand out, looking for developers with deep knowledge and the ability to provide expertise in specific industries.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

Sprint-1

Hi, and welcome to the Sprint Retrospective Blog. I have completed these tasks on GitLab for the group project; the team and I have been assigned to decide whether to implement these changes when necessary. For myself, I have done there is one activity that does require modifications, while the other three do not. These ISSUES weight totals are reasonable and easy to do once getting to the mindset of the work and practice.

 The Issues:

My challenge concerning these works is that I took the time to review the codes, and everything seems to be great, so it does not require any modification. Even if it means setting aside some time so that you can go to the next activity or task in the sequence. On the other side, it makes it appear that all I have done is read the codes and determine that there is no need to update them, making me feel bad because I haven’t worked as hard as I should have been working on this project. To improve myself as an individual to have goals that include conquering negative emotions, recognizing that the quality of the job has been maintained, and making additional recommendations to the team regarding acceptable actions. In the upcoming year, is to improve my time management abilities and all of these measurements so that I can finish all of my work within the assigned time window. I need to improve my technical skills and knowledge to contribute to the team significantly.
 

The team and I had a rough start in completing all the tasks on the sprint backlog; we encountered some challenges along the way. We faced several technological challenges during the development process, leading to delays. Additionally, some communication breakdowns led to misunderstandings and duplication of efforts. To improve on those issues by strengthening our technical skills and knowledge. This work can be achieved through regular training and knowledge-sharing sessions. We also need to establish better communication channels to ensure that everyone is on the same page and that there are no misunderstandings. Additionally, we need better tracking and monitoring mechanisms to ensure we are on track with our goals.

In conclusion, our team had a rough start, but we got through a lot of success during the first sprint. We overcame some of the obstacles while working through the sprint backlog and completing some of the assignments.
 

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

week-5

I want to say hello in the fifth week of my blog and write a new entry. March is my favorite month, so I’ve enjoyed myself as much as possible. In Boston, there are many things to do, including drinking and attending social and entertaining events simultaneously. I have an upcoming spring break relatively soon. It will be enjoyable to go over everything and take care of tasks in preparation for the impending graduation from college.

Now that I’ve finished the information presented in chapter 4, I will go on to the fifth chapter, which is about ongoing education. Throughout my research, I encountered an important theme: “Reflect As You Work.

This pattern appeals to me since it is relatable to anyone who puts in the effort and gets things done; that way, people may reflect on what they’ve learned and how they’ve improved. This pattern appeals to me since regular introspection and questioning of one’s practices are vital to preparing for elevation to senior posts. Regular introspection and questioning of one’s courses are something I do. Even with explicit reflection and noting changes in one’s set of methods, it is possible to develop fresh ideas by observing more experienced developers and reflecting on their rules.

But, I disagree with other components of the practice by not believing that experience automatically equates to expertise; becoming proficient should be the aim.
On the other hand, it is possible to urge individuals to sketch out a Personal Practices design to investigate and challenge existing practices and contemplate the possibility of adopting alternative methods of accomplishing goals.

Have you noticed that the way you think about the work you want to do in the future or the career path you want to take as a whole has changed due to the practice?

In engaging in the “Reflect As You Work” exercise, I can get insight into the things I have accomplished, the shifts I have made, and the areas where there is room for improvement and enhanced quality of life. When it comes to employing this strategy sets the stage for my future profession, as it will allow me to save some time and avoid some hassle while also providing me with a fresh learning experience that I can share with others who face the same challenge.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

week-4

 Hello, here is a blog post for the fourth week; I feel stressed and relaxed simultaneously because the beginning of March is winding down for enjoyable activities and nearby spring break.

Now that I have reached the end of chapter 3, I will turn my attention to chapter 4, which discusses apprenticeship models. Throughout my reading, I found a pattern that could prove highly useful; I named it “Find Mentors.” I like this pattern because it starts with becoming a software craftsman; you first need to find mentors. You can do this by enrolling in a training course or teaching yourself independently.

This pattern is one of my favorites because it has a “recommend” option. This pattern appeals to me because it includes a “recommend” option that assists someone who needs direction and assists in making better decisions for entering the tech field or interested-related tech. This helps someone who needs advice and assists in making better decisions for entering the tech field or interested-related tech.

Nevertheless, there are some aspects of the practice that I can’t entirely agree with because there isn’t a lot of information or because it’s uncommon for somebody who needs or can’t have a mentor or guidance because there are a lot of different reasons or options when there is additional time. I like to express my disagreement with these aspects of the pattern in the following way: I could not find and have any mentors. After all, it was covid because it affects people’s attitudes, and they needed to focus on themselves rather than trying to predict what would happen next.

Have you noticed that the way you think about the work you want to do in the future or the career path you want to take as a whole has changed due to the practice?

This practice pushed me to think more about expanding my network connections to get more experience and work alongside people in the same field. For suggested action in finding mentors by signing up for an active mailing list, lurk, and seek outpatient teachers for informal advice at the next conference.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

WEEK-3

Hello, a blog for the third week; it seems cluttered because I am almost done with school since this is the end of February. Anyway, I’m starting to read chapter 3 for apprenticeship patterns. While reading, I found one of the helpful patterns was “Sustainable Motivations.” It has a set of motivations that can withstand the inevitable challenges and difficulties in pursuing a particular craft or profession. In the context of software development refers to a group of internal and external factors that keep software developers motivated and engaged in their work over the long term.

Sustainable motivations can vary from person to person. Still, some common examples include a passion for programming, a desire for mastery, a sense of purpose, financial stability, social recognition, and a positive work-life balance.

Even characteristics of sustainable motivations are resilient, flexible, and adaptive, allowing developers to overcome obstacles, stay committed to their craft, and continue to grow and develop their skills.

Creating motivations is crucial in software development (challenging and complex), requiring high technical adaptability. By cultivating sustainable bases, developers can avoid burnout, stay focused on their goals, and build fulfilling careers that bring personal and professional satisfaction.

However, I would like to disagree with some parts of the pattern as having different motivations for their work, such as personal fulfillment, without necessarily aspiring for mastery or long-term growth. Because the way is overly simplistic or idealistic, it assumes that motivations are static and can be easily categorized and controlled. However, the truth is motivations can be complex, dynamic, and influenced by various internal and external factors that are often beyond our control.

Has the practice caused you to change how you think about your intended profession or how you think you will work?

Sustainable Motivations can be a valuable framework for individuals who want to maintain their motivation and passion for their work over the long term. It emphasizes the importance of having a strong personal connection to my work and aligning my motivations with values and goals, which can help me overcome challenges and stay focused on long-term objectives. By adopting this mindset, individuals may be more likely to approach their work with a sense of purpose and commitment, leading to greater satisfaction and fulfillment in their careers.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

week-2 from the book

 Hello, a blog for the second week; it seems nice and claims a little bit. I’m starting to read chapter 2 for apprenticeship patterns. While reading, I found one of the helpful patterns was “Record What You Learn.” It is nice to look back at the progress from the start and end with some struggles for learning something every day to help keep track of things that progress to improve at working efficiently. There is another pattern I would like to disagree with my opinions is “Reflect as You Work”; because it made me have doubts like “why didn’t I do this earlier or how couldn’t I think of it.” regardless, it is nice to see what you have to learn, and done for this to work.

Has the practice caused you to change how you think about your intended profession or how you think you will work?

For developers of these practices, it helps for using the patterns from this book can have several benefits. One of the benefits was to advance their understanding and proficiency in software engineering, and lifelong learning helps keep up to date on software engineering trends and technologies. It was even helping to gain more self-assurance in their skills by offering developers a collection of best practices and productivity-boosting strategies.

Those who want to become experts in software development can prepare to devote themselves to continuous learning and practice because the industry is challenged and undergoing rapid change. In this process, focused practice and reflection are both essential steps. Reflection entails taking time to pause and think about one’s knowledge and practice, evaluating what one already knows and what one may do to improve on a crucial stage in acquiring mastery since it enables the person to assess their abilities and pinpoint areas for development.

Purposeful practice and reflection lay the groundwork for domination in software development since they both emphasize enhancing knowledge and skills over time. On the other hand, deliberate practice is setting aside time to practice and hone abilities, gradually increasing over time. To attain mastery, one must engage in this kind of exercise since it makes the person pay attention to their areas of weakness and invest the time to strengthen them.

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.

Apprenticeship Patterns Chapter 1 and Chapter 2-6 Introductions

Hello blog, how are you guys doing (I feel fine)? I got a book from my professors in the Syllabus. I read it; it is good. 

Even I can recommend some of my friends who are not computer science majors to these books for knowledge to develop some 

level of studying and more. 

What did you find interesting, helpful, and thought-provoking about the reading?

I found it interesting and valuable that the first two chapters, 1 & 2, stated that it is crucial to have a “growth mindset” and 

realize that learning demands perseverance, trial, and error. It was even needing to find mentors to assist in directing the learning 

process while working on a personal or side project to put newly acquired information to use. 

Also, near the end of the introduction, the second chapter points out the final four patterns that encourage continuous learning:

  • Exposing and confronting ignorance.

  • Taking on an audacious task.

  • Retreating into competence.

  • Ascending to the next level. 

Has the reading caused you to change your opinion, the way you think about the topic, or how you work?

The task does change my perspective toward the CS or related-working strategically differently from not knowing wanting to do for 

experience while approaching learning with an open mind Chapter 2. Then chapter 3, moving in to help, provide information for 

getting experience by doing side projects and reading materials. 

Even the same or new technique helps with collaboration and exceptional software developers for new learning experience journeys.

Do you disagree with something in the reading? And why? * Which chapters seem most relevant to you?

I have a minor disagreement with one of the chapters, chapter 4. The introduction of chapter 4 mentions, 

“Avoid mediocrity and self-satisfaction.” I like it when you deserve some self-satisfaction from how long you work to accomplish 

something, but I understand that there is more to learn in to-do and achieve even more than current works/projects. 

Also, the chapters that I like with the introduction are 4 for “Goal is to be better than yesterday, not just better than average.” & 

5 for “Self-discovery patterns such as Reflect as You Work, Recording and Sharing, Create Feedback Loops, 

and Learn How You Fail are also important.”

From the blog Andrew Lam’s little blog by Andrew Lam and used with permission of the author. All other rights reserved by the author.