Posts

Apprenticeship Patterns, first impressions

 My software dev capstone is a few weeks in, and I have been tasked with reading a textbook titled 'Apprenticeship Patterns', written by Dave Hoover. The book reframes software development in an interesting way; it structures it as a craft, with the necessary skills developed through an apprenticeship as if it were a conventional trade. The apprentice has a master they work under, who acts as a goal to work towards, with the intention of becoming one themselves. Importantly, it presents this not necessarily as a rigid structure or protocol to follow, but more-so a mindset to inform your decisions. Instead of seeking out a specific track to follow, it suggests you try to turn your day-to-day operations as opportunities to learn, by seeking feedback or mentorship. In other words, it encourages you to actively look for improvement.  I haven't read the entire book, so far I have only read the first chapter and the introductions of a few subsequent chapters, but it is pretty int...

443 Blog One - Test Cases

 For my first blog post, I read a blog written by Steven Cross, a professional software developer. The blog is titled 'The Curious Case of the Test Case", linked here: https://stevencrossblog.wordpress.com/2017/03/15/the-curious-case-of-the-test-case/ I chose this blog because it helped introduce me to a new but important aspect of software testing in how you actually go about "structuring" it.  In the blog, Steven talks about test cases, and how they are a very useful and important aspect of software testing. Test cases, as I understand, are documented procedures that ensure software behaves as expected under a set of pre-defined conditions. In other words, a set of steps laid out before the testing actually takes place. He talks about how these test cases provide a consistent structure that can be adhered to, and how this structure can be especially useful for new hires in their onboarding process, leading them to better understand how the software works. He also t...

CS-448 Setup Blog

  Hello, my name is Joshua Donovan. This is where I will be posting my blogs for WSU's CS-448 course. 

CS-443 Setup Blog

 Hello, my name is Joshua Donovan. This is where I will be posting my blogs for WSU's CS-443 course. 

A quick look at front-end

Hello! For this quarter’s blog I read a post written by Jeff Bridgforth, titled “ Think like a front-end developer. ” Coming to the end of the semester we have started working with the frontend, and I got the impression that it would be useful to see, as with my other blog posts, the insights someone who actually has experience working on it may have. As such, I wanted to find a blog that could give me an idea of the practical priorities and decision patterns used in real projects, this post does that well.  To quickly summarize, a front end developer is someone who designs what a user/client/etc. would actually see when they interact with a program. It encapsulates everything from the UI to how it interacts with the backend, or what goes on behind the scenes. Jeff outlines the basic mindset he believes front-end developers should have. He explains that the three main languages used for front end (html, css, and js) should be "partitioned" specifically for certain roles: html...

A look at REST API designing

For this quarter's blog I read " The Day My Role-Based REST API Design Collapsed (and What I Learned) " by Sidharth Devaraj. The blog talks about REST APIs, specifically Sidharth's experience with them when he was new to backend development, and his reflections on a key mistake he made when designing his first REST API. To quickly summarize what that is; per GeeksForGeeks a rest API "...is a type of API (Application Programming Interface) that allows communication between different systems over the internet. REST APIs work by sending requests and receiving responses, typically in JSON format, between the client and server". Following the theme of my previous blog, this is a topic pertinent to what we have recently been doing in class, and something I would like to see a human perspective on to gain insight about how I may utilize it in the future.  Sidharth starts by explaining that he needed to make an API for an application he was working on. He mentions ...

A look at Refactoring

 Hello! For my second quarter blog, I read a separate blog written by Yung Han Jeong, titled " Spaghetti Deconstructed: Lessons from my first refactoring ". As its name suggests, this blog talks about Yung's personal experiences and advice pertaining to refactoring. For those who don't know, refactoring is essentially improving existing code in a way that doesn't affect it's functionality. This can be as simple as changing variable names, all the way to completely restructuring the program. In our class this semester, for a very large portion of what we will be doing, refactoring is an integral part of it. I would say at this point I am pretty comfortable with the topic, however I figured that I would like some sort of anecdotal, first-hand account of someone's actual experiences with it, as everything we have been doing has been in a classroom setting.  Yung's blog recounts her experiences in refactoring some of her earliest code written when she was ...