This week I read a blog post that I thought really related to the class about why software development is important. The blog is about a deep dive into the career of a software developer. It starts off describing software developers as the masterminds behind computer programs. The blog then gives what different types of software developers do, like how applications software developers are responsible for designing computer or phone apps, and systems software developers are responsible for operating systems level software. Afterwards , the skills needed for software developers are shown. Some of the skills are problem-solving skills, teamwork, motivation, and analytical strategy. The blog ends with the salary of software developers($110,000), and a message to motivate the reader for the future. I selected this blog post because software development is my dream job, and I thought it would be interesting to read about what I should expect for the future job. This blog has a good, in-depth description of how Software Development works, that I think every CS major should read. I think this blog was a great read that I recommend for many reasons. One reason I would recommend this blog is because of how deep it goes into the job of a software developer. The blog goes over what to expect, skills needed, the pay, and does it all at a high level. Another reason I would recommend this blog is because a lot of jobs that we need CS-343 for will all be similar to software development, so even if you do not want to become a software developer, you can still learn something. The last reason I would recommend this blog is because it could get people who don’t like software development into the area by showing them what to expect from the job. Knowing what to expect could really help open the doors for others to be interested in this field. I learned how many of the skills that are needed for software developers I have already like Java, and I also learned the skills that I have not learned yet like DevOps. The material affected me heavily because it showed me what skills to learn, and what to expect if I want my future dream of software development to come true. I will take all the knowledge given to me through this blog into the future by getting better prepared to do this job. Now that I know what to expect from software development, I will try to build on it for the future.
This week I read a blog post about eight ways to make software development go by faster, and I thought it was an interesting read to share with everyone. The blog starts off describing time as the most valuable resource in the software world, and how faster is better. The blog then goes into the different options of speed such as marathons, extreme sprints, moderate sprints, and intervals. You can select between the four for whichever project you are doing. The eight ways are shown as skills, experience, system complexity, technical debt, refactoring, slow automatic tests, overtime/deadlines, and passion. It concludes by describing software development speed as complex, and that it has no easy solution, but it does have a lot of different solutions depending on how you work. I selected this blog post because this class is a software development focused class, and I see my future in that area, so I want to know the most about it.I think this blog was a great read that I recommend for many reasons. A huge reason I selected this blog is because I want to become a software developer myself in the future, so it was a read that I could enjoy. It is good to read the blogs on things you care about because it makes the recommendation much more credible. Another reason I selected this blog was because it does a good job of showing the most important part of a software developer job. How to make more out of less time. It gives a huge number of different ways to solve the problem, and they all are viable answers. The last reason I will be going over is that it does a good job of tempering expectations. Time management is an important resource when it comes to software development, but it is not just some beginner’s problem. Experts still struggle with it occasionally today, so do not expect it to be an easy problem to answer. I learned about how important speed is to software development, and how many factors contribute to it, and how complex it is.This material affected me hugely because it showed how important conserving speed to save money is, and how I can use certain methods in the future to make projects go faster. I will take all of this knowledge with me as I continue in my career. Everyone who wants a career in software development needs to read this because it shows how time literally is money.
This week I read a blog post about the top 10 most popular software architecture patterns, and I thought it really related to this class. The blog starts off going into what software architecture patterns are, and why it should be focused on. The blogger describes the patterns as an outcome of the design principles architects use and the decisions they make. The blogger thinks it should be focused on because it enables a software system to deliver its business, operational, and technical objectives. The blog then gives some tips on how to know if your patterns are good, and then lists the 10 most common patterns. The blog ends on how to evaluate which pattern is best for your project. I selected this blog post because from last week I wanted to go deeper in the world of software architecture, and I thought the different patterns was a good way to go. I think this blog was a great read that I recommend for many reasons. A huge reason was that it really is good at giving background information before really getting into the list, so that you understand what a software architecture pattern is. Before I read the blog, I had no idea what it was, and that made me want to learn more, and this blog helped with that. Another reason I would recommend reading this blog is because it gives the top 10 most common patterns. That is important because for a career in this field, you have to know the most common patterns because those are the ones that will be used the most in future jobs. If anyone is thinking about a career in this field then they should definitely know the 10 patterns. The last reason I will mention is that in the end, the blogger explains that to get the right pattern for your application, software architects with that skill are the most sought after, so it really should be a big reason to learn more about patterns because you can really use it to your advantage. I learned what the software architecture patterns are, and that the software architecture models make it easy to reuse them in other projects since you now know the decisions and trade-offs. I also learned that the interpreter pattern, and the layered architecture pattern are two of the most well-used patterns, as I think I have done something similar to them before. This material affected me hugely because it showed how important the patterns are to software development, so it showed that I will be needing it if I ever want to become a developer in the near future, so it is really great to know this stuff. I will take all of this knowledge with me as I continue in my career. Everyone who wants a career in software development just has to read this blog as well.
This week I read a blog post that I thought really related to the class about why software design is important. The blog starts off talking about what Software Design is and the different types of it. The blogger describes Software Design as a layout for structuring the code of your software application. The different types of software design are listed as Architectural Design, High-level Design, and Detailed Design. Each type gets its own paragraph description to teach you a bit about them. Then it goes into what the blog is about with the importance of it, separating it into four different points, and then showing a chart of the process. The blog ends with a conclusion about how their company can help you with design. I selected this blog post because I was always very interested in Software Design because I do not know much about what that area is about. This blog has a good, in-depth description of why Software Design matters, that I think every CS major should read. Many students just take a class to get the grade and not care ever again about the material anymore, and I am against that. Every area in Computer Science has something to teach you outside of school. I think this blog was a great read that I recommend for many reasons. I love how the blog separates different points and types into its own section, so that everything has its own explanation, and you do not need to go look up another site to understand information on this blog. The chart that shows the steps in Software Design flow is really well made, and shows you the right way to design from understanding the requirements to deploying the aspects of development into the design itself. It is a perfect introduction to somebody interested in working in this field, and shows exactly how good designs are made. Another reason I would recommend this blog is because of how every part of an application hinges on the design. No matter how hard you worked on your part of it , if the design is bad, the whole application will fail. I learned how modularity makes the software simpler by giving the convenience of future changes, the privileges of good Software Design, and how bad Software Design can destroy an entire application. The material affected me heavily because it showed how the Software Design is the backbone of an entire application, so it should never be taken lightly, and always should be put in the highest priority because it could make or break the application. I will take all the knowledge given to me through this blog into the future through looking even further into Software Design in the future, because it will be a big part of me trying to achieve my Software Development dreams. Now that I know why the design is important, I will spread further into what makes a design great or poor, and how design is improved.
Hey everyone! My name is Anesti Lara, and I am a junior at Worcester State University majoring in Computer Science. I will be using this blog as a place to let out my thoughts on the world of software construction, design, and architecture throughout the semester. I hope you all enjoy the ride, and I will be back with real content soon!