Having worked in a number of scale-ups in the last 10 years, there are a few principles I have adopted for scaling Tech and Product teams. The first one, is to organize teams to be cross-functional.
Great managers make great teams, and organisations are rightfully eager to find engineers with manager potential. But management should not be the default career path for engineers. Many of the "leadership" skills that make for good managers (e.g.
Despite having worked on the very complex Firefox for a number of years, I'll always love plain old console.log debugging. Logging can provide an audit trail as events happen and text you can share with others.
The Product Backlog refinement is a continuous process to create actionable Product Backlogs, enabling a Scrum Team to run Sprint Plannings at a moment’s notice.
Maybe you've heard the term Resumability thrown around recently. Maybe someone gushing over Miško Hevery's new Qwik framework. Maybe you've heard me mention it in our work for the upcoming Marko 6. Maybe you heard it has something to do with hydration. But you aren't even clear what hydration is.
Sooner or later every React developer has to handle forms. The following tutorial will give you a comprehensive overview about forms in React. You will learn how to manage form state in React, the difference of controlled and uncontrolled forms (state vs reference), how to submit a form (e.g.
I'm not sure if there's ever been a language more loathed, yet so widely used, as JavaScript. I'm not of that camp. I quite like JavaScript. Its quirks, its flaws. How it somehow built upon Scheme yet was destined to be the most pervasive programming language.
One great thing about Node.js is how well it performs inside a container. The shift to containerized deployments and environments comes with extra complexity. This article addresses the added complexity of observability—seeing what's going on within your application and its resources.
A popular claim about code is that it’s read ten times as often as it’s written. This is generally used as an argument for fastidious coding: you’re going to be seeing your code a lot, so spend some extra time on quality.
It’s no secret that a components library is a great way to share components between teams, save time, and simplify complex projects. I won’t delve into every single advantage of a component library (you can easily find them by googling), but there’s still a lot to write about its implementation.
I recently worked on a task researching options for a search service to integrate into our application. I initially wrote off traditional relational databases in favor of more trendy options like ElasticSearch or AWS CloudSearch. These products left me feeling overwhelmed.
Some time ago, speech recognition API was added to the specs and we got partial support on Chrome, Safari, Baidu, android webview, iOS safari, samsung internet and Kaios browsers (see browser support in detail).
Most users tend to forget their passwords, so create experiences that will always be valuable for people when they use your products. In this article, we’ll discuss how to implement a password-reset feature with Next.js dynamic routes while prioritizing the UX.
During my engineering career, I made a choice to leave the Individual Contributor (IC) track and move into a technical leadership role. At the time, I felt that I had achieved knowledge and technical depth in a number of engineering disciplines and wanted to try leadership.
So many jargons 😱! Let’s not overload and fry our brains and check them out one by one. A static site generation is the process of generating a full static HTML website based on raw data and a set of templates.
In the previous article, we talked about Nx workspace generators and how they can help be more efficient in automating repetitive tasks. In this article, we’re going to leverage Nx’s excellent support for Storybook to develop our components in isolation before using them in our Next.js app.
Today I'll share some of the software engineering "soft skills" I've learned from my first 10 years on Google Chrome, where I am a Senior Staff Engineering Manager. On my 10th anniversary, I wanted to reflect on some of lessons that have stayed with me.
One thing that I noticed was how laggy the scrolling experience was and how much I should wait until I was able to click elements of the page and receive feedback. The page’s interactivity was slow and jank. So I started investigating this problem. And I knew it was a “performance” problem.
Recently, my assigned task was updating the API documentation on a project to OpenAPI format. The process of translating the old Markdown file to the proper YAML format felt somewhat tedious, begging the question, “Is this worth it?” However, once I started to dig into the uses of OpenAPI, I realized the numerous benefits far outweighed the upfront effort.
No matter what ranking system you look at, whether the TIOBE Index, the Popularity of Programming Language Index, RedMonk’s bi-annual language rankings, or GitHub’s yearly State of the Octoverse, Java has been sitting among the top three languages since shortly after its launch in 1995.
Recently, my colleague Mike Bifulco wrote a blog post about using Near-Field Communication (NFC) technology to request payment using NFC tags and Stripe Payment Links.
Christine highlights some of Figma’s features and possibilities to help you build a design that aligns with code as much as needed and improve your team work. We must understand the possibilities and limitations of each other’s tools to work hand in hand, so let me show you the design side of things and all the little Figma treasures you might not yet understand fully.
Understanding and supporting developers’ skills is something I think about a lot. Let me explain why. First, I spent many a good hour of my youth learning BASIC on a Commodore 64 (shout out to cassette tape memory drives!) and then a 30 pound IBM “Portable.
Recently Fresh 1.0 was announced, the first stable release of the framework that’s been powering Deno’s homepage for almost a year now. It’s designed to be efficient and kind to the client browser while still allowing for dynamic content to be rendered, but only when it’s strictly needed.
We want to keep the Vercel Dashboard fast for every customer, especially as we add and improve features. Aiming to lift our Core Web Vitals, our Engineering Team took the Lighthouse score for our Dashboard from 51 to 94.
Stack Overflow is named as a Sample Vendor in the 2022 Gartner® Hype Cycle™ for Agile and DevOps for Communities of Practice. We believe this is a powerful step forward in enabling organizations of all sizes to build strong internal communities that foster collective learning.
Localizing your site can benefit your business or organization in several ways. By translating your content or site, you expand the markets you target. Adapting your product to the language and cultural preferences of potential customers who were not able to use your product before boosts your conversion rates.
When I reflect on previous project experiences, rarely do I actually reflect on the work itself. Instead, I often find myself describing projects in terms of the people. I might describe a project by the difficulty I had creating camaraderie with a client project manager.
We've all been there. Cooking a complex recipe where each step takes a good couple of minutes. Our hands covered in some type of sauce made of who knows how many ingredients. We go to check the next step on our phone only to see that it's gone to sleep due to inactivity.
MSA that morphs depending upon scale without overcomplicating development. We’ve all read of the million transactions/sec systems of Google or Linkedin. And we’ve read about the scale of Netflix and its success with Microservices architecture (MSA).
Last year we started using React Query for all of our API calls (and we talked about it in this article about optimizing API calls). However, the more we were using it, the more obvious it became that React Query was not providing the ideal structure for our data.
I bet the need to tweak perfomance comes in a certain phase of development for every developer, in every app. There are very good resources and articles about how to tweak performance in react and this article is no exception.
There are hundreds of thousands of Silicon Valley caliber developers around the world. And as we all know, demand for great technical talent remains strong. Unfortunately, many of these talented coders miss out on incredible opportunities.
Sometimes you’re building a React app and need to display a map or a map-like component on the screen. Leaflet is a JavaScript library that allows you to do just that. Here’s a quick tutorial that will show you how to set it up quickly and get a map displayed on your app.
I am a software engineer that graduated in computer science 20 years ago and since then have been building software one way or another. I have worked in all sorts of environments, like small startups, consultancy companies, big companies, launched a few startups over the years, and everything in between. Among many places, I worked for Upstart, Airbnb, and Stripe.
If you’ve queried a database, you’ve probably used an index, even if you didn't know it at the time. Database indexes help speed up read queries by creating ancillary data structures that make your scans faster.
The default operations like for...of loop in JavaScript are powered behind the scene by the concepts of Iterators, Iterables, and Generators. These concepts serve as the protocol for iterating over data structures provided by JavaScript, such as the for...
Comprehensive guide on React re-renders. The guide explains what are re-renders, what is necessary and unnecessary re-render, what can trigger a React component re-render.
The author selected Open Sourcing Mental Illness to receive a donation as part of the Write for DOnations program. Node.js runs JavaScript code in a single thread, which means that your code can only do one task at a time. However, Node.
All the major tools for React provide linting rules. If you like, feel free to edit them to fit your style, but always use some and automate the process of linting and formatting. Preferred tools are eslint and prettier. Add some import order rules to your eslint config.
Working on a large-scale project and managing its codebase can be a big challenge for teams. Though micro-frontends have been in the picture for a while now, they are getting increasingly popular because of their unique features and usability.
From my last post about NFT staking contracts, I received a message on Twitter from a developer. That developer was creating a staking contract for an NFT project but was getting the following error: “ERC721: transfer caller is not owner nor approved”.
On paper, microservices sound wonderful. They are modular, scalable, and fault tolerant. A lot of companies have had great success using this model, so microservices might naturally seem to be the superior architecture and the best way to start new applications.
I believe that ORM is the most important tool for backend development, the tool we spend the most of time working on a feature, the tool we scold the most, always wanting for something better. Here I'm doing a review of 6 popular ORMs to compare and to find the best one.
Last October, we announced that we had started work towards making Hermes the default engine for all React Native apps. Hermes has provided a lot of value to React Native inside of Meta, and we believe the open-source community will benefit as well.
Financial orgs: It is very important to tell people about their upcoming payments. ECommerce orgs: When subscribed to an e-commerce outlet, customers may be notified of the availability of a product, order placement, or order shipment.
In May 2022, Meta (the company formerly known as Facebook, which owns WhatsApp) announced that they were opening up the WhatsApp Business API to the public.
Key Takeaways The complexity of application environments and the need to maintain cost controls, planning and compliance can be a significant obstacle for developers to innovate with velocity—if mismanaged.
Learn how Cypress compares to Selenium, a better choice in the software testing world, in terms of speed test, architecture, language support, and much more. By automating the entire test procedure, your company will not only save money and time but also deliver superior quality products.
Webpack is a very powerful and interesting tool that can be considered a fundamental component in many of today's technologies that web developers use to build their applications. However, many people would argue it is quite a challenge to work with it, mostly due to its complexity.