• Learn How you Fail – week 13

    This pattern focuses on being able to identify why and the ways you make mistakes to learn from them. The big message of the pattern is that you will naturally not be good at everything and sometimes you will have to spend a lot more time on something just to only be a little bit better at it which is ok, as long as you are making advancements to improving something you lack or feel needs work than do as much as you can.

    In my experience I find it difficult to start new projects as I feel I am not yet qualified or experienced enough to finish or even make a large dent in the project. Not only is this a issue with the confidence I have in my work but moreover how I view how difficult the projects and issues tend to be, however eventually when I build up the courage to finally start I notice that I am much more capable than I thought I was. Even when I do end up making a mistake, I can see what I made a mistake on and work around it in order to be able to fix it and prevent it from happening in the future. The best way to go about it is like the pattern says, be conscious of the mistakes that I make and on what parts I make them on. A method the pattern speaks of is creating test classes for a method before you run the method at all so that you can look at all the mistakes at its raw form without testing. This will give you a good idea of what you fresh work looks like and where you seem to fumble. One method that I know still needs work on is my documentation especially on larger projects. Making more notes and comments of work I have done will allow me to keep better track and organize my thoughts.

    While it sounds like being over critical about what kind of work you can accomplish being aware of what you can handle will allow you to better understand you limits so you can make a effort to move past them and be even better than you once were.

  • Sprint 3- Retrospective

    During this sprint much of the work that was completed focused on Cleaning up the Boards and make sure that there aren’t any issues that are left open for the next semester as well as making Unit tests for the endpoints, cleaning up meant that we had to see which issues we couldn’t complete so that we could close them and leave just the epics open so that the following semester could work off of our finished product. Personally, during the Sprint, I completed Designing the unit test for replace guest, and the remainder of the sprint was spent adding and implementing the unit test. During the sprint I was out for a week due to a personally issue that had arisen that set me back on my productivity, but I was able to return soon after in order to help clean the system up for the next semester.

    What worked well was being able to work with kelvin and Liam to design the unit tests as they both had the most experience with both so having them give input as well as to look at work that they had pushed help me design and start implementation to the backend. Designing the test was straightforward as it entailed identifying what endpoints were needed and what kind of responses are required for the endpoint. Teamwork was still a strong aspect for our team even with slight hiccups that all teams have but were able to come together and delegate work around to do as much as we could before the sprint was over. We think we did a great job cleaning as we left a good amount of epics for the next class so it can give them a good start to their semester, adding some more documentation for the issues was also an idea that we had after the fact to help even more.

    What didn’t work well was it seem there was a large loss in productivity in comparison to the last 2 sprints especially the previous one, mostly due to the upcoming final presentation and the shift of attention went from finishing the issues in the last week to identifying what we were going to do for the final presentation and the structure we were going to have best demonstrate the project at work. Unfortunately, due to the personal issue I had, a lot `of time had been lost for me to complete some of the work I had attached to myself so coming back I had to make up for lost time that I had been away, and it dramatically impacted my work.

    As for improving the team, I believe the only issue we had was the loss of productivity towards the end much of like what we had in the first and second sprint, only much more in this case. We as a team must keep ourselves busy and make sure we are working on any aspect of the project no matter how much time we have left. As for myself there isn’t an excuse all I can do is make sure I allocate more time as I did in the last sprint and make sure my performance stays consistent like it did in the last sprint.

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/82

    Designing of the replaceGuest unit test

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/76

    Add unit test for replaceGuest

  • Record What you learn- week 11

    Recording what I had learned as well as updates to what I am working on is something I have always struggled with either it being in CS or in any other subject, I always found it fruitless to add little comments next to my code as me being the Writer I should automatically know what it does without reading any actual lines. However, as my projects got more advanced and increased in size I got lost in the code so to speak, forgetting what changes I had made as well as having to look deep into a class to realize what the code did before.

                This pattern discusses the importance of documenting, in blogs such as these to record changes as well as to keep tabs on insights made or things that you had learned in order to better organize your thoughts and keep track of things of note. Something I am trying to make a avid practice of is keeping more notes and adding more comments to my code as I stated before with projects like this keeping all my thoughts and the changes I’ve made in a log or written down is beneficial to make sure I’m making progress in the right direction. This is also an important practice when I want to share my work and the changes I have made to those who are working on the project with me as well as those who will look at my projects in the future, the idea that knowledge is shared is important in the industry and it is done through this practice of taking notes and recording everything no matter how small. Thinking back I had look at notes and work from other programmers who faced similar issues as I had on one problem and their insight and experienced helped me to solve my problem even if it wasn’t exactly the same. So not only can you keep a public record of your recordings so that others can see what you have worked on and your findings, you may keep a private record for changes you have made or documentation for private projects you are working on alone.

  • Sprint 2 Retrospective

    Compared to the last sprint not only did I personally complete much more work, but the team accomplished a lot. As a matter of fact, we got over 17 in weight done in the first week compared to the much lower amount in the first sprint. I noticed that when it came to issues of us needing help or the sharing of information a lot more work was done together, and it allowed us to complete more of the epics and issues. For example, one of the issues me and kelvin both had similar solutions one was for the backend and the other was for the API, once Kelvin modified the commands/build.sh on the API I looked and see what changes he had made so that I could make similar changes to the Backend.

                Much of what was accomplished at the beginning was all of the issues that didn’t involve unit testing such as the verification of collection names in the API as well as Evaluating and Improving the API as a whole. The epics that were finished during the sprint were the API refactoring of file/directory/release structure and infrastructure as well as the conversion of all docker images we are building to multi-architecture images. As I state previously, we completed more epics in this sprint than that of the previous one.

                As for improvements that could be made I think the biggest improvement we can make is to keep focus especially towards the end of the sprint, I’ve noticed once we get into the final week of the spring right before the sprint review the progress tends to slow down and focus lessens a fair amount this mainly do to shifting attention to the review, reflection, and the planning of the next sprint. While all of those steps are very important to the process maintaining the flow that we have the first 2 weeks into the last one will allow us to possibly complete even more and get farther into the project. As for personal improvements I can make I think practicing and taking on even more of a workload would be to my benefit as it will allow me to cover more ground and become more accustomed to the system. The biggest issue I had in the previous sprint was that I spent a lot of time resolving issues that had come up while fixing other issues, as well as trying to delve into the Frontend of the system. I maintained the right of amount of weight completion each week which was a significant improvement over last sprints and I plan to keep that going into the next sprint.

                The best thing to come out of this sprint was that most of the last sprint will be finishing up unit testing and focusing on making sure the system works correctly so that next semesters students don’t have issues with the system and can work on it efficiently Much like how we found it. The most important thing now is to keep the system running and keep Epics organized and unopen so that the next semester can work off those.

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/82

    Designed Unit test for replaceGuest Endpoint.

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/76

    Implementation of the unit Test designed for the replaceGuest Endpoint.

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfoapi/-/issues/102

    Verification of collection names in the API to make sure they make sense and are correct.

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/87

    modified commands/build.sh in backend to use context to specify what image to build.

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/86

    added Pipeline variable with multiplatform string to backend.

  • Practice, Practice, Practice – Week 10

    This Pattern focuses on the most Fundamental aspect of learning anything and that is to devote your time and energy to practice and perfect your trade. They say it takes 10,000 hours to become a master of something and that goes without saying for this industry especially when there are so many different aspects of the field were some people may be much better at somethings than others are. They focus mostly on finding different ways to incorporate adding different scenarios to their code in order to keep changing how the code needed to be programed to further develop.

                The most important aspect of this pattern that I have taken into consideration isn’t the practice itself but the idea of placing yourself in scenarios where you are in an environment where you can allow yourself to immerse yourself in learning the code and understanding why the code must be done a certain way. When I was first starting out learning to code it was during covid and all we had was time to focus and learn the ins and outs, however as it also states in the pattern that beginners need to practice more and that they don’t learn from lectures and from personal experience I can say for sure that the practice is what made me understand the most.

                What I want to incorporate in my own time is to allow myself to code for at least one hour a day so that I can further my learning and really delve deeper into how the workflow is structured once my career starts. The issue I find myself in a lot is when summer came around I wasn’t actively practicing my coding and my work would suffer for it when the next semester came about. I found myself relearning fundamental principles in order rt complete much more advanced tasks. Allowing myself to get an hour of coding can keep me ahead of the came and ease me into working every day for a company. The capstone class already has the workflow side of it with the tasks and epics needed to be done and allowing us to work on it on our own time as well.

  • Sustainable motivations

    This pattern discusses the unending struggle of keeping yourself motivated under stress, lousy leaders, large workloads, and overly complex problems to be solved. The aspect of money being a Programmers only motivation to continue their craft sometimes isn’t enough to get them on a path to somewhere where they begin to enjoy programming again. On the other hand Some lose their joy for coding while enduring through complex projects for customers who change their requirements for their Project to often to keep track, and the only thing that keeps them in the job is the pay. And some want to create a reputation for themselves and endure for as long as they can in order to climb the corporate latter to get to work besides programming.

    This gives me perspective of what I have always told people when they ask me what I want to do with my degree or what kind of work I do, I always had the same response, “I Just want to make money” and everyone I’ve said that too that’s in the industry has told me I got it all wrong but I always brushed it off. I figured a 6-figure salary would get me through even the most boring or tedious job but I realize that will not be the case. I want to make money as quickly and as easily as I can but if I have to suffer every day to get it then I wont want it anymore. The Other aspect I worry about that this pattern touches on is the “Golden Lock” which is wanting to learn something new and work in a new sector, but the position and the work you do now pays really well, and the issue of being stuck in a job you don’t want to do anymore worries me more than the money. I’ve spoken to a personal friend who makes quite a large amount of money but always complains that he’s been stuck in his IT position for so long because of the checks that get deposited into his bank account. A big concept is to be really good at a language or a certain side of CS but what if you get stuck in a place you don’t want to be anymore?

  • The Deep End-Week 8

    This Pattern Focuses on a major aspect of life which is the risk of failure, but with that risk comes the possibility of greatness. One of the biggest things that I struggle with while I passed through the classes was my worry of the future projects is would have to deal with in the higher classes, and every year I get to the next class the projects, while much more challenging than the previous year, were completed none the less. This pattern pushes the reader to understand that they must take risks and try to complete more difficult projects or undertake more tasks and be part of bigger teams with more responsibility in order for the reader to better prepare themselves for the real world.

                The biggest difficulty I think I face in my future career is my confidence in my ability to get the work done, the amount of times I doubted myself before starting a large project or before getting into a new class weighed on me a lot as I thought I couldn’t handle the workload or id be left in the dust while everyone else continued to work without me. That being said I have been able to keep up to the challenge with help from research and trial and error so I have had my fair share of failure. Things only began to really click for me when I got to my first class with Professor Wurst as it seemed like all of the subjects that I had learned in the previous years in school culminated together in the work I was doing for his first class. The issue I had was it seemed the curriculum was disjointed and the things I learned were important but didn’t seem to connect to each other that well leaving me in confusion.

                As we got into the Microsystems and started working with APIs I felt Confident in my work for the first time and these were the biggest projects I had worked on at the time, it was passed well for me and I was able to really work on a project I truly understood at the ground level. It was the first time that I felt like I could complete this work without the stress of second guessing my choices or feeling as if I wasn’t up to the task, and I learned much more as I completed these projects. Stepping up to the challenge allowed me to gain more than I did worrying if I was up for it.

  • Your First Language

    This pattern focuses on the idea of establishing yourself in one language that you may be able to base your career in the future, to better prepare yourself for when you get to the career you want to obtain. The most fundamental aspect from the pattern was the community side of learning a language as it states that you become a part of a much larger community of programmers who share their knowledge and even their code for the sake of helping each other learn and grow as developers.

                In my Experience I thought if I learned a lot of different languages, I could have the experience needed to land any job I wanted too as I had my foot in more languages than one, but what I didn’t realize is that being a good at one language is better than being decent at many. This was not only reenforced by the pattern discussed here but when I met with a family friend who is a developer at staples, he also dropped that bit of wisdom on me as he too thought that was but as he got closer to starting his career, he focused on mastering java, and it has steered him into a very lucrative job.

                Going back to the community aspect the reading mentions how having such large community that works from the same language allows for beginners to have more experienced programmers share the small tricks that they have learned in their experience to give the newer developers a boost in learning. There is a sense of passing the torch in a community like this which you rarely see in other industries, and it is refreshing the lengths that people will go for the sake of knowledge.

                Another useful aspect in the reading was the use of testing early on into learning a new language, as I was relatively new to coding when I started my degree, I went based on what the curriculum that the classes had for what projects I worked on. If I had started testing my knowledge earlier on and working on my own projects based on the language that we were learning on my own time I would have accelerated my experience with java.

  • Sprint Retrospective- Sprint 1

    In this Sprint the Biggest take away I had was coming to the realization that every aspect of working in the class either it be doing the research required or diving directly into the code itself it must be recorded and accounted for was time spent working. Being able to properly weigh the tasks that we had to do on the first time around was tricky as we always seemed to spend much more time on issues that we thought would take only a couple of minutes, but the beautify of it was that we could always go back and adjust the weight of the issues afterwards.

                The thing that worked the best for us was being able to delegate issues to ourselves and others who had the capacity to solve those issues relatively quickly and with little to no support required from others that would take away from the time that they would spend on their own work. The other big aspect that worked for us was being able to come together and support one another when we had issues in our separate tasks. I can think of many times where kelvin offered his support when I was having Problems with my committing in the backend issue I was working on during the sprint, and I can say that others in the group stumbled at moments when someone else came and gave input that allowed for the issue to be solved.

                The biggest change we would need to make as a team would be to definitely work on creating more issues when we are planning our Sprint, when we started this one we were under our target weight at around 28, in order to make sure we hit out goal weight we need to make issues no matter how simple we think the solution to issues may be. When we looked over all the issues, we had on our boards we realized that some of the issues we created could be broken up into more issues and some could even be weighted more.

                The change I would make as an individual is to focus more on the smaller issues as well as doing research on the bigger overarching issues that require more attention. Front end was the longest I had spent on issues during the sprint was looking over the front end as it was the one aspect the GuestInfoSystem that I had not touched, even in the previous class. I spent most of one week just doing as much research into VUE as well as how to navigate the front end and it was still difficult to wrap my head around what needed to be done for the issue. While this research was important and necessary I could have also spent time completing issues on other aspects of the System of which I had more experience on, however I was interested in seeing if I would be up to the task of taking on the FrontEnd.

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/69

    This issue was solved removing any of the Get/guest parameters from the GuestInfoAPI, which was found primarily in the listGuests.yaml

    https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/guestinfosystem/guestinfobackend/-/issues/69

    This issue was solved by removing many parts of the guest.js file as well as using the updated API from the other repository and importing it into this backend.

  • Apprenticeship Patterns Chapter 1 and Chapter 2-6 Introductions

    In the Reading I see the path that I had put myself on when I originally switched to Computer science, I found myself not only lost, but hopeless for a long time but I persevered through the years while making at-least some progress in understanding concepts as well as learned basic coding languages. the Biggest thing I took away from the reading was Dave’s story, I seen myself in Dave’s shoes as he didn’t get the hand of learning computers and learning perl with little to no luck until he found himself people to learn under, who showed him a better way of learning and better resources to follow rather than the ordinary path.

                The biggest thing I have learned while studying computer science is that essentially like in most classes you must teach yourself and take the time to understand the concepts and practice on your own. Much like how Dave did when he started out, in my case I began to understand the coding much more when I finally got to my first class with Professor Wurst. It seemed like the shift to more practical use of Coding as well as system designs it finally clicked in my mind how all of the concepts began to flow together. While I don’t consider to be a Direct Apprentice in this example but being a pupal of someone who is actively developing an working on their own projects and someone I can actually contact and study under.

                One other individual I have been learning under is one of my Sisters Friends who actually is a Engineer over at staples that I have been trying to learn under and get guidance from, he began to show me the ins and outs of what actual Software engineering work looks like as well as what steps to undertake in order to better prepare for when I gradate and begin my job search, one of the first things I started was converting my resume into a more project and software oriented template rather than the Business one I have.

    This aspect of learning what I can from people in Positions that I would want to be in is a important as rather than going through the setbacks I can see the tricks of the trade directly from people who were in my shoes in the past, sending me directly to where I want to be faster and more informed.

Design a site like this with WordPress.com
Get started