2025-02-03

Software development topics I've changed my mind on after 10 years in the industry

An experienced software developer shares evolving perspectives on industry practices, highlighting shifts in views about simplicity, technology choices, and team dynamics over a decade. The insights cover technical aspects like database selection and programming paradigms, while emphasizing the importance of communication and mentorship in engineering.

Original archive.is archive.ph web.archive.org

Log in to get one-click access to archived versions of this article.

Related articles

Distributed Systems Programming Has Stalled

An analysis of distributed systems programming models reveals limitations in current approaches: external-distribution, static-location, and arbitrary-location paradigms. Despite advancements in distributed systems over the last decade, programming models haven't fundamentally improved, leading to ongoing challenges with concurrency, fault tolerance, and versioning.

Securing tomorrow's software: the need for memory safety standards

Memory safety vulnerabilities have been a persistent security challenge costing billions, prompting a call for industry-wide standardization and secure-by-design practices. Recent advancements in memory-safe languages like Rust and hardware technologies offer promising solutions for widespread adoption. Google advocates for establishing a common framework to assess memory safety assurances and drive industry-wide adoption of secure practices.

Main Page

A wiki navigation page provides comprehensive resources for IRIX operating system, including setup guides, software versions, and development tools. Recent update confirms SSL implementation and site functionality improvements as of February 2024.

Gleam, coming from Erlang

A developer shares their experience building a feed aggregator using Gleam, a type-safe language running on the Erlang VM. The article explores Gleam's features, including its type system, error handling, and OTP integration, while highlighting both strengths and challenges in implementing a real-world application.

The Engineering Design Revolution - A History of CAD

David E. Weisberg chronicles the 80-year evolution of Computer-Aided Design (CAD) through extensive interviews with industry pioneers and detailed company histories. The comprehensive 650-page document covers CAD's development from its 1950s origins through the early 2000s, offering insights into the technology, companies, and individuals who revolutionized engineering design.

Wiki

A developer explores GDScript, Godot's custom programming language, providing detailed analysis of its features, type system, and design choices. The language combines Python-like syntax with stronger typing and modern features like pattern matching, proving to be surprisingly well-designed for game development despite initial skepticism.

What is it?

Exult is an open-source project recreating the classic 1990s RPG Ultima VII for modern operating systems while maintaining original plot and graphics. Recent updates include version 1.10.1 with critical bugfixes for Windows and Android platforms, following a major 1.10 release that introduced significant combat improvements and Android port completion.

Introduction

Vine is an experimental programming language built on interaction nets, offering seamless integration between functional and imperative programming paradigms. The language is currently under active development with examples available for exploration.

The Vine Programming Language

Vine is a new programming language designed for web development that aims to combine modern features with simplicity and performance. The language emphasizes safe concurrency, static typing, and seamless JavaScript interoperability while maintaining a familiar syntax for experienced developers.

Do You Really Want to be Doing This When You're 50?

A former programmer reflects on the frustrations of modern software development, highlighting challenges like incomplete domain knowledge, complex APIs, and constant technological evolution. The author expresses preference for small, manageable programming projects while suggesting that high-pressure development may be better suited for younger developers.