Starting your career can be one hell of an experience. You might face fatigue and imposter syndrome, and you might wonder if you’ll ever actually be good at your job.
Key Takeaways Unit tests should increase confidence that our code works correctly, allow us to document how our code should function, and aid in designing loosely coupled, highly cohesive software.
That ChatGPT can automatically generate something that reads even superficially like human-written text is remarkable, and unexpected. But how does it do it? And why does it work? My purpose here is to give a rough outline of what’s going on inside ChatGPT—and then to explore why it is that it can do so well in producing what we might consider to be meaningful text.
At Sentry, we practice continuous delivery, which means that code can be released as soon as it’s merged into the main branch. This allows us to iterate quickly on our product, making new features, bug fixes, configuration changes, and experiments available in production as frequently as possible.
Manifest v3 may have taken some of the juice out of browser extensions, but I think there is still plenty left in the tank. To prove it, let’s build a Chrome extension that steals as much data as possible.
In 2023, Typescript is rarely questioned as an important tool for modern JavaScript developers, but one of its biggest limitations is the lack of added runtime type safety, particularly when dealing with IO at the boundaries of your application.
In a documentary two years ago about the JavaScript framework Vue.js, it was described as a kind of indie alternative in the JavaScript ecosystem, compared to the two leading frameworks — Facebook’s React and Google’s Angular.
We look at building the React application binary-only once, then migrate the same binary file from Development to Non-Production and then to Production by loading configurations at application runtime.
Solid.js is an open-source JavaScript library for building web applications focusing on performance and simplicity. It is designed to make it easy for developers to create fast, scalable, and maintainable web applications. Solid.
I co-authored this article with Nick Tune (article on Nick’s blog) based on our individual experiences and experiences and learnings from working together with clients.
Have you ever wondered why software projects often fail despite having a solid architecture in place? Software architecture is often misunderstood as an activity carried out from an ivory tower by a select few individuals who are disconnected from the reality of day-to-day life.
In today’s world, where remote and hybrid work is becoming more popular, organizations need to adopt asynchronous forms of communication in their day-to-day operations. These include recording or taking notes of meetings, using more text forms of communication, etc.
I’m coming up on one year in the accelerator program at Atomic Object. During that time, I’ve had the pleasure of working on a small team with only one other developer and on a larger team with seven developers. The dynamics working on small vs. large teams can be quite different.
As part of Atomic’s gratis consulting practice, I speak with three or four early-stage startup founders each month. These founders want to understand how to engage with a firm like Atomic to build some or all of their products. I’ve done this for a few years now.
So, what are releases? Packaging/bundling software and making it available for a broader audience for download and use. Why use them? To distribute the software (Binary distribution). To keep track of type and amount of changes. To follow Semantic versioning practices.
Persistent data is essential to building modern web apps. We need it to save user information, bill customers, and more. Now you can use your favorite data storage technologies—Prisma, Mongoose, MySQL, and more—with npm and Deno.
Do you ignore your spam emails? To be honest, they could be more dangerous than you think. Be cautious when visiting a website flooded with advertisements and clickbait.
Even if you haven’t worked with TypeScript yet, you probably heard about it. It’s seen vast adoption in the React world in the past years. As of today, almost all React jobs seem to require TypeScript knowledge. So, many React devs ask themselves: Do I really need to learn TypeScript?
The key difference between Signals and State is that Signals return a getter and a setter, whereas non-reactive systems return a value (and a setter.) (Some reactive systems return a getter/setter together, and some as two separate references, but the idea is the same.
I've tried to write this post as a note, stopped, expanded, asked for feedback and had to put it out as a form of catharsis. I've added a detailed chapter to my book about hyper growth, layoffs and tools that hopefully won't need to be used.
Websites send JavaScript to the browser to provide interactivity. The amount of JavaScript downloaded to the browser is going up every year, as the complexity of websites goes up. Most JavaScript frameworks download and execute all of the code at once.
If you are starting out with React, the sheer number of libraries that are used alongside it can be overwhelming. In this post, I will try to provide a short summary of them so that you can orient yourself better.
Picture this: it’s a work day at an enterprise payments processing company, and there is a critical data engineering task that needs to be completed. In this case, I’m the data engineer who needs to finish the task, but I am missing information necessary for my data model to be finished.
It would be redundant at this point to say that the past few years have been rough. We’ve had disease, war, environmental disaster, political tension, you name it. To be graduating college and moving on to a life with a 9-to-5 job in the middle of it has created for me an odd dissonance between the world outside and the uncertain future I am trying to build. The life transitions are seemingly endless!
Veracode's State of Software Security report for 2023 found that there is a 27% chance within a given month that security flaws will be introduced into an application.
Are you ready to dive into the world of Astro? I'll be taking a closer look at Astro and exploring the benefits that this powerful framework and static site generator can offer us.
Software development is filled with methodologies, best practices, and advice. Often, what works for a single independent developer, a small team, and a large company; may vary significantly. These practices can also vary by domain or type of project.
What do typical architecture diagrams look like? A bunch of boxes or icons connected by some dashed or solid (sometimes both) lines? While this can be a good starting point, it might not be what we as architects want to achieve in the end.
An essential website requires a web server to receive requests and a database to write or read data. However, this simple setup will only scale once you optimise your database or change the overall database strategy if you receive millions of requests per second.
Since the initial launch of Astro 1.0, developers have had to choose between generating static (SSG) or server (SSR) output. Static websites offer incredible performance by building your pages ahead-of-time. Servers leverage their dynamic power to generate HTML on-demand, unique for every request.
Releasing means to put in front of our customers the new features of our software, we usually think we are doing that through our deployments. Although that’s not necessarily true.
There have been a number of criticisms levied at the React project over the years, some of them handled and some of them still wavering in the wind. In this post, I’ll summarize the ones that are most prominent in my memory as a way of maintaining a record (primarily for my own use but maybe you’ll find it useful too).
Did you know you can leverage almost the entirety of the React ecosystem inside a Qwik application? Basically, you can build React applications, without ever loading React in the user's browser. Sounds too good to be true? Let’s see how this works.
Over the last quarter, we’ve expanded our cloud and edtech partnerships, watched Stack Overflow for Teams become more and more embedded in the developer experience, and made great strides on our path to profitability.
WWhen do you give up? I’ve been trying to answer that question for myself for the past few years. Accountability can be scary, and it’s hard to know when to create accountability (by setting goals) or to let yourself focus elsewhere.
Key Takeaways Context is what informs developer teams, so they need visibility into usage, end user, and regulatory requirements. The approach needs to align with the context or they will over- or under-engineer their solutions.
Diagramming software architecture provides several benefits to how we communicate complexity. Well-thought-out diagrams give engineering teams an enhanced understanding of the design and plan for future development whilst identifying potential issues.
Established UI patterns are often underutilized in the frontend development world, despite their proven effectiveness in solving complex problems in UI design. This article explores the application of established UI building patterns to the React world, with a refactoring journey code example to showcase the benefits.
This post covers speeding up the startup part of runtime. The other part - how fast the code is actually running - remains constant (and fast), since it’s javascript being run in all cases. Typescript is a great, but it comes at a cost.
From launching our technology preview of the new and improved code search experience a year ago, to the public beta we released at GitHub Universe last November, there’s been a flurry of innovation and dramatic changes to some of the core GitHub product experiences around how we, as developers, fi
Golden handcuffs — when you stay at a job that you’d rather quit only for the money. I thought I was going to stay at Netflix forever. Top of market pay. Freedom and responsibility. Unlimited PTO. What more could you ask for?
How can we ensure that our pages are loading at top speed? The answer is to measure them regularly with Lighthouse and CI/CD. Page speed matters more than you think. According to research by Google, the probability of users staying on your site plummets as the loading speed slows down.
Dependabot alerts can give you a superpower–the ability to secure your project by keeping dependency-based vulnerabilities out of your code. However, while all potential vulnerabilities can be an issue and warrant attention, not all vulnerabilities pose equal risk to your project.
When there are a lot of teams on the project, when dynamic frontend expansion is necessary, and when a rebuild of the entire project is not an option, the concept of Micro Frontends comes into play in conjunction with Dynamic Module Federation.