Unique identifiers (UUIDs) in their standard form can be unfriendly to users. To improve their UX for users, developers can remove hyphens to allow for easy double-click copying. They can also add prefixes (e.g., "prod_" or "test_") to distinguish between environments and resources. Developers should consider encoding UUIDs in base58 for shorter IDs.
This guide goes over Git, from key terms to important commands and workflows. It covers branches, commits, and HEAD, along with workflows like forking, feature branches, and more.
Italian bank Sella has been offline for days after a weekend system update caused a database problem. It is working with Oracle to resolve the unexpected issue. The extended downtime shows the importance of having a good backup strategy. While "blackout" windows for maintenance are common in banking, they might inadvertently lead to weaker engineering practices compared to industries that require zero-downtime migrations.
Quality improvement programs often yield initial success as obvious flaws ("special causes") are fixed. However, teams will eventually reach a plateau because systemic issues aren't addressed. This means not just fixing bugs, but also tackling architectural problems like geographic distribution, resource allocation, data efficiency, and problematic access patterns.
Developers are burning out for various reasons, including layoffs, decisions made by non-technical executives, and a tough hiring market. The hiring market is now an “employer's market”, which means that companies have more power over employees and so can dictate working hours, promotions (or lack thereof), and other parts of work to their own benefit.
To land a data engineering job in 2024, you'll need a skillset that includes SQL knowledge, development skills in Python or Scala, and ideally expertise in distributed compute frameworks like Spark, Snowflake, or BigQuery. Aspiring data engineers should make sure they know how to model data properly and have at least one compelling portfolio project that showcases all of these skills.
Flow, a type checker for JavaScript, now offers dedicated syntax for React components and hooks to improve the developer experience. It now replaces traditional React function syntax with component syntax and enforces React best practices, like making props read-only. It also supports hooks and their corresponding rules.
Madge is a development tool that helps visualize and manage module dependencies for JavaScript and CSS projects. It supports several module types and CSS preprocessors. Madge can detect circular dependencies and create visual graphs of project structures. The tool is useful for developers looking to optimize their codebase and maintain clear dependencies.
Large companies (like FAANG) have the resources to offer new hires extended onboarding periods (3-6 months), allowing flexibility in the languages that a new hire knows. In contrast, startups need immediate productivity from new hires since they run lean.
While working on a project, this developer accidentally discovered a serious security flaw in the ZeroMQ library. The flaw was serious and reminded them of the recent infamous xz backdoor incident. Both flaws could've been prevented. Open-source contributors and maintainers should prioritize focused features and utilize tools like Valgrind to prevent similar security risks.
Over the last few decades, software testing has evolved from slow manual reviews to automated testing of every code change. Initially focused on finding errors, testing now emphasizes speed and efficiency through vertical scaling (faster machines), parallelization (running tests simultaneously), and caching (avoiding rework). Teams are able to optimize testing further by batching changes in merge queues, testing stacked PRs together, and using AI code review to detect potential errors.
HashiCorp claims OpenTofu's "removed" block infringes its copyright, but OpenTofu refutes this, citing evidence that the code originated from an MPL-2.0 licensed project and that Hashicorp's own implementation appears to be derived from the same source.
A guide for developers who are moving from React to Svelte that covers differences in reactivity, component lifecycle, and state management, providing code examples along the way.
An overview of various AI/ML tools, including general frameworks like TensorFlow, tools optimized for local use such as GPT4ALL, and AI development kits like the Unity ML Agents Toolkit.
Get our free, 5-minute newsletter read by 350,000 frontend, backend, and full stack developers