Considering an MBA, Consider Western Governors University

I have written before about attending and more importantly graduating with my MBA.

I considered many different schools and programs when I decided to pursue an MBA. One of the drawbacks, with many of the schools, was that they required the student to attend the classes on campus, and for two full years.

I had work and family commitments that made it difficult, and it wasn’t just during the week, it would include weekends. I looked for an online program that was ACBSP-Accredited, helping me to learn what I needed in business, finance, marketing, and operations. I made the decision to attend Western Governors University. Once you are enrolled and accepted into the MBA program, you will be assigned a mentor, and they work closely with you to navigate the school’s resources, the classes, and the exams, including the capstone.

If you are considering an MBA degree, and have similar work or personal commitments, perhaps WGU is for you!

Thoughts On ChatGPT

I have been testing with ChatGPT over the last several weeks, right, or wrong, good or bad, I am curious to hear what others think on the topic. Keep in mind, ChatGPT may not always be 100% correct in terms of its responses, but at this point, it’s far more important to understand just how ChatGPT is thinking, evolving, and how quickly it learns.

Pros-Good/Great

  • It can learn quickly and improve over time, its always learning
  • It’s scalable, with the ability to crank out huge amounts of information, which is ideal for brainstorming an idea, or concept with high demands, maybe not specific parameters or requirements.
  • It is pretty accurate in terms of its responses, but keep in mind it was trained on vast amounts of data which is now a couple years old. ChatGPT generates consistent output, which helps reduce, not eliminate the likelihood of errors.
  • It’s FAST, and can quickly generate responses, often in real-time.
  • Using Natural Language Processing it understands our inputs/requests and returns human-like outputs.
  • It has the ability to quickly and easily generate examples and explain things to us.
  • It has capabilities, which include remembering, allowing engagement in terms of follow-up corrections, and can even decline requests which are inappropriate.
  • We can customize the outputs, allowing us to dial in a specific style, tone, or format.
  • OpenAI technology: ChatGPT is built on OpenAI’s cutting-edge AI technology, making it a state-of-the-art language model.

Cons-Areas Of Improvements

  • It sounds so confident, even if the response is incorrect, it sounds convincing until you fact-check it.
  • It does lack some elements or creative flavors, which may be attributed to the exact information it was trained on. It may not be thinking of all the fresh new ideas, but it can quickly generate a fairly long list of ideas or topics.
  • Perhaps, this goes without saying, but the overall quality of the outputs generated by ChatGPT will only be as good as the quality, amount, and timeliness of the data that’s used to train it.
  • Depending on the use case, updating and maintaining a ChatGPT system may be very complex and not something organizations can bring in and support easily. This is obviously an area where we could see more service providers offering a fully managed platform that offers us access to prebuilt tools and services.
  • Does not create or write original content.

When Technology Is Useful

As someone who works in Technology, the importance of having the latest tech in my personal or professional life only makes sense when it adds value to my life. I find myself being somewhat selective, filtering out the noise, not allowing all the latest or greatest tech into my life, simply put unless it’s useful.

Growing up with a near-constant flow of high-tech innovations, this was a period for many that ushered in everything from game consoles, mobile phones, flat-screen TVs, social media, cloud computing, and higher-speed internet access. This undoubtedly created some pretty high expectations for the tech and products that evolve next.

This brings me to a personal, consumer product experience I had recently when our family replaced an appliance, an old clothes washer. We did our typical research prior to purchasing, covering mostly non-technical aspects such as price, overall reliability, customer service, and reviews from happy and not-so-happy consumers. We also looked into the more technical aspects and features covering such things as being network connected (IoT), having an app, notifications, and other useful information. To my earlier point, maybe I have simply grown up among others with greater or higher technology or product-feature expectations over the years, but when we finally got our new appliance, outside of the core features and functionality, which were great, the app and connected features were really lacking. Honestly, with the App-software and features, I was hoping for something more, I was looking for something more interactive, something more beyond the reminders/alerts, push information, and assigning tasks to others over text messages.

To wrap up, whether it’s an appliance or something else being rolled out based on the various consumer feedback, the technology needs to focus on delivering what’s useful and less unnecessary noise.

Rethinking DevOps and Engineering Teams?

Knowing where you are headed, and where you have been

Today you may have pilots/POCs (proof of concept) that have skipped critical phases such as MVP (minimum viable product), and MMP (minimum marketable product), in other words, you have pilot/POCs that went straight into a live production environment.   

Perhaps you have other scenarios where the pilots/POCs made it to the MVP stage, but the cross-functional teams necessary to support were not included or kept, whether this was done due to time or budget constraints isn’t always completely clear. At the MVP stage, you should understand the ultimate objective and the problems you are trying to solve for customers. Additional team members will likely need to be brought in to represent the various areas such as security and the Ops/Infrastructure service. The security and service functions help to define the non-functional elements which support this live production environment, beyond simply the Pilots/POC environments. The security functions are particularly important to ensure that you are aligned with specific data privacy/compliance requirements, in addition to following and implementing various best practices around how you will store and transmit the customer or other protected-sensitive data. 

You may also have prior scenarios where you have taken your pilots/POCs to the MMP stage. Customers who were actively using a particular product or service, but as with the MVP stage, the security and Ops/Infrastructure service teams were not included, or the staffing wasn’t adequate to support running/growing a live environment beyond the POC.  

Team Approach and Alignment 

The above section is important to cover first, as I think it helps to communicate where you may want to go next with teams which also includes DevOps-Platform, engineering, and security resources.   

As you continue ramping and perhaps even preparing for additional Pilots/POCs with your current fleet of Products and Services, you need to plan how your teams will do the work, and specifically what types of work they will be doing.  I will cover this in greater detail below, but essentially, you need to be able to break down these larger projects/problems into micro tasks that fit within an agile team. There are too many different domains, and subdomains that exist today within any given Product/Service – infrastructure and systems the team supports today.  

  • Teams/Squads with experts for each of the POCs 
  • Active Stakeholders which include Product Owners or the equivalent  
  • The team will have general software developers/engineers, and platform (IT Operations/Security) engineering resources partnered together to accomplish various work items, tasks, etc as deliverables in each sprint. Sprint reviews help the teams, which include the various stakeholders, leadership/management, and other stakeholders with visibility, accountability, and communication.    
  • Documented, evolving but clear service workflows, escalations, and interactions with the other teams. 
  • Current and ongoing documentation    

Near-Term Decisions

  • Backfilling/hiring for your principal/chief engineer/arcitechture role(s)
  • Consider moving to one centralized platform to track your work, store and update documentation – maybe its Notion, Basecamp, JIRA, etc.    
  • Moving to one ticketing system for Development, Security, and Service-related issues – maybe JIRA Service Management or something similar.  
  • Communication platforms (Slack, Teams, etc) 
  • RD time – Friday afternoon or another time when team members can work on CIs, other low-hanging fruit work items in the backlog 
  • Do we want teams to use Tribes, Squads, Teams, and Departments? The goal is ultimately to have smaller teams following agile.  
  •  Platform Engineering/DevOps Teams and Topologies 

Long-Term Issues and Decisions

  • Solutions to help teams manage the unplanned work coming in 
  • Leveraging some RD time, enablements  
  • Reducing the amount of context switching issues between projects, tasks, products, customers 
  • Reducing Longer lead times
  • Teams managing/handling platform/system support/break-fix, need a better way to identify, log and track, prioritize with the best and available resources. 
  • Teams/Resources managing/handling implementation/migrations, onboarding, and ongoing support, same as above, need a better way to identify, log and track, prioritize with the best and available resources. 

Other Potential Issues 

  • The engineering teams can become too large 
  • Systems can become monolithic 
  • Work can become blocked across software engineering and service/operations resources 
  • Teams/members become too specialized which can create dependencies 
  • Software/platform/systems can become too large and complicated
  • Documentation becomes nonexistent or not kept up to date 
  • Original/Key team members leaving an organization taking critical knowledge and specialized skills and domain knowledge 
  • DevOps resources may face a large number of requests from the various engineering squads/internal customers.  As those product squads – software engineers all advanced and leveled up, the requests coming in can became more domain and subdomain specific.   

Proposed Team Structure – Includes Software, Platform, and Engineering Resources

  • Using more of a micro team/squad approach, project/work items can be organized into two-week agile sprints and required team members – resources can be bundled/grouped to accomplish a sprint goal. Having available DevOps FTEs, for example, could be assigned along with another engineering resource.
  • The smaller/micro teams help with frequent, focused communication. 
  • Instead of a centralized DevOps person/resource, having more of an embedded platform engineering/ops embedded into dev teams/squads. It will take some time to find the flow that works, but this really will depend on what works for the various teams.  
  • More focus on the domain and subdomain skills and knowledge required. 
  • For each of the potential solutions products and services defined platform required, and the services needed to run, scale, and secure the solution.     
  • Responsibilities for building, deploying, supporting, and retiring a specific service within a business. More business and customer focused. 
  • The teams below will exist in some part to reduce the number of disruptions, distractions, and overload that’s placed on the stream-aligned team.  
  • External/temporary help-support/services to help the teams quickly upskill or implement other best practices to support the stream-aligned team. 
  • Provides specialized services such as machine learning, and analytics/reporting components.  
  • Working with the team leads, and principals to discuss a new team topology and approach.   
  • Based on the adoption and effectiveness of this new approach, we would then consider whether to roll out a similar team structure for other teams within an organization.

Honest Gratitude

It’s important to have big dreams and goals throughout our lives, but it’s also important to give thanks and acknowledge what you have and where you are at this very moment.

With Thanksgiving around the corner, I’m reflecting on all the amazing things I have today in my life. I have those days like anyone else when I ask myself why don’t I have this or that, why am I only here, when I should be over there doing that?

These are the times when I remind myself how much I truly have, and how fortunate I am to have my Family, Community, Career, House, etc. I feel truly blessed, and I often need to remind myself to pause and be thankful for what’s right in front of me. Could there be something better waiting right around the corner, maybe, but for today I am thankful for what I have and it’s enough. I am grateful I currently have a job, and it’s a job I love, considering the current mass layoffs and economic uncertainty.

Remember, for each thing you have in your life, there may be someone who has less, and who wishes or is working hard toward achieving what you have today. If you can help someone out, maybe it’s time, money, or a recommendation, always look for an opportunity to share or pass something forward.

When you are grateful for the gifts in your life, those big and small, you always seem to find more things to be grateful for.

Have a Happy Thanksgiving!

GitHub Copilot, another core AI-assisted Technology

If your teams are already using GitHub today, Copilot may be something to have on your radar for 2023. Up to this point, Copilot has only been available for users to purchase/license through their personal GitHub accounts, or available as a limited trial or beta, but soon organizations will have the ability to add developer licenses to business/enterprise plans.

GitHub’s Copilot solution uses the OpenAI GPT-3 codex to suggest individual lines of code or even functions to software developers. In other words, for some, we can think of this as the autocomplete/auto-suggest feature many of us already use today within our email apps and other productivity tools.

From a business/technology perspective, Copilot has the potential to greatly speed up software development and increase overall developer productivity! If you have the budget, perhaps you may want to license a couple of engineers on your teams to start kicking the tires. Get some hands-on experience in your own business and environments, this can help develop use cases and ideas you may not have thought of.

This article had some really interesting use cases, Things to do with Copilot, below are some of my favorites from that list.

  • Assisting non-native English speakers
  • Preparing for technical interviews
  • Creating dictionaries with lookup data

Not seeing the Forest for the Trees

Our daughter had been working hard on her latest school art project, it got me thinking about an old saying or idiom, that I am sure many of you have heard. If not, the Forest through the trees saying goes like this “cannot see the forest for the trees” and it means a person or perhaps a team has trouble seeing the big picture or ideas because they remain too focused on the specific details.

This is a pretty short post, but one reason for sharing this, is to stress the importance of keeping the right perspective and focus on what matters and why for your team and organizaiton. One quick example that comes to mindfor me, is when organizations have production or other critical deliverables due to their customers with key milestones. However, teams are off spending too much deciding whether to use Kubernetes vs. Docker for Containerization. It’s that crticial we understand and see the big picture, not getting stuck in the minutiae as those small details may change in order to reach our longer terms goals and objectives.

Remembering to take a pause

This isn’t a new topic or idea, but it’s one that I see myself and my teams still struggling with today.

I am talking about us taking time off from work, projects, etc to rest our minds, bodies, and emotions, and to come back refreshed. Taking time away doesn’t need to mean a long vacation or even travel, it can simply be a pause to get up and walk away from the work you are doing. The important part here I think, its needs to be a scheduled, regular event that signals our mind and body that it’s time for a break to rest. This pause can be to have lunch, grab a warm or quick drink, or get out of the house or office and have a walk.

Personally, I struggled with both taking time off and taking pauses. Why? I sometimes believe I have too much work left in my day or week, if I take time off I won’t get it all done or I won’t meet the deadlines I have. Part of this thought pattern could be true, that I may not meet certain deadlines, but the other part about having too much work left in my day or week that’s the more interesting one. In other words, I have come to realize my daily, weekly, monthly, and yearly work is never really done, it’s a neverending source and cycle of work for which I could probably never really be done as I would like.

Sometimes I think we also tend to get really laser-focused on what’s next, we may forget to pause and reflect on just how far we have actually come both personally and professionally.

Life moves pretty fast. If you don’t stop and look around once in a while, you could miss it.
-Ferris Bueller

Visualizing and Reporting on Amazon Cloud Costs & Usage

From the very beginning of cloud, I have to admit this has been a constant struggle. Over the past several years, Amazon has offered us some great tools including cost explorer to help under costs, use, and potential opportunities to save, and reduce operating costs.

Fast forward to the end of 2022, the new AWS Cloud Intelligence, CUDOS, KPI, and Trends Dashboards are absolutely fantastic, see the link below. To take the reports a setup further, you must have your tagging setup and configured, as that can be used to further filter the costs, the results are some really powerful business and operating insights. You will be able to look at past usage and forecast for the future. The data refreshes are within 24 hours, not real-time, but pretty close.

https://aws.amazon.com/blogs/mt/visualize-and-gain-insights-into-your-aws-cost-and-usage-with-cloud-intelligence-dashboards-using-amazon-quicksight/

Reducing Amazon (AWS) Costs – Part I

Subscribe to get access

Organizations today want to see cloud costs optimized, and under better control, they also want better financial reporting and visibility on various cloud costs. 

I will cover some of the more practical approaches you can take in this first part. The second part will focus on more of the deeper dives/drill downs using reporting and visualizations to help understand your monthly AWS costs, where you or your teams may want to make changes, and then observe the results over a month or so.

When I think about Amazon Web Services, and where there are potential areas to reduce monthly, or annual costs, I tend to group the efforts into buckets, referred to as administrative and the other as more transformational, heavy lifts potentially.

I will focused on AWS, and perhaps Azure and Google later on. Why? Simple, AWS is the leader among cloud service , followed by Azure and GCP.

Using AWS Cost Explorer to help analyze, monitor, and even forecast cloud spending and usage across one or many AWS accounts.

The Cost Explorer tool is located in the Billing and Cost Management Console of your AWS account.

Cost Explorer can help us review, compare, monitor, and even forecast usage costs out from 3-12 months.

You can review your cloud costs by service, usage type, and cost allocation tags. I have written another article to cover tagging strategies, why its so important and how helpful it will be to you and your business laster on.

Another really powerful function within AWS Cost explorer or the recommendations on Reserved Instances you may want to cover the predictable and stable workloads over 9-12 months for example, sometimes sooner depending on where the breakeven is compared to running workloads on demand.

Savings Plan, is another tool we can use for projecting costs over a period of 1 or 3 years.

  • Compute Savings Plans [Amazon EC2, AWS Lambda, and AWS Fargate]
  • EC2 Instance Savings Plans [EC2 Instances]
  • Amazon SageMaker Savings Plans [Amazon SageMaker]

Use AWS Trusted Advisor

AWS Trusted Advisor offers you an overview and insights into four major categories: performance, security, fault tolerance, and cost optimization.

The easy to ready labels show us whats should be review [orange triangle] or whats needs more immediate action [red circle]. The list of all 20 cost management checks 

Setup and configure the AWS Instance Scheduler to Reduce the Costs of EC2 and Amazon RDS Instances

AWS Instance Scheduler is a great option, with a huge amount of cost savings potential.

I wouldn’t recommend using this practice with any production workloads, but for sure any of your non-production workloads.

Read more of this content when you subscribe today.