Skip to main content

CST 438 - Final Week

This week marks the end of CST 438, and a short, yet intense learning experience about software engineering. Although the work load was tough at times, and especially during unprecedented events happening in the world at the same time, I feel proud of myself for making it this far.

I learned a lot of useful things in this class that will definitely help me out in my current job working as software test, and in any other future jobs/careers I might pursue in software. Five things I considered the most important are:

1. Always create requirements that are clear and concise, along with getting all stakeholders to agree on these requirements. This allows for efficient development and realistic goals when making an application, and also wastes less time and resources if conflicts arise over what requirements are/aren't wanted, or in the worst case having to change requirements and lose time by starting over on certain aspects of the project.

2. Microservices are powerful, modular tools, but they're not always the best solution for an application. Starting an application as a monolith creates less overhead and is easier to manage, and also gives a development team more time to understand the application and increase their technical skills. Switching over to microservices should only happen once there is a clear need for them, such as an application requiring to scale beyond what its original monolith design can do.

3. Writing good test cases saves debugging time and chasing down pesky bugs that could've been avoided, freeing up precious development time.

4. Code reviews are an important tool for developers to focus on their "weak points" in technical skill, and are useful for development teams as well for learning good coding practices.

5. Using a centralized version control system such as Git is essential for any kind of software development project, even solo projects. At the minimum, a VCS system prevents data loss by saving snapshots of code repositories, but its real strengths lie in allowing teams to easily collaborate on software through development branches and pull requests (along with integrating code reviews!). 

Comments

Popular posts from this blog

CST 300 - Week 4

Educational Goals My current educational goals are to finish my bachelor's degree in computer science while also gaining a deep understanding of the fundamentals along the way. I have always believed that a solid understanding of the fundamentals goes a long way in any skill since you always refer back to them. When I have gotten stuck on a problem or some skill in the past, I have always taken a step back, broken down things into smaller pieces and remembered my fundamentals, and doing so has helped me through a lot of academic and professional work so far. Although I already know basic programming and data structures, I want to learn more about them and discover new ways of thinking in order to solve complex problems.  Career Goals I started a career as a full-time software test analyst about two months ago. Even though my job doesn't involve a lot of programming, getting a degree in computer science would be really helpful in all aspects of my career, such as identif

The Final Journal

It's the end of a long, four year journey, and what a journey it has been. I never thought I could pull off finishing my second bachelor's degree four years ago when I first went to that introduction to programming class at my community college. I would like to thank all the friends I've made along the way and the people who have helped me through the last two years. Although it was difficult at times taking class while working 40+ hours a week, I'm proud of myself for making it through. I don't think I'll be a student enrolled in classes anytime soon, but I'll always be a lifelong student. See you all around.

CST 499 - Week 4

This week, our team finished most of the major features of our application, CONVEE - aside from front end style components and changes to the user settings page, our application is almost feature complete. I am proud of our group for our accomplishments and making it this far in the program. Additionally, we also finished updating our ILP pages and put together our video outline for the project video. As I have a good amount of experience now in video production (I have edited almost every single required video in each class I've taken so far, both solo and group), I am looking forward to producing this one. This week's topic covered job interviews. I don't have much experience as an interviewer myself, but one of the tips I received from my manager about interviews was to answer each question confidently, even if you feel like you don't know the answer. I feel as if that approach can backfire at times, however it's always good to approach a new or unknown situa