Daily Edition · Page 4

THE DAILY INDEX

Technology, AI, software, security, crypto and business

ARTICLES & TUTORIALS

TLDR Web Dev

IMPROVING NODE.JS LOADER PERFORMANCE

Node.js supports two types of modules: EcmaScript (ES) modules and CommonJS modules. ES modules are the official standard and are supported by modern browsers, while CommonJS modules are used by Node.js by default, but are not supported by browsers. Node.js determines which module loader to use based on the file extension: .mjs for ES modules, .cjs for CommonJS modules, and .js with package.json settings. This article discusses optimizations made to improve the performance of package.json reading and parsing in Node.js, ultimately resulting in faster applications.

CALL SITE ATTRIBUTION: HOW TO PINPOINT ROGUE SQL QUERIES THROTTLING DATABASE PERFORMANCE

This author explains how they added call site attribution to their Node.js web app to prepare for a potential 10x growth in database traffic. The attribution helped identify the specific location in the source code from which SQL queries were executed, allowing for quick identification and optimization of performance bottlenecks. Initially, they explored solutions like Datadog tracing and monkey patching, but eventually settled on requiring SQL queries to be tagged with a user-defined string indicating the call site.

MAYBE GETTING RID OF YOUR QA TEAM WAS BAD, ACTUALLY.

DevOps initially focused on optimizing delivery pipelines and processes, but the bottleneck in software delivery shifted to testing. This led to a series of actions that devalued and eventually dismantled the role of QA engineers, resulting in low-quality software. However, quality assurance work which includes defect tracking, bug triage, defect investigation, and end-to-end testing, which all end up being long-term obstacles to sustainable software development.

7 CHALLENGES WITH LONG-TERM PROJECTS AND HOW TO MANAGE THEM

When managing long-term projects with large teams, engineers should prioritize hard problems and continually reassess them. They need to anticipate hidden work that may arise during the project, address attrition through redundancy, stage the value by setting intermediate milestones, adapt to changing constraints, maintain project confidence and perception, and avoid making exact completion time commitments.

CAREER LADDERS / PROMOTIONS

How can you tell when you’re ready for the next level as a software engineer? What can you do when you feel stuck at your current level? This post covers the responsibilities of junior-level to staff-level engineers in tech companies and gives 3 tips on how to advance to the next level. The tips include operating at the next level ahead of time, managing up, and spending more time with higher-level engineers.

INTERVIEWING MY MOTHER, A MAINFRAME COBOL PROGRAMMER

This article discusses an IBM Mainframe COBOL programmer who has worked for one of the largest banks in the EU since 1991. This role is crucial for the bank's operations, and the author highlights the challenges faced by programmers dealing with legacy systems like COBOL and the vast amounts of data that banks must manage. The programmer found her work to be both challenging and rewarding, but she sees the need for modernization in the banking industry.

DELETING 50,000 LINES OF CODE IN 3 DAYS

A developer recently deleted over 50,000 lines of code, approximately 70% of their frontend codebase, and surprisingly, this massive code removal didn't break the application and led to a significant simplification, making the platform feel lighter and more user-friendly. By carefully removing rarely used modules, screens, buttons, and features, they simplified the application, improved performance, and streamlined development.

TLDR IndexPage 4