I identify myself with this representation of a staff engineer. We are generally there to prevent and support not just our team but the business as a whole of lengthy and costly technical debt by analysing and preventing it from the early stages to the long-standing ones when we join any project.
Guiding stakeholders through opportunity-cost using effective KPI metrics and enabling our team to get the most out of each task performed.
#staffengineer#softwaredevelopment
Staff Software Engineer, Ally, Writer, Gamer, Husband, Father (of 3). Passionate about computers and people.
Recently had to explain the importance of a #StaffEngineer to my team. After some thought, I came to a conclusion.
The most important part of a Staff Engineer's role is PREVENTING #TechDebt.
Addressing existing tech debt is one of their responsibilities, too, but a good Staff Engineer will shepherd your tech in such a way that the most expensive tech debt to FIX won't ever become an issue in the first place.
#leadership#code#SoftwareEngineer#developer
Last Tuesday, I attended the London GraphQL meetup for the first time. I must say, the event was invigorating, filled with great people to talk to and learn from, such as Thomas Nash and Matthew from the Apollo team, Daniel Reynolds and engineers from the Kraken team, and of course, the speakers and organisers.
The talks and conversations answered some of my recent questions regarding the security and value that GraphQL provides at a business level. This made me rethink my original conclusions, and GraphQL is now a strong candidate for future projects.
The presentations yesterday included:
- "Teaching a New Dog Old Tricks: From OData to GraphQL" by Tom Harding
- "Building Production-Ready Applications with GraphQL" by Michael Staib
My main takeaways from the talks are:
- A more constrained system provides better tooling.
- Good security and consumer modeling can enable GraphQL for any business, regardless of its nature.
#graphql#londongraphql#ApolloGraphQL#frontenddevelopment
🚀 New Video Alert! ����
Curious about what it's remote-hosted code is and how to handle it in Chrome Browser extensions (Manifest v3)? Check out our latest video from Chrome for developers about "What is a Remote Hosted Code?", which dives deep into:
- How to manage remote hosted code rejections in browser extensions review process
- Why it's often best to avoid this practice
- Strategies to safely implement remote code when necessary
This quick and straightforward video will enhance your understanding of remote code management in browser extensions. Perfect for developers looking to improve their skills and knowledge in this area!
🔗 https://lnkd.in/dzajvRTq#BrowserExtensions#RemoteHostedCode#WebDevelopment#CodingTips#FrontendDevelopment#TechInsights#manifestv3
Demonstrating Business Value Through Design Systems
I recently watched "How Design System Leaders Measure and Boost Adoption in Their Codebase." It was a Q&A session about measuring ROI, Adoption, and value within our organisation through different back-and-forth between all participants. Although it was a bit unstructured at times, it's worth watching.
However, if you don't have the time. Here are my learnings from the video mixed with my own experiences
💡 Connecting Craft to Business Metrics
- Design systems ensure seamless integration with props, APIs, and more.
- This connectivity enhances performance, accessibility, and overall user experience.
📊 Driving Key Business Outcomes
- Retention & Turnover: Consistent design language helps retain users and reduce churn.
- Revenue Growth: Streamlined design processes speed up time-to-market, boosting revenue.
- Profit Margins: Efficient design systems lower production costs, increasing profitability.
📈 Quantifiable Impact
- Telemetry & Automated Dashboards: Track usage and performance metrics to measure success.
- Adoption Rates: Monitor and increase design system adoption across teams.
- ROI Estimation: Calculate users' time saved and translate that into monetary value—potentially saving up to a million annually.
🛠 Practical Steps to Implement
- Benchmarking: Establish a goal where 80% of components in production are from the design system.
- Regular Monitoring: Use dashboards to track and analyse component usage weekly.
- Feedback Loops: Regularly gather insights from co-workers to identify gaps and areas for improvement.
🤝 Collaboration & Continuous Improvement
- Align design system goals with broader organisational objectives.
- Invest in necessary resources to maintain and evolve the system.
🚀 Conclusion
We enhance our craft and contribute to the organisation's success by tying design systems to business goals. Let's focus on the big picture and drive measurable value!
🔗 Learn more about design system metrics, best practices, and relevant articles on the following links:
- Measuring Design System Success. Use OKRs to Set Goals & Track Progress by Nathan Curtis. https://bit.ly/3VJ9vpa
- How to measure the dev side of a design system by Jules Mahe. https://bit.ly/3XQMD9M
- Design System Metrics Collection - Design strategy guide by Romina. https://bit.ly/4eL03dO#DesignSystems#BusinessValue#UserExperience#Productivity#ROI#Innovation#Collaboration
Great infographic to describe SOLID. it has been a great refresher for my own knowledge.
Thanks for sharing. Personally, the S is the one i used the most, what about you? Do you actively use it within your job?
#techleadership#softwaredevelopment
Technical Lead .NET | Software Engineer | SQL Server Developer | Looking for new opportunities
💥 𝐒𝐎𝐋𝐈𝐃
➡ 𝐒 - 𝐒𝐢𝐧𝐠𝐥𝐞 𝐑𝐞𝐬𝐩𝐨𝐧𝐬𝐢𝐛𝐢𝐥𝐢𝐭𝐲 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 (𝐒𝐑𝐏):
Each class should have a single responsibility, and that responsibility should be entirely encapsulated by the class. This makes code more modular and easier to understand.
➡ 𝐎 - 𝐎𝐩𝐞𝐧/𝐂𝐥𝐨𝐬𝐞𝐝 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 (𝐎𝐂𝐏):
Software entities (classes, modules, functions) should be open for extension but closed for modification. This encourages the use of interfaces and abstract classes, facilitating future enhancements without altering existing code.
➡ 𝐋 - 𝐋𝐢𝐬𝐤𝐨𝐯 𝐒𝐮𝐛𝐬𝐭𝐢𝐭𝐮𝐭𝐢𝐨𝐧 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 (𝐋𝐒𝐏):
Subtypes must be substitutable for their base types without altering the correctness of the program. This ensures that derived classes can be used interchangeably with their base classes.
➡ 𝐈 - 𝐈𝐧𝐭𝐞𝐫𝐟𝐚𝐜𝐞 𝐒𝐞𝐠𝐫𝐞𝐠𝐚𝐭𝐢𝐨𝐧 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 (𝐈𝐒𝐏):
Clients should not be forced to depend on interfaces they do not use. It's about creating specific interfaces tailored to the needs of the clients to avoid unnecessary dependencies.
➡ 𝐃 - 𝐃𝐞𝐩𝐞𝐧𝐝𝐞𝐧𝐜𝐲 𝐈𝐧𝐯𝐞𝐫𝐬𝐢𝐨𝐧 𝐏𝐫𝐢𝐧𝐜𝐢𝐩𝐥𝐞 (𝐃𝐈𝐏):
High-level modules should not depend on low-level modules; both should depend on abstractions. Abstractions should not depend on details; details should depend on abstractions. This promotes flexibility and ease of maintenance.
♻️ Repost if you find it intriguing.
🔥 Follow Behzad Dara for more .NET tips.
#dotnet#aspnetcore#csharp#solid
It's been a week since I joined OakNorth bank. Time flies by when enjoying your work.
I rediscovered the value of pair programming, not just as a mentoring tool but as a collaborative framework to gather knowledge and make deeper connections with colleagues.
I'm still new to the outside-in testing strategy, but my colleagues are guiding me through it.
I could probably continue rambling for hours, but I'll conclude by saying that in this challenging environment, I feel welcomed and supported. I have been given the necessary guidance to succeed, and I will do my best to meet expectations. It's worth the effort.
#oaknorthbank#greatplacetowork
It's been over a decade since I used our tooling for testing back in 2012 at Global Incubator, where we leveraged WebDriver IO to create automated tests.
I am glad to see how the ecosystem has grown. Diego Molina has given an overview of Selenium standards today's role within the community. I am particularly interested in checking out WebDriver BiDi and seeing how it works, as well as the talk about the history of automation.
You can find more information on The Evolution of Test Automation here: https://bit.ly/3VyKddu
I would like to hear your thoughts. What are your takeaways from the talk?
#selenium#webtesting#automation#frontenddevelooment#testautomation#WebDriverBiDi
I help you unlock the potential of open source and automation.
🚀 Announcement! 🚀
I'm pleased to share that I'll present a talk titled Beyond Selenium: Choosing the Right Library for Your Testing at The Browser Conference.
Are you relying solely on Selenium for your web testing? Join me as I explore other libraries like Playwright and Cypress, understanding which tools best suit various testing needs. As a Selenium tech lead, I'll look candidly at its capabilities and challenges.
By the end of this session, you'll have the insights needed to make informed decisions when selecting the best framework for your testing.
📅 June 20 📍 Online
Take advantage of this chance to enhance your web testing strategies. See you there!
#WebTesting#Selenium#Playwright#Cypress#Automation#OpenSourcehttps://lnkd.in/d-ADPrNV
An amazing first day at OakNorth ! The impressive onboarding by Ioana Manuela Navarra was excellent. She guided me through the introduction to the company, organized inspiring ice breakers, and had an amazing welcome pack waiting for me with a handwritten note that filled my heart.
The IT team assisted me in getting ready, and I got the privilege to have Edd Williams as my buddy for the first few weeks until I got settled, feeling lucky.
If this is day one, I cannot wait for day two to arrive.
#oaknorth#amazingonboarding#greatplacetowork