Category Archives: Week 13

Practice, Practice, Practice

For this blog post I will be discussing the Practice, Practice, Practice pattern. This pattern essentially says that you should practice, obviously. The goal is to get better and better and to build concrete skills in new areas. Looking back on all that I have learned I noticed that there was one thing that I nearly could have always done more of and that was practice. The initial blurb in this pattern says ” The people we know as masters don’t devote themselves to their particular skill just to get better at it. The truth is, they love to practice—and because of this they do get better. And then to complete the circle, the better they get the more they enjoy performing the basic moves over and over again.”(Apprenticeship Patterns) From this valuable quote I have learned that those that are truly skilled have put in a lot of time devoted to practicing. Within this year if I want to do anything, that is practice everything that I have learned at WSU. From basic java skills to git workflows. I see that with open-source software this may be a good opportunity to do such things. WSU has provided the resources and has made becoming a master in computers that much more of a reality and a valuable one at that. By practicing on my own I can learn from my mistakes and give myself the comfort to save space and observe my own mistakes. Then, by looking to the provided resources I can look where to emulate a more masterful understanding of computers in whatever specific area that I may wish to practice in. I can even look back on where I can specifically improve based on grades and the hindsight of completing a course. In the context of this specific course, it is working on a large scale project that are maintained by large groups of people. I understand that the traditional way of getting a position at some type software developer job is a good way to get in that practice but with where I am at now and where I want to be I don’t think that would be an optimal environment for me, at least not yet. If I have learned anything, its that I can get by on a set structure that school provides, but where I find the most growth and improvement is in the setting in which I put myself in.

From the blog CS@Worcester – Sovibol's Glass Case by Sovibol Keo and used with permission of the author. All other rights reserved by the author.

Draw Your Own Map

In this week’s blog post, I will be discussing the thought-provoking chapter titled “Draw Your Own Map” from the book “Apprenticeship Patterns.” This chapter delves into the notion that your envisioned career path may not align with your current employer’s trajectory and provides insights on how to forge ahead in pursuit of your own career aspirations. The author emphasizes a crucial point: it is solely your responsibility to identify what you want to achieve in your career and then take deliberate steps to initiate progress towards those goals. However, this does not discount the significance of seeking guidance from mentors or individuals who can offer valuable insights and steer you in the right direction.

One noteworthy aspect highlighted by the author is the tendency of successful apprentices to gravitate towards companies that share a “certain family resemblance.” This concept is rooted in the idea that apprentices make career choices based on their own values and principles. Put simply, the author suggests that as a programmer, it is unwise to join a company that lacks shared passion and values, as it will likely lead to a lackluster work experience. Another aspect that resonates with me personally is the emphasis on gracefully transitioning from one company to another while maintaining positive relationships with previous employers. This is particularly significant in the industry, as a tarnished reputation with former employers can potentially limit future opportunities.

On the whole, this chapter conveys a compelling message: change is a necessary catalyst for personal growth. While change can be daunting, it is an essential ingredient for becoming the person you aspire to be. The author offers a practical exercise to facilitate this process: write down a list of potential career paths that your current job can lead to, and critically evaluate if any of them align with your long-term vision. Overall, this chapter reinforces a valuable lesson that I have personally experienced: sometimes, in order to evolve as an individual, it is necessary to move on from your current employer, even if it means accepting a temporary reduction in income. The valuable experiences and personal growth gained in pursuing your new path far outweigh any financial considerations.

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

Blog #5

The pattern I read for this week was “Use Your Title”. It was about how to not let your job title at work affect how you work, and continue working as hard as you would if your title was something lower. I really enjoyed this pattern as I have never had this problem, but actually the opposite. I don’t let it get to my head because I always feel undeserving of what I get. I always feel like I can do better, and that I am no different from everyone else. It was interesting to read about how titles can have the opposite effect on people as well though.

This pattern taught me that titles do not matter, and whatever your title is, you should strive to be the very best that you can be. It has not changed the way I think as I never let a title get to my head, but it has caused me to think about others that I know this affects, and how this could really be of help to them. I think I should change the way I think that I am not deserving of what I get though, as I constantly work for what I get, and deserve everything that I have worked for. It isn’t like I am just doing nothing, and putting no work in at all. 

There was nothing that I particularly disagreed with in the pattern. In fact, I agreed with everything that was stated in it. Titles should never get to people’s heads, and they should not make you work any less hard. It is fine to be happy about your new title as you have worked hard for it, but you must know that I can change and go at any moment. To continue rising, you must continue putting in the work, and strive for even more. You should not get lazy and complacent of where you are right now. I think this pattern does not just apply to software craftsmanship, but everything. Everyone should read this pattern, as the issue of titles can be seen in every work area, and there will always be someone that lets it get to their head.

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

Blog #4

The pattern I read for this week was “Nurture Your Passion”. It was about how to keep your passion for software craftsmanship, while also letting it grow at the same time. It lists many ways to grow your passion from working on what you like to seeking out kindred spirits. I really enjoyed reading this pattern because passion for your job is something we all seek our entire lives. I went through all the pain and struggles all the way through college for a chance to get a job I am passionate about. Once you get the job though, you need to be able to keep that passion for your entire life, and even grow it into something more.

This pattern taught me many different ways to grow my passion for software craftsmanship. My favorite was studying the classics as I hadn’t really thought about it. That allowed me to change the way I think, and I am thinking about reading some books made by software developers of the past to learn from their passions. The way to a brighter future is by studying the past, so I should use the words of past software developers to help myself and improve myself. I thought the tip about seeking out kindred spirits is great too. You should try to find different people with similar passions as you, so you both can help each other grow, and keep what you are doing from getting boring. The more people that can help you grow your passions and help you learn, the better off you will be.

There was nothing that I particularly disagreed with in this pattern. I thought it did a good job giving different ways to grow your passions, and great reasons why it is important to do. Without growing your passions, it will soon leave you unpassionate, and lead to a decrease in your work. Passion that is ever growing for what you are going to be spending the rest of your life doing is extremely important, and it is necessary to have. I think everyone should read this pattern because it can be applied to everything, not just software craftsmanship.

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

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.

From the blog cs@worcester – Marels Blog by mbeqo and used with permission of the author. All other rights reserved by the author.

Software Development Approaches

A software development approach is a methodology that is used to guide the processes involved in the development of a software system. Different software development approaches provide different ways of organizing and coordinating the activities and tasks involved in the development of software. Some of the most common software development approaches include Agile development, Extreme programming (XP), Lean development, Test-driven development (TDD), and Waterfall model among many much more. These are just a few of the many different approaches to software development. Each approach has its own unique set of principles and practices that help guide the development process and ensure the successful delivery of high-quality software.

Agile development is a software development approach that emphasizes collaboration, flexibility, and continuous improvement. Extreme programming (XP) is a software development approach that emphasizes collaboration, simplicity, and feedback. Lean development is a software development approach that emphasizes the elimination of waste and the continuous improvement of processes. The Waterfall model is a software development approach in which the development process is organized into distinct phases, and each phase must be completed before the next phase can begin.

Test-driven development (TDD) is a software development approach in which tests are written for a new piece of code before the code itself is written. The goal of this approach is to ensure that the new code meets the required specifications and behaves as expected. In TDD, developers write a test that defines the desired behavior of the new code, and then they write the code itself. Once the code is written, it is run against the test to see if it passes the test. If it does, the code is correct and is ready for integration with the rest of the system. If it does not, the code is revised until it passes the test.

I selected thisblog post because I am interested in learning more about Test-driven development. After reading this blog post, I learned about the principles and practices of TDD and how it can be applied in the software development process. I also learned about the steps involved in TDD, including writing a test that defines the desired behavior of new code, writing the code itself, and running the code against the test to see if it passes. I found this process to be logical and straightforward, and I can see how it would be a useful approach for ensuring the quality of new code. I made use of this method (to a degree) while working on the homework assignments for this class. I believe that it significantly simplified the process as having a set goal in the form of tests, made it easier to update/ add code that will work with it. Overall, I found this blog post to be very informative and useful. I learned a lot about development approaches, and I plan to use them for my future projects.

 

Source:

Top 6 Software Development Methodologies

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

Software Development Approaches

A software development approach is a methodology that is
used to guide the processes involved in the development of a software system.
Different software development approaches provide different ways of organizing
and coordinating the activities and tasks involved in the development of
software. Some of the most common software development approaches include Agile
development, Extreme programming (XP), Lean development, Test-driven
development (TDD), and Waterfall model among many much more. These are just a
few of the many different approaches to software development. Each approach has
its own unique set of principles and practices that help guide the development
process and ensure the successful delivery of high-quality software.

Agile development is a software development approach that
emphasizes collaboration, flexibility, and continuous improvement. Extreme
programming (XP) is a software development approach that emphasizes
collaboration, simplicity, and feedback. Lean development is a software
development approach that emphasizes the elimination of waste and the
continuous improvement of processes. The Waterfall model is a software
development approach in which the development process is organized into
distinct phases, and each phase must be completed before the next phase can
begin.

Test-driven development (TDD) is a software development
approach in which tests are written for a new piece of code before the code
itself is written. The goal of this approach is to ensure that the new code
meets the required specifications and behaves as expected. In TDD, developers
write a test that defines the desired behavior of the new code, and then they
write the code itself. Once the code is written, it is run against the test to
see if it passes the test. If it does, the code is correct and is ready for
integration with the rest of the system. If it does not, the code is revised
until it passes the test.

I selected this
blog post because I am interested in learning more about Test-driven
development. After reading this blog post, I learned about the principles
and practices of TDD and how it can be applied in the software development
process. I also learned about the steps involved in TDD, including writing a
test that defines the desired behavior of new code, writing the code itself,
and running the code against the test to see if it passes. I found this process
to be logical and straightforward, and I can see how it would be a useful
approach for ensuring the quality of new code. I made use of this method (to a
degree) while working on the homework assignments for this class. I believe
that it significantly simplified the process as having a set goal in the form
of tests, made it easier to update/ add code that will work with it. Overall, I
found this blog post to be very informative and useful. I learned a lot about development
approaches, and I plan to use them for my future projects.

 

Source:

Top 6 Software Development Methodologies

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

Software Development Approaches

A software development approach is a methodology that is
used to guide the processes involved in the development of a software system.
Different software development approaches provide different ways of organizing
and coordinating the activities and tasks involved in the development of
software. Some of the most common software development approaches include Agile
development, Extreme programming (XP), Lean development, Test-driven
development (TDD), and Waterfall model among many much more. These are just a
few of the many different approaches to software development. Each approach has
its own unique set of principles and practices that help guide the development
process and ensure the successful delivery of high-quality software.

Agile development is a software development approach that
emphasizes collaboration, flexibility, and continuous improvement. Extreme
programming (XP) is a software development approach that emphasizes
collaboration, simplicity, and feedback. Lean development is a software
development approach that emphasizes the elimination of waste and the
continuous improvement of processes. The Waterfall model is a software
development approach in which the development process is organized into
distinct phases, and each phase must be completed before the next phase can
begin.

Test-driven development (TDD) is a software development
approach in which tests are written for a new piece of code before the code
itself is written. The goal of this approach is to ensure that the new code
meets the required specifications and behaves as expected. In TDD, developers
write a test that defines the desired behavior of the new code, and then they
write the code itself. Once the code is written, it is run against the test to
see if it passes the test. If it does, the code is correct and is ready for
integration with the rest of the system. If it does not, the code is revised
until it passes the test.

I selected this
blog post because I am interested in learning more about Test-driven
development. After reading this blog post, I learned about the principles
and practices of TDD and how it can be applied in the software development
process. I also learned about the steps involved in TDD, including writing a
test that defines the desired behavior of new code, writing the code itself,
and running the code against the test to see if it passes. I found this process
to be logical and straightforward, and I can see how it would be a useful
approach for ensuring the quality of new code. I made use of this method (to a
degree) while working on the homework assignments for this class. I believe
that it significantly simplified the process as having a set goal in the form
of tests, made it easier to update/ add code that will work with it. Overall, I
found this blog post to be very informative and useful. I learned a lot about development
approaches, and I plan to use them for my future projects.

 

Source:

Top 6 Software Development Methodologies

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

Software Development Approaches

A software development approach is a methodology that is
used to guide the processes involved in the development of a software system.
Different software development approaches provide different ways of organizing
and coordinating the activities and tasks involved in the development of
software. Some of the most common software development approaches include Agile
development, Extreme programming (XP), Lean development, Test-driven
development (TDD), and Waterfall model among many much more. These are just a
few of the many different approaches to software development. Each approach has
its own unique set of principles and practices that help guide the development
process and ensure the successful delivery of high-quality software.

Agile development is a software development approach that
emphasizes collaboration, flexibility, and continuous improvement. Extreme
programming (XP) is a software development approach that emphasizes
collaboration, simplicity, and feedback. Lean development is a software
development approach that emphasizes the elimination of waste and the
continuous improvement of processes. The Waterfall model is a software
development approach in which the development process is organized into
distinct phases, and each phase must be completed before the next phase can
begin.

Test-driven development (TDD) is a software development
approach in which tests are written for a new piece of code before the code
itself is written. The goal of this approach is to ensure that the new code
meets the required specifications and behaves as expected. In TDD, developers
write a test that defines the desired behavior of the new code, and then they
write the code itself. Once the code is written, it is run against the test to
see if it passes the test. If it does, the code is correct and is ready for
integration with the rest of the system. If it does not, the code is revised
until it passes the test.

I selected this
blog post because I am interested in learning more about Test-driven
development. After reading this blog post, I learned about the principles
and practices of TDD and how it can be applied in the software development
process. I also learned about the steps involved in TDD, including writing a
test that defines the desired behavior of new code, writing the code itself,
and running the code against the test to see if it passes. I found this process
to be logical and straightforward, and I can see how it would be a useful
approach for ensuring the quality of new code. I made use of this method (to a
degree) while working on the homework assignments for this class. I believe
that it significantly simplified the process as having a set goal in the form
of tests, made it easier to update/ add code that will work with it. Overall, I
found this blog post to be very informative and useful. I learned a lot about development
approaches, and I plan to use them for my future projects.

 

Source:

Top 6 Software Development Methodologies

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.

Software Development Approaches

A software development approach is a methodology that is
used to guide the processes involved in the development of a software system.
Different software development approaches provide different ways of organizing
and coordinating the activities and tasks involved in the development of
software. Some of the most common software development approaches include Agile
development, Extreme programming (XP), Lean development, Test-driven
development (TDD), and Waterfall model among many much more. These are just a
few of the many different approaches to software development. Each approach has
its own unique set of principles and practices that help guide the development
process and ensure the successful delivery of high-quality software.

Agile development is a software development approach that
emphasizes collaboration, flexibility, and continuous improvement. Extreme
programming (XP) is a software development approach that emphasizes
collaboration, simplicity, and feedback. Lean development is a software
development approach that emphasizes the elimination of waste and the
continuous improvement of processes. The Waterfall model is a software
development approach in which the development process is organized into
distinct phases, and each phase must be completed before the next phase can
begin.

Test-driven development (TDD) is a software development
approach in which tests are written for a new piece of code before the code
itself is written. The goal of this approach is to ensure that the new code
meets the required specifications and behaves as expected. In TDD, developers
write a test that defines the desired behavior of the new code, and then they
write the code itself. Once the code is written, it is run against the test to
see if it passes the test. If it does, the code is correct and is ready for
integration with the rest of the system. If it does not, the code is revised
until it passes the test.

I selected this
blog post because I am interested in learning more about Test-driven
development. After reading this blog post, I learned about the principles
and practices of TDD and how it can be applied in the software development
process. I also learned about the steps involved in TDD, including writing a
test that defines the desired behavior of new code, writing the code itself,
and running the code against the test to see if it passes. I found this process
to be logical and straightforward, and I can see how it would be a useful
approach for ensuring the quality of new code. I made use of this method (to a
degree) while working on the homework assignments for this class. I believe
that it significantly simplified the process as having a set goal in the form
of tests, made it easier to update/ add code that will work with it. Overall, I
found this blog post to be very informative and useful. I learned a lot about development
approaches, and I plan to use them for my future projects.

 

Source:

Top 6 Software Development Methodologies

From the blog Zed's Blog by Lord Zed and used with permission of the author. All other rights reserved by the author.