I’ve been wanting to write up a few thoughts on the ever ongoing “labor shortage” and “talent shortage” that big companies often cite. Especially in regards to expanding H1B use (albeit arguably exploitive in the way its often used) all the while damning existing labor. The following are some collected observations of the tech industry. It seems timely considering the number of people, qualified people, looking for work right now. All while still citing a shortage when it is pretty clear there is not a shortage of qualified people.
Continue reading “Self-Inflicted Shortage: How Poor Leadership and Practices in Large Companies (specifically FAANG like companies) Created a Developer Crisis”Transform Your 1:1 Meetings: From Status Reports to Meaningful Conversations
Let’s face it—1:1s often feel like a chore. They can seem awkward, unnecessary, or even stressful, especially if they devolve into nothing more than a glorified status report. These meetings are supposed to be about meaningful dialogue, yet too often, they become just another checkbox on the to-do list. If you’ve ever found yourself reciting project updates that could’ve been sent in an email, you’re not alone.
But here’s the thing—when 1:1s turn into status reports, they lose their value. And that’s a big problem for several reasons:
- Missed Opportunities
Turning 1:1s into routine updates means missing out on the chance to discuss your personal growth, career aspirations, or challenges that need attention. This time is carved out for your development and support. If you’re not using it wisely, you’re letting potential progress slip through your fingers. - Lack of Connection
When your 1:1s are all about status updates, you miss the opportunity to build a deeper connection with your manager. Understanding your manager’s goals and challenges is key to aligning your work with the broader mission of the team and company. Without this connection, you risk becoming isolated, working on tasks that don’t fully align with the bigger picture. - Increased Frustration
If 1:1s feel like just another meeting to get through, they become something you dread rather than look forward to. When these meetings lack substance, they turn into a time-waster, leading to frustration and disengagement.
So, how do you change the dynamic? How do you make 1:1s less cumbersome and more valuable for both you and your manager? Here’s how to flip the script:
Make Your 1:1s Count:
- Ask for What You Need
Use your 1:1s to ask for the resources or support that will help you grow. Need career advice? Ask for it. Facing a roadblock? Seek help to get unblocked. Want to meet someone influential in your field? Request an introduction. This is your time—make sure you’re using it to your advantage. - Understand Your Manager’s World
Instead of just sharing your progress, take the time to ask your manager about their challenges and goals. What’s their biggest concern right now? What are they focusing on? Understanding what’s on your manager’s mind can help you better align your efforts with the team’s priorities, making you a more effective and valuable team member. - Learn About the Business
1:1s are an excellent opportunity to get a deeper understanding of the business. Ask about the company’s growth areas, the challenges it’s facing, and where your work fits into the bigger picture. Having this insight not only makes you more informed but also more strategic in your contributions. - Seek Feedback Regularly
Don’t wait for annual reviews to get feedback on your performance. Use your 1:1s to ask for continuous feedback. What are you doing well? Where can you improve? Regular feedback helps you course-correct quickly and ensures you’re always moving in the right direction. - Discuss Long-Term Goals
Use your 1:1s to discuss your long-term career goals. Where do you see yourself in a year or five years? What steps can you take now to get there? This helps ensure your day-to-day work aligns with your broader career aspirations and keeps you motivated.
For Managers:
As a manager, your role in 1:1s is crucial. If you’re not careful, these meetings can easily become stale and unproductive. Here’s how to ensure they stay valuable:
- Foster Openness
Create an environment where your team feels comfortable discussing more than just their work progress. Encourage them to bring up their challenges, ask questions, and share their career aspirations. This openness builds trust and helps you better support your team. - Share Your Perspective
Be transparent with your team about your own challenges and objectives. This helps your team understand the context behind decisions and aligns their efforts with the company’s goals. Transparency also makes these meetings more engaging and less about checking boxes. - Focus on Growth
Your 1:1s are an opportunity to mentor and guide your team. Use this time to help your team members grow, providing the resources and support they need to advance in their careers. When your team thrives, so do you. - Set Actionable Goals
Work with your team members to set clear, actionable goals during your 1:1s. These goals should be specific, measurable, and aligned with both their personal development and the team’s objectives. Setting and tracking progress on these goals gives your 1:1s direction and ensures they’re driving real impact. - Provide Regular Feedback
Make feedback a regular part of your 1:1s. Don’t wait for formal reviews to give your team members insights into their performance. Regular, constructive feedback helps them improve and stay aligned with the team’s goals. It also shows that you’re invested in their development. - Create a Safe Space for Honest Dialogue
Encourage your team to speak openly and honestly in 1:1s. Let them know that this is their time to share what’s on their mind without fear of judgment. Creating a safe space for dialogue ensures that issues are addressed early and that your team feels heard and supported.
Conclusion:
1:1s don’t have to be a burden—they can be one of the most powerful tools for growth and connection in your work life. By shifting the focus from status reports to meaningful conversation, you’ll find these meetings become not only more productive but also more engaging and rewarding.
What strategies have worked for you in making the most out of 1:1s? Let’s share and learn from each other—drop your thoughts below! 👇
Azure Arc: Unified Management for Hybrid and Multi-Cloud Environments
I’ve been deep in the trenches of multi-cloud tooling for years now, exploring everything from Kubernetes to Terraform, and all the glue that holds modern infrastructures together. Recently, I took a deep dive into Azure Arc, Microsoft’s hybrid and multi-cloud management solution, to see what it brings to the table. What follows is a breakdown of Azure Arc, framed through the lens of someone who’s seen the evolution of these tools over time.
The Core Idea Behind Azure Arc
At its core, Azure Arc is Microsoft’s answer to the complexities of hybrid and multi-cloud management. The idea is simple yet powerful: provide a unified management experience for resources, regardless of where they live. Whether you’re running workloads on-premises, across different cloud providers, or out on the edge, Azure Arc aims to bring them all under a single, cohesive management umbrella.
What Azure Arc Really Does
Azure Arc extends Azure’s management capabilities beyond its own boundaries. Think of it as a bridge that connects your existing infrastructure to Azure’s powerful tools and services. Once your resources are “Arc-enabled,” you can manage them just like you would any native Azure resource. This means applying policies, leveraging Azure’s security features, and using monitoring tools – all from within the Azure portal.
The beauty of Azure Arc is that it doesn’t discriminate based on where your resources are. Whether it’s a Linux server running in your own datacenter, a Kubernetes cluster on Google Cloud, or even a SQL database on AWS, Azure Arc brings it all together. This isn’t just about management, though. Azure Arc also allows you to deploy Azure services, like SQL and PostgreSQL Hyperscale, directly into your non-Azure environments.
Azure Arc for Kubernetes
Azure Arc’s support for Kubernetes is where things get particularly interesting. If you’re managing Kubernetes clusters across different environments—whether it’s AKS, EKS on AWS, GKE on Google Cloud, or even an on-premises setup—Azure Arc brings these disparate clusters into the fold under Azure’s management.
With Azure Arc, you can attach your Kubernetes clusters to Azure, enabling you to deploy applications consistently across all your clusters using GitOps, apply consistent security and governance policies, and even monitor and manage them from the Azure portal. This is incredibly powerful in multi-cloud environments where you might have clusters spread across different platforms but need a unified approach to management and operations.
The integration with AKS is seamless, of course, but the real power lies in Azure Arc’s ability to connect with other cloud providers’ Kubernetes offerings. Whether you’re dealing with AWS’s EKS, GCP’s GKE, or a custom Kubernetes setup, Azure Arc enables a level of control and consistency that can be a game-changer in complex, hybrid environments.
Defining Azure Arc
Azure Arc is, in essence, a set of technologies that extend Azure’s control plane to wherever your resources reside. Here’s what it means in practice:
- Unified Server Management: You can connect and manage your Windows and Linux servers across on-premises, edge, and multi-cloud environments from a single pane of glass within Azure.
- Kubernetes Cluster Integration: Azure Arc allows you to attach and manage Kubernetes clusters from anywhere. This means consistent management, monitoring, and governance across your entire Kubernetes estate, regardless of where those clusters are running.
- Data Services Anywhere: With Azure Arc, you can run Azure’s data services, like Azure SQL and PostgreSQL Hyperscale, in any environment. This gives you the flexibility to use Azure’s data capabilities wherever you need them most.
- Consistent Governance and Security: Perhaps one of the biggest wins here is the ability to enforce compliance and governance policies consistently across all your resources, no matter where they’re deployed.
In short, Azure Arc is Microsoft’s play to bring coherence and control to the sprawling, often chaotic, world of hybrid and multi-cloud environments. It’s a tool that’s not just about visibility but about giving you the power to manage, secure, and optimize your entire infrastructure from a single point of control. And in a world where resources are scattered across different platforms and locations, that’s a game-changer.
Further Reading and Viewing on Azure Arc
If you’re interested in diving deeper into Azure Arc and particularly how it integrates with Kubernetes across various environments, there are a few must-see resources:
- Azure Arc-enabled Kubernetes Extensibility Model | Azure Friday – In this video, Scott Hanselman and Lior Kamrat discuss how Azure Arc enables Kubernetes clusters outside of Azure to be managed and governed like native Azure resources, complete with demos.
- Azure Arc-enabled Kubernetes with GitOps | Azure Friday – This session delves into how Azure Arc uses GitOps to manage Kubernetes clusters across various environments, showcasing how to maintain a single source of truth through GitHub repositories.
- Building Modern Hybrid Applications with Azure Arc and Azure Stack | Azure Friday – Thomas Maurer joins Scott Hanselman to demonstrate how to build and manage hybrid applications across multiple environments using Azure Arc, including a demo of Kubernetes integration.
These resources provide a comprehensive look at how Azure Arc can be integrated into your multi-cloud strategy, particularly if Kubernetes is part of your infrastructure mix.
Effective Developer Advocacy: Prototyping, Open Source, Community Building
Having worked specifically in Developer Advocacy in the past, I have well-formed opinions about how it should work and some data-driven insights into what makes Developer Advocacy effective. My experiences and observations have led me to a clear vision of what I’d like to see in DevRel teams and, more specifically, from developer advocates as a sometimes fellow developer advocate and an all the time software solutions developer/engineer/etc.
Prototyping and Problem-Solving
One of the primary areas where Developer Advocates (DAs) can shine is by creating prototype applications that tackle specific problems. Regardless of their experience level, DAs should be hands-on with the technology they are advocating for. For instance, a Developer Advocate focused on logging should dive deep into tweaking logging mechanisms. This could involve demonstrating advanced configurations, optimizing log formats for better readability, or integrating logging frameworks with monitoring tools.
For security-focused DAs, I’d make the case that attention to detail should be even more pronounced. They should not only explain the fundamentals of OAuth implementations or JWT tokens but also delve into the details that often trip up developers and be familiar – in general – with the infosec area of the industry. For example, demonstrating best practices for token storage, handling token expiration, and ensuring secure communication channels and why you should do these things would be immensely valuable.
Contributions to Open Source
Another critical aspect of an effective DevRel team is active participation in Open Source Software (OSS) projects. Developer Advocates should regularly contribute to OSS, not just through code but also by writing articles and creating content that highlights their experiences. Sharing what works, what doesn’t, and the lessons learned during these contributions can provide invaluable insights to the broader community.
Imagine a DA working on integrating two popular tools. Documenting the journey—right from initial setup, through the challenges faced, to the final implementation—can serve as a roadmap for others attempting the same. Articles that cover these real-world integrations, the hurdles encountered, and the solutions devised would be a treasure trove of knowledge for developers worldwide. They’re something, that often, is simply not available. When they are, they’re often short, rudimentary, and rarely offer insight beyond the simple happy path.
The Right Amount of Travel
I am generally supportive of the operational situation, backed by data, that Developer Advocates should keep travel engagements to around 10-25% of their work. Excessive travel—anything more than 25%—is a red flag for several reasons. These aren’t reasons I’m just making up either, because I have seen some advocates manage excessive travel pretty well, but the vast majority of people just simply don’t have the bandwidth and ability to mitigate the risks:
- Disruption to Focused Work: Traveling takes most Developer Advocates away from focused work on building prototypes, learning a technology, or exploring tangential aspects of what they’re advocating for.
- Loss of Technical Expertise: It starts the process of pulling an advocate away from their technical expertise and focus time, causing a lapse in hands-on technical work.
- Perception of Detachment: This can perpetuate the idea that many Developer Advocates don’t really work with the tech or have a solid understanding of what they’re advocating.
- Erosion of Credibility: Building on the previous points, this tends to render an advocate’s reputation useless in working as an engineer/developer/programmer, as people become highly doubtful of their technical acumen.
Building Community Through Collaboration
Effective DevRel is not a solo endeavor; it thrives on collaboration. Developer Advocates should foster a sense of community by working together on projects, sharing knowledge, and supporting each other’s efforts. They should write articles and create content that speaks to their experiences of working together. Highlighting what tools and techniques that mix well and identifying common problem points can pave the way for more streamlined development processes, spearheaded by developer advocates showing exactly how to do this at a tactical level.
For example, a series of blog posts or videos where DAs from different specialties come together to build a cohesive application can be incredibly insightful. For example at Amazon, seeing a security DA work alongside a logging DA and a front-end DA (do those exist at Amazon?) to tackle a comprehensive project would not only showcase their individual expertise but also their ability to collaborate and create a unified solution.
Improving DevRel
In my humble opinion, there are several ways DevRel can improve and amplify its impact:
- Hands-on Demonstrations: More live coding sessions, webinars, and workshops where DAs build and troubleshoot applications in real-time. This hands-on approach makes the learning process more tangible and relatable.
- Transparency in Learning: Sharing not just successes but also failures and lessons learned. This transparency can demystify the development process and make it more accessible to developers at all levels.
- Inclusive Contributions: Encouraging contributions from developers of all backgrounds and experience levels. This inclusivity can lead to a richer, more diverse set of solutions and ideas.
- Focused Content: Creating content that addresses specific, granular aspects of development. Whether it’s a deep dive into a niche feature of a logging tool or an in-depth guide on securing OAuth implementations, focused content can provide deep insights that broad overviews often miss.
- Collaborative Projects: Promoting and participating in cross-functional projects that bring together DAs from different domains. This collaboration can lead to more holistic and robust applications and tools.
In conclusion, Developer Advocates play a pivotal role in bridging the gap between technology and the developer community. By focusing on hands-on prototyping, active OSS contributions, and fostering collaboration, DevRel teams can significantly enhance their effectiveness. Transparency, inclusivity, and a commitment to continuous learning will ensure that DevRel not only keeps pace with the rapidly evolving tech landscape but also helps shape its future.
Note! All of these points, I’m absolutely open to debate about. This is my findings, there are a limited number of studies around this topic, and I’m more than happy to change my mind based on new data! If you’ve got any data or a different take on any of these points, I want to hear them! Let’s get a conversation going over at @Adron on Mastadon or Threads or LinkedIn!
The New Version “F1 Help” of the 00s – Code Challenges – A 2nd Rant on Modern Interviews
Hey folks, let’s take a trip down memory lane. Some of y’all remember the good ol’ days of the early 2000s when we’d hit F1 and magically summon the help documentation to save us from our coding woes? Ok, maybe it was Stackoverflow then, but regardless we had a whole set of companies that thought it a good idea to base interviews off of the documentation, and that became dubbed the
F1 Interview” or “Documentation Interview”. Fast forward to 2024, and here we are, stuck with the modern equivalent of that dreaded F1 interview: the infamous “code challenge” in technical interviews. It’s time we talk about why these challenges are the new bane of existence for building effective software development teams.
The Rise of the Code Challenge
Oh the magnificent code challenge /s. It’s like a rite of passage now. You’ve got your resume polished, your GitHub repo gleaming, and your LinkedIn profile looking sharp. But before you can even think about landing that dream job, you’re hit with a coding challenge that makes you question your very existence.
These challenges usually involve solving some obscure problem that you’ll never encounter in the real world. You know the ones: reverse a binary tree, find the longest palindromic substring, or implement a LRU cache. It’s like being asked to juggle flaming swords while riding a unicycle for a bicycle messenger gig. Pointless. Sure, it’s impressive and cool being able to juggle flaming swords on a unicycle, but how often are you going to need that skill on the job?
Continue reading “The New Version “F1 Help” of the 00s – Code Challenges – A 2nd Rant on Modern Interviews”
You must be logged in to post a comment.