Category Archives: cs-wsu

Sustainable Motivation

For this week’s blog, I chose the Sustainable Motivation pattern from the Apprenticeship Patterns book. The Sustainable Motivation pattern is about keeping your motivation while working in the industry. While working in the industry, things can get tedious, real projects are more rigorous and can be exhausting and often frustrating. As an apprentice, you will encounter these problems while developing your technical skills. You will often find yourself working in the messy specified projects for customers with the always changing demands.

Of course, there are times when you love your job, and your ability to write code seems too good but they will not be your ordinary days. Most of the time there are going to be nasty problems, bugs, and to add to that, your manager wants it soon. That is why you gotta stay calm and focus on the long road. You will most likely stay in the craft because of money and would try to endure the long road. While sticking with it, you then find your love for programming returns. It is going to be a cycle of love and hate relationship. Many programmers get trapped by their motivation. Learning something new gets harder and you see no point in doing so when you are already getting paid for the things you already know.

I totally agree with this pattern. There are going to be an up and down moment while working, I’ve already experienced this problem with my current internship. As an intern, they do not really expect you to do a lot. They do not expect you to actually contribute much to anything they do but expect you do to what is minimally expected of you, and most of it is learning. In my internship, I usually finish the task that was given to me earlier than expected. I would always try my best to finish it without wasting time, and always check with my supervisor if it is what they wanted, but sometimes they are also busy or are not around so I am stuck there with nothing to do. What I do in such situation is go to another department or another employee, then I would always ask if there is anything I could help them with and try to learn new things.

From the blog cs-wsu – Computer Science by csrenz and used with permission of the author. All other rights reserved by the author.

Sprint 5 Retrospective

This week’s blog is about our fifth sprint. During this sprint, we were finally being able to start tackling the issues that we have created. I learned a lot during this sprint than the previous one. In the previous one, we were creating issues pretty much left and right, placing them in our task board and then people work on it. The problem is that these tasks are not really assigned to anyone, and you can have two people working on the same thing without them knowing. This made it hard to keep track of the people working on an issue.

During the planning phase of this sprint, we planned on finishing the front end of the food pantry form. We tried to finish talking about what styling to use and what should the form look like. We also planned on adding more attributes or questions to the form since the main purpose of the form is to create a report every month that they could send or submit to the Worcester County Food Bank. The initial form only asks about the student ID, SNAP assistance, housing status, government help they are getting, and the number of household/income level. The last question was very vague since it only shows letters a through h, but no context on what they mean. Then there are the attributes that need to be added to the form like zip codes, participation in federal programs, primary household income source(household number of employed, unemployed, and other categories), and ages in the household that is served by the food pantry. These need to be added to the form to create the report.

The second meeting in our fifth sprint was comprised of fixing how the issues are laid out and what issues are still needed to be published. During this time, we were still organizing the issues that were put on the repository. The other team kept on closing issues that are not yet resolved, or maybe it was but it was never pushed into the repository, creating duplicated issues or issues that can be placed into one issue since they both pretty much mean the same thing. We also tried to organize the branches that were created. There were multiple branches created that are not working and we did not know which is the correct branch that we could work on since communication with the other team is not ideal.

During the second meeting still, I tried working on how we could correctly store the student ID field from scanning it using the card scanner. The original format of the student ID when scanned is something like ;0000111111100? but we only need characters 5 to 12. When I looked around for functions that I can use in angular, I found this javascript function called slice which slices the string given the position of the start character and the end character. I wanted it to slice the student ID when you submit the form so that it would be stored as a proper student ID so I thought I could just write this.model.studentId.slice(5, 3) and it would do that when you submit the form then show it in the submitted form, but it did not work. Although, using slice on the html file actually does it. I think that since it is a javascript function, that may be the reason why it is not working, I would definitely need to test it again and hopefully have it working during the next sprint.

From the blog CS@Worcester – Computer Science by csrenz and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective 3

As we are going deeper in the class project, we are learning how to be more productive. After the first two sprints, that we created the project, the git repository and organize the projects between the official repository in CS-Worcester and our class organization. My team decided to work in the Search Bar component and … Continue reading Sprint Retrospective 3

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.

“Expand Your Bandwidth” Apprenticeship Pattern

I am writing this blog post about the “Expand Your Bandwidth” apprenticeship pattern from the Apprenticeship Patterns book. To summarize the idea of this pattern, it is about learning about a greater variety of topics than just what tends to be the most relevant. The chapter describes the problem as having a narrow understanding of software development that focuses only on the low-level details of past work. The solution to this is to just start learning about different things. I think that this is a relevant concept that I seem to be dealing with at the moment. My specialty is computer science, and I have a deep understanding of many of the fundamental concepts in computer science. Software development, though, involves much more than just computer science, and I have not researched software development beyond researching computer science. The problem here is that I have a narrow understanding of software development, and the solution is to research the other topics that are important to understand besides computer science.

I think that this chapter relates closely to the “Concrete Skills” apprenticeship pattern. The main difference is that this assumes you already have a full set of skills that are already being applied in a day job, and “Concrete Skills” is about developing those skills in the first place. I have not yet begun a career in software development, though, so these problems are effectively the same. I have a narrow understanding of software development, and this narrow understanding is a set of concrete skills.

There are often times that I do research new and unfamiliar concepts, but these tend to be concepts that are still within the field of computer science and not software development. I do have a goal of learning and understanding more, and there are a lot of topics that I find interesting enough to read about, develop some experience with and practice applying. This book constantly emphasizes the importance of a willingness to read, practice, research and learn, but it puts an equal emphasis on software development. My concerns should be lessened by just applying myself more toward software development in particular.

From the blog CS@Worcester – klapointe blog by klapointe2 and used with permission of the author. All other rights reserved by the author.

Apprenticeship Patterns CH 1& CH 2-6 Intro

Hello dear readers. Most of my future blogs, including this one too, will talk about this book that I started to read called Apprenticeship Patterns by Adewale Oshineye and Dave Hoover. In this first blog I will write about the first chapter and the into of chapters 2 to 6. 

When I got the book in my hand I was like: “What is Apprenticeship?” and while I was confused by this term I came across another unknown term called “Software Craftsmanship”. For a second I was thinking we were going to talk about ships. Okay okay, just trying to make it funny. However, let me go ahead and explain what these two terms are about. Software Craftsmanship in this book is used as a distillation of the values of highly skilled individuals that are interviewed in the book. Also, it is used as an expression of the kind of community that would like to be emerged. In my opinion, being a software craftsman is to be in a journey but to always try to do better, learn, seek, dedicate and focus more.

Apprenticeship is considered as the beginning of your journey as a software craftsman. everyone on board..we are leaving the port and this journey will be long! Apprenticeship is known to be as the state or process of evolving and always looking for faster an better way.From my experience at my job, this is one of those things that you would always be valued for.
A good start is half of the journey, my mom used to say. However, you got to maintain these skills by being a journeyman. A journeyman is another focus that will help you keep up with your craft. It is focused o building even larger portfolio of applications that demonstrates your progress in the craft. Failures as a journeyman would cause lots of harm.
Last but not least is master. Master involves performing all roles (apprentice and journeyman) and also focuses on moving the industry forward. Being a master means to have the superior skill as the most important part of being a software craftsman.

While reading the intro of chapters 2, 3, 4, 5 and 6, I realized that this book will help me grow a lot in mindset and understand what the steps of a software developer are. The cycle of software craftsmanship its just like the life cycle: Child – Adult – Old. In every step we will grow and learn even more. The most interesting and relevant chapter I am looking forward to read is Chapter 3. In a world where almost everything is about money, it is hard to choose and value grow opportunities. Most of the people define growing as only financially, but I don’t agree with that. It is indeed going to be a long road ahead of me and there will be wrong turns or several storms but that only gives you experience and makes you a better journeyman.

In my opinion, this book seems to bring some very good thoughts  and explanations about being a software craftsmanship in life. I am so looking forward to read this book and share with you guys author’s and my thoughts about it. Until next time..

 

 

 

From the blog CS@Worcester – Danja's Blog by danja9 and used with permission of the author. All other rights reserved by the author.

“Concrete Skills” Apprenticeship Pattern

I am writing this blog post about the “Concrete Skills” apprenticeship pattern from the Apprenticeship Patterns book. To summarize the idea of this pattern, it is about dealing with concerns about seeking a role on a team but not having any practical experience. I chose to write about this pattern in particular because I find it relevant to myself at the moment. I am searching through job descriptions and they all seem to prefer certain areas of experience that I do not have. This is also evident in our capstone project. The “solution” section of this chapter in the book says to gain some concrete skills. I do have concrete skills; my aptitude is for mathematics, data structures and algorithms – computer science in general. It refers specifically to “tools” and “technologies”, though, and I know nothing about that. It becomes apparent when I work on the capstone project that my expertise has no application here. This sort of computer programming has nothing to do with computer “science.” There is no logical problem to solve, there are only tools and frameworks to learn how to utilize in order to accomplish some basic tasks. My past experiences have not seemed to have prepared me to be any better than anyone else at approaching these problems. It seems, then, that the “concrete skills” that I need are of a different sort. The chapter recommends looking at the CVs of others and finding a common set of discrete skills that seem important to become familiar with. This seems like a good idea. In order to gain some level of confidence about being able to perform on a team, it would be helpful to become familiar with the skills and common knowledge among the demographic. Rather than continuing to study computer science, there seems to be an additional field of knowledge that I am unaware of a name for, which is comprised of tools and technologies that are required for certain software development tasks. It seems like it will be important for me to gain some “concrete skills” in whatever field it is this might be.

From the blog CS@Worcester – klapointe blog by klapointe2 and used with permission of the author. All other rights reserved by the author.

Craft Over Art

This blog is about another pattern from the Apprenticeship Patterns book. This pattern is about Craft Over Art. Choosing whether to add that extra feature that you think will impress your colleagues rather than focusing on what the customer specifies or want. This problem would occur to you more than you would think. We are not just programmers we are also artists. Creating beautiful, unique and creative applications are all within us, but if you are working for someone else, you might have to forgo of your creativity.

The book suggests focussing on delivering value to the customer rather than advancing your own self-interest. As a craftsman you are primarily building things in terms of the specification, working under someone and not indulging in your creative self. As craftsmen, we work for the customer. You need to do your best work in ways that place the interests of your customers over your desire to display your own skills or pad your resume. The book even says “If your desire to do beautiful work forces you out of professional software development and away from building useful things for real people, then you have left the craft.”  They said that the things we build for customers can be beautiful but it must be useful. That part of the process of maturation is developing the ability to sacrifice beauty in favor of utility when it becomes necessary.

I am split on this pattern. I kind of agree that we should do what the customer has asked us and enhance its quality, making it a software that can do almost everything that they needed. But, I also think that you can still practice art even if you are working for a company. You can inquire on your customer and see if they like what you are trying to do, but then again I see how this can conflict with the other software developers. Since you are not the only person that would be working on a project when you become an apprentice, there are things that others would think is not necessary to the software, so there definitely going to be things that gonna have to be agreed upon.

 

From the blog CS@Worcester – Computer Science by csrenz and used with permission of the author. All other rights reserved by the author.

Sprint 4 Retrospective

Since the last sprint retrospective blog post, our team has begun to work on some of the components described in the first video. We are referring to the template wire frame layouts from the Zeppelin website, and we are working on form 1d in particular. It is still not very clear how to move forward and what to work on; the only way to make any progress is to keep focusing and thinking about what can be done and what to try looking at. The Angular Materials Design seemed to open the way into making progress. It established a much clearer way to begin the actual programming part of making the components. Everything we have done up to this point seems irrelevant now, but now things seem to be picking up in pace.

I have not begun writing any code myself, so my goal for the next sprint is to start writing code and finish an actual component. With the new angular materials design tool we are using now, this should be doable, since a lot of the code just comes from there, and it’s just a matter of implementing it by changing some small details. Progress has been slow, but progress is being made.

From the blog CS@Worcester – klapointe blog by klapointe2 and used with permission of the author. All other rights reserved by the author.

Why doctors hates their computers?

Imagine you are a pilot, the world’s best pilot, and you are told “we are updating your control panel to make it more universal so that everyone can use it”. You show up to work one day and the entire control panel has now been reversed and is in Chinese. Chinese was never part of … Continue reading Why doctors hates their computers?

From the blog cs-wsu – Kristi Pina's Blog by kpina23 and used with permission of the author. All other rights reserved by the author.

Sprint 4 Retrospective

This blog is about our third Sprint. This sprint is a bit better than the last one. I finally think that we are making some progress towards the Food Pantry project.  During this sprint, we did a lot of organization and more planning. We have decided to put our board into Github.

We created a project board and created issues on github as sprint backlogs or product backlog. This process was not easy since I do not have much experience with creating issues on github. I also find it weird how we create issues and use them as a story, but it is actually pretty efficient when you got a couple groups working on a project. During this sprint, it was a little tough how to separate what is an epic, a story, or a task. We were deciding in the group what is considered a story or a task. Most of the story we made had to be broken into a task so that it is more descriptive.

Another thing that kind of made it hard is that we need to create issues in two github repositories. There is the internal repository for the cs-448 students only which are the two group and there is the LibreFoodPantry which is more for the more serious issues and is available to others. I was not sure what difference is written in the LibreFoodPantry and the cs-448 repository. For now, I think it is mostly tasks that are put on the groups repository and the major stuff like one card scanning are placed into the public repository.

Lastly, we got ourselves a magnetic card reader. We are gonna be using it to get the student or customer’s ID from their OneCard and use it to find their information from the database. It will be stored along with their information. If an ID does not exist in the database, we would prompt them to fill out the intake form. Then we store these attributes into a database. I think we should try to design the database along with the food pantry’s front end. Since it feels like there is not enough task for everybody to do, I would probably try to make a rough draft of database design.

In this sprint, I learned more about agile development. This time we are doing it in github by creating issues. I also learned that I should always try to break down stories that are very vague and making tasks from it. I also learned that the process into creating a project is not as straight forward as it seems, there is a lot of things that have to be considered like which programs to use, what server, and other little things that make up the project. This time, we actually got our hands to a magnetic card reader where we could swipe the OneCard to. We figured out that it takes the ID number that needs to be formatted before it enters the database. Hopefully, we can manage to get it working during the next sprint.

From the blog CS@Worcester – Computer Science by csrenz and used with permission of the author. All other rights reserved by the author.