Posts

Showing posts from September, 2022

Cry Me A River: You Can’t Escape Documentation

A company's team members, project goals, time constraints, budget limitations, and resources influence the methodology most suitable for building software. Changes in the plan cost money in any methodology. It would be a mistake to blindly state that waterfall is outdated, just like it is premature to blindly state that agile is automatically unorganized and unprofessional. Waterfall works well for companies developing first-time websites or applications on a fixed timeline or budget. Agile works well for large companies performing team-driven website maintenance that includes development with limitless project budgets, no hard deadlines, and job security where everyone receives payment regardless of unlimited changes to the project life cycle. Personality makes the perfect company culture subjective to the developer. For example, I am more productive without morning meetings, while morning meetings help others feel focused and supported. Some people enjoy having a step-by-step pro...

Quality Assurance: Always Operate with Integrity

Customer satisfaction requires intentionally considering their perspective and presenting the solutions you have brought into their picture. The QA process ensures that your product meets the client's needs. Could one perform their own QA process? Sure, but another set of eyes eliminates bias, and experienced eyes always benefit both the project creator and the consumer. While working as a behavioral analyst, I worked in a field where the quality assurance process determined the care a human being would receive. I have worked for companies that delivered top quality, data-driven care that changed lives, and I have quit companies that exploited others. In my opinion, a company that lacks a robust QA process produces unethical work. In data-driven environments, customers often fail to recognize when a seemingly reputable company takes advantage of them. Yet, according to the data and testing, anyone with a drop of experience knows when a company behaves unethically. The QA process f...

Debugging: You can't always get what you want

Debugging is a natural part of writing functional code. Code, like life, doesn't always work out the way we want it to. Debugging someone else's code can be even more challenging than writing your own code because other people will approach problems differently than you would. I have experienced moments of extreme irritation while attempting to solve bugs in a program; however, the more I write programs, the more I am learning to approach problems from different vantage points. I used to find debugging frustrating, but I now see it as an everyday process. It doesn't actually upset me like it used to. I just feel more motivated to resolve problems, and I have learned to step away and take breaks throughout the day. I am learning to develop confidence that I will eventually resolve the issue in the code. It's not a stressful thing for me anymore. It's what I do every day, and I enjoy the challenge.   Debugging presents a challenge and an opportunity to learn. If I am ...

Appropriate Company Culture Produces Better Code

  A good design considers the scope of the problem space and sets the project up for success. Areas of concern must be reduced to manageable components through clear documentation. Documentation illustrates a visual presentation for stakeholders and prepares team members to perform with an organized, united front. A good design will produce documentation that guides the developer in constructing a system with requirements that facilitate optimal project performance.  Review meetings ensure that all participants remain on the same page. Clarifying details and short, concise explanations of review materials help bring clarity to the audience. Presentation of previously reviewed materials with a high-level review of facts describes potentially misunderstood concepts to outside audience members and allows the audience to ask questions or provide feedback.  A thoroughly analyzed system develops a more substantial potential to grow. Considering multiple perspectives facilitates...

Know Your Worth and Always Do Your Best

Regular communication is critical to software development because sometimes, things do not work as expected. Communicating that you are going to miss a deadline before you miss the deadline ensures that everyone is on the same page and helps resolve unanticipated delays. Potentially missing a deadline will happen in the real world. Frequent communication prepares other team members and stakeholders to expect these unforeseen delays. As I gained experience working in high-risk, complex situations where my actions could potentially have long-term consequences, I learned that my boss would absolutely shape the quality of my life. It's important to work with a boss that knows your value. It's easy to miss the importance of communication or relay a deadline that is YOUR deadline and not the deadline of the deliverable. It's essential to structure your communication toward when you can deliver your work as opposed to when you plan to finish it. I work hard to reach deadlines; how...