Tagged articles

software engineering

1898 articles · Page 19 of 19
21CTO
21CTO
Mar 31, 2016 · Fundamentals

8 Proven Habits to Transform Into a Better Programmer

This article outlines eight practical, actionable guidelines—ranging from acknowledging what you don’t know to collaborating one‑on‑one with peers—that can dramatically boost your programming skills and help you become a more effective, self‑driven developer.

Self‑Improvementcareer developmentcoding habits
0 likes · 9 min read
8 Proven Habits to Transform Into a Better Programmer
21CTO
21CTO
Mar 26, 2016 · R&D Management

Why Uninterrupted Deep Work Beats Frequent Meetings for Developers

The article explains how programmers need long, uninterrupted periods of deep work (the "quiet" mode) to solve complex problems, while managers thrive in a meeting‑driven "worldly" mode, and argues that balancing these two states and protecting developers from mid‑day interruptions can dramatically improve productivity.

R&Ddeep workmeeting management
0 likes · 6 min read
Why Uninterrupted Deep Work Beats Frequent Meetings for Developers
Qunar Tech Salon
Qunar Tech Salon
Mar 18, 2016 · Fundamentals

Why Visual Programming Tools Fail in Enterprise Data Analysis

The article examines the shortcomings of visual programming tools for data scientists, highlighting issues such as poor version control, limited IDE flexibility, lack of open‑source integration, and reduced modularity, and argues that code‑first approaches remain more effective in enterprise environments.

Visual Programmingcode vs toolsdata analysis
0 likes · 11 min read
Why Visual Programming Tools Fail in Enterprise Data Analysis
Qunar Tech Salon
Qunar Tech Salon
Mar 17, 2016 · Fundamentals

The Four Stages of Programming Competence: A Psychological Perspective

The article applies Freud's conscious‑unconscious model to programming, describing four (and a possible fifth) stages of competence illustrated with real‑world examples, and argues that this psychological framework effectively explains skill development for developers.

competence stageslearningprogramming
0 likes · 7 min read
The Four Stages of Programming Competence: A Psychological Perspective
21CTO
21CTO
Mar 7, 2016 · Fundamentals

Are You a Bad Programmer? Spot the Traits That Hold Your Code Back

This article examines the two main types of poor developers—‘cowboy’ programmers who rush code without maintainability and mediocre coders lacking competence—explores their harmful habits such as spaghetti code, endless bugs, and arrogance, and outlines how good developers differ through humility, responsibility, and continuous learning.

bad programmingcode qualitydeveloper habits
0 likes · 14 min read
Are You a Bad Programmer? Spot the Traits That Hold Your Code Back
21CTO
21CTO
Mar 5, 2016 · Backend Development

How to Choose, Use, and Extend Open‑Source Projects Without Reinventing the Wheel

This article explores the DRY principle in software development, explains why many open‑source projects violate it, and provides practical guidance on selecting, using, and customizing open‑source solutions through real‑world case studies, focusing on business fit, maturity, operational capability, and safe integration.

Operationsbest practicesopen source
0 likes · 12 min read
How to Choose, Use, and Extend Open‑Source Projects Without Reinventing the Wheel
21CTO
21CTO
Mar 4, 2016 · Fundamentals

11 Essential Rules Every Programmer Should Live By

This article shares eleven practical rules for software developers, ranging from treating technology as a tool rather than a solution, writing clear code, avoiding unnecessary code, limiting comments, planning before coding, testing thoroughly, continuous learning, enjoying coding, acknowledging unknowns, adapting best practices, and striving for simplicity.

best practicescoding rulesproductivity
0 likes · 9 min read
11 Essential Rules Every Programmer Should Live By
dbaplus Community
dbaplus Community
Mar 3, 2016 · Operations

Why Every Developer Must Master Core Ops Skills

The article explains why developers need to understand operations—covering resource usage, fault handling, platform basics, and essential ops tools—so they can write maintainable code, avoid common pitfalls, and collaborate effectively with ops teams for reliable, high‑performance services.

MonitoringOperationscoding standards
0 likes · 14 min read
Why Every Developer Must Master Core Ops Skills
21CTO
21CTO
Mar 1, 2016 · Fundamentals

Why Bad Code Survives and How Refactoring Can Save Your Projects

The article examines why developers often produce low‑quality, hard‑to‑maintain code, outlines common bad‑code patterns, discusses the limited benefits and high costs of refactoring, and offers practical advice for writing better, more maintainable software.

bad code patternscode qualitymaintainability
0 likes · 12 min read
Why Bad Code Survives and How Refactoring Can Save Your Projects
Qunar Tech Salon
Qunar Tech Salon
Mar 1, 2016 · Fundamentals

How to Write High‑Quality Functions: Naming, Parameters, and Implementation Practices

The article provides comprehensive guidelines for writing high‑quality functions, covering naming conventions, parameter design, and body implementation techniques such as reducing nesting, avoiding mutable inputs, and using clear verbs to improve readability, maintainability, and testability across programming languages.

Naming Conventionsbest practicescode quality
0 likes · 16 min read
How to Write High‑Quality Functions: Naming, Parameters, and Implementation Practices
21CTO
21CTO
Feb 27, 2016 · Fundamentals

How Margaret Hamilton’s Code Sent Humans to the Moon and Shaped Modern Software

Margaret Hamilton, the pioneering software engineer behind the Apollo Guidance Computer, overcame gender bias, invented key software engineering practices, and laid the groundwork for modern computing, illustrating how early system programming turned a daring space mission into a historic triumph.

Apollo programMargaret HamiltonWomen in Tech
0 likes · 12 min read
How Margaret Hamilton’s Code Sent Humans to the Moon and Shaped Modern Software
21CTO
21CTO
Feb 23, 2016 · Fundamentals

Why Writing Less Code Makes You a Better Developer

The article argues that while writing code is essential, the true goal of developers is to minimize code through thoughtful design, using tools that reduce errors, and continuously refactoring to keep code clear, maintainable, and a harmless by‑product of solving problems.

code minimizationcode qualitydevelopment practices
0 likes · 4 min read
Why Writing Less Code Makes You a Better Developer
21CTO
21CTO
Feb 23, 2016 · Backend Development

From Personal Homepage to Billion‑Page Site: Lessons in Scalable Web Architecture

This article shares a 14‑year journey of building and evolving website architectures, from a simple personal homepage to billion‑page platforms, highlighting essential accumulation, knowledge structuring, design principles, infrastructure, software engineering practices, and the nuanced differences across business systems.

Backend DevelopmentScalable Systemssite scaling
0 likes · 31 min read
From Personal Homepage to Billion‑Page Site: Lessons in Scalable Web Architecture
MaGe Linux Operations
MaGe Linux Operations
Feb 20, 2016 · Fundamentals

How to Master Any New Technology Quickly: 5 Proven Steps for Engineers

The article outlines five practical steps—adopting a proactive mindset, shifting from passive to active learning, understanding the purpose of the technology, hands‑on experimentation with official quick‑start guides, deep‑dive reading, teaching, and community involvement—to help engineers rapidly master new IT tools and frameworks.

career developmentcontinuous learninglearning
0 likes · 9 min read
How to Master Any New Technology Quickly: 5 Proven Steps for Engineers
21CTO
21CTO
Feb 11, 2016 · Fundamentals

Why Strict Coding Standards Boost Productivity at Google

The author recounts how strict coding standards at Google transformed his view, showing that uniform indentation, naming, and comment styles dramatically improve code readability, speed up understanding across teams, and outweigh common objections about creativity, flexibility, or perceived waste of time.

Googlebest practicescode readability
0 likes · 7 min read
Why Strict Coding Standards Boost Productivity at Google
High Availability Architecture
High Availability Architecture
Jan 29, 2016 · Fundamentals

Evaluating Code Quality: Definitions, Readability, Maintainability and Practical Guidelines

This article explains how to objectively assess code quality by defining good code, discussing readability, documentation, exception handling, concurrency, performance, logging, maintainability, modularization and providing recommended reading, helping developers and reviewers establish consistent evaluation standards.

best practicescode qualitymaintainability
0 likes · 21 min read
Evaluating Code Quality: Definitions, Readability, Maintainability and Practical Guidelines
Alibaba Cloud Infrastructure
Alibaba Cloud Infrastructure
Jan 25, 2016 · R&D Management

Alibaba's Continuous Delivery Model and Practices for High‑Quality Software Delivery

The article explains Alibaba's continuous delivery theory, tools, and best‑practice pipeline—including integration, testing, deployment, and release—illustrated with diagrams and a detailed description of how the platform improves software quality, collaboration, and operational resilience in large‑scale cloud environments.

AlibabaCloud ComputingContinuous Delivery
0 likes · 11 min read
Alibaba's Continuous Delivery Model and Practices for High‑Quality Software Delivery
21CTO
21CTO
Jan 23, 2016 · Fundamentals

Are You Cut Out to Be a Programmer? Key Traits That Reveal Unsuitability

The article compiles insights from developers on Quora about the attitudes and habits—such as lack of patience, poor use of Google, 9‑to‑5 mindset, weak memory, giving up early on errors, focusing only on output, and missing enjoyment—that signal someone may struggle to succeed as a programmer.

Career Adviceprogrammer mindsetprogramming career
0 likes · 7 min read
Are You Cut Out to Be a Programmer? Key Traits That Reveal Unsuitability
Efficient Ops
Efficient Ops
Jan 22, 2016 · R&D Management

How Top Tech Experts Design Learning Plans and Master Their Craft

In this interview, senior technology specialist Yu shares practical strategies for creating effective learning plans, becoming an expert through deliberate practice, balancing full‑stack skills, choosing sustainable technologies, and overcoming growth plateaus in a fast‑changing software industry.

Full-Stackcareer developmentexpertise
0 likes · 9 min read
How Top Tech Experts Design Learning Plans and Master Their Craft
Qunar Tech Salon
Qunar Tech Salon
Jan 22, 2016 · Fundamentals

My Journey Learning Data Structures and Algorithms

The article recounts the author's seven‑year path learning data structures and algorithms, from neglect in college to self‑study, book recommendations, internships at Microsoft and Baidu, projects such as a T‑SQL parser and a pinyin index, and reflections on the importance of algorithms.

Data Structuresalgorithmsinterview preparation
0 likes · 19 min read
My Journey Learning Data Structures and Algorithms
Qunar Tech Salon
Qunar Tech Salon
Jan 17, 2016 · Fundamentals

Google’s Code Quality Practices and the Myth of Code Age vs. Quality

The article examines how Google maintains high code quality through rigorous code reviews, strict style guides, active code‑health initiatives, fix‑it events, and a strong testing culture, while also discussing the perception that older code inevitably degrades.

Googlecode qualitycode review
0 likes · 5 min read
Google’s Code Quality Practices and the Myth of Code Age vs. Quality
21CTO
21CTO
Jan 16, 2016 · Fundamentals

Why Mastering Fundamentals Beats Chasing the Latest Tech

The author reflects on a programmer's focus on web, distributed systems, and data processing, arguing that deep, continuous investment in fundamentals—such as algorithms, networking, and OS concepts—drives lasting skill growth, better project outcomes, and a healthier professional mindset.

Programming Fundamentalsdata processingknowledge acquisition
0 likes · 8 min read
Why Mastering Fundamentals Beats Chasing the Latest Tech
21CTO
21CTO
Jan 16, 2016 · R&D Management

Turning a Resume Experiment into a Management Leap for a Software Engineer

This article recounts a career experiment where a senior software engineer named Bill reshaped his résumé to emphasize managerial experience, navigated two contrasting interview processes, and analyzes how social status and perceived leadership affect hiring outcomes in the tech industry.

Careerinterviewmanagement
0 likes · 20 min read
Turning a Resume Experiment into a Management Leap for a Software Engineer
21CTO
21CTO
Jan 15, 2016 · Mobile Development

Mastering iOS App Architecture: Principles, Layering, and Common Folder Pitfalls

This article explores the essential concerns of iOS client‑app architecture—including network API handling, page presentation, local persistence, and dynamic deployment—while offering a step‑by‑step methodology, insights on layer design, and a critical look at the drawbacks of using a generic Common folder.

App ArchitectureMobile Developmentcommon folder
0 likes · 26 min read
Mastering iOS App Architecture: Principles, Layering, and Common Folder Pitfalls
High Availability Architecture
High Availability Architecture
Jan 13, 2016 · Fundamentals

Bad Code: Causes, Symptoms, and Refactoring Challenges (Part 1)

This article examines why developers produce low‑quality, hard‑to‑maintain code, describing common anti‑patterns such as unclear intent, unreadable logic, poor organization, and missing abstractions, and discusses the difficulties of refactoring such code, while offering insights into recognizing and improving code quality.

bad codebest practicescode quality
0 likes · 15 min read
Bad Code: Causes, Symptoms, and Refactoring Challenges (Part 1)
Qunar Tech Salon
Qunar Tech Salon
Dec 29, 2015 · Artificial Intelligence

Technical Debt in Machine Learning Systems

The paper examines how machine‑learning systems inherit unique forms of technical debt—such as boundary erosion, entanglement, hidden feedback loops, and data‑dependency issues—and discusses mitigation strategies, measurement techniques, and cultural changes needed to maintain sustainable, reliable ML deployments.

data dependenciesfeedback loopsmachine learning
0 likes · 26 min read
Technical Debt in Machine Learning Systems
Qunar Tech Salon
Qunar Tech Salon
Dec 27, 2015 · Fundamentals

The Importance of Continuous Learning in a Software Development Career

The author, a programmer with 32 years of experience, argues that continuous self‑education and staying abreast of emerging technologies are personal responsibilities, not the employer’s, illustrating this through a series of career anecdotes spanning from early microcomputers to modern mobile and web development.

career developmentcontinuous learningprogramming languages
0 likes · 11 min read
The Importance of Continuous Learning in a Software Development Career
Qunar Tech Salon
Qunar Tech Salon
Dec 26, 2015 · Fundamentals

Why Naming Is the Top Programming Challenge According to a Developer Survey

A developer survey of 4,500 programmers reveals that naming variables, classes, and functions is perceived as the biggest programming challenge, highlighting its impact on code readability, design quality, and maintenance, and underscoring the art and difficulty of choosing concise, meaningful identifiers.

Developer SurveyProgramming Fundamentalscode readability
0 likes · 6 min read
Why Naming Is the Top Programming Challenge According to a Developer Survey
Qunar Tech Salon
Qunar Tech Salon
Dec 23, 2015 · Fundamentals

Writing Impervious Code: Proper Use of If‑Else, Error Handling, Null Safety, and Avoiding Over‑Engineering

The article explains how to write robust, error‑free code by always using two‑branch if statements, handling return values and exceptions correctly, avoiding null‑pointer pitfalls, and steering clear of over‑engineering through practical examples and clear best‑practice guidelines.

Error handlingNull Safetybest practices
0 likes · 21 min read
Writing Impervious Code: Proper Use of If‑Else, Error Handling, Null Safety, and Avoiding Over‑Engineering
Qunar Tech Salon
Qunar Tech Salon
Dec 22, 2015 · Fundamentals

Programming Philosophy: Writing Elegant, Modular, and Readable Code

The article presents a comprehensive philosophy on software development, emphasizing the importance of repeatedly refining code, structuring it elegantly, modularizing with clear functions, avoiding unnecessary comments, and adopting simple, intuitive practices to improve readability and maintainability across any programming language.

Programming Philosophybest practicescode readability
0 likes · 27 min read
Programming Philosophy: Writing Elegant, Modular, and Readable Code
DevOps
DevOps
Dec 20, 2015 · Fundamentals

The Essence of Software Development and Engineering: Lessons from Levi's Jeans and Power Plants

This article uses historical and everyday analogies—from Levi Strauss’s gold‑rush jeans to a simple power‑plant demonstration—to explain the core nature of software development, why traditional factory‑style management fails, and how agile practices, continuous integration, and quality standards drive modern software engineering.

qualitysoftware engineering
0 likes · 10 min read
The Essence of Software Development and Engineering: Lessons from Levi's Jeans and Power Plants
Efficient Ops
Efficient Ops
Dec 18, 2015 · R&D Management

Mastering Team Collaboration: Key Lessons from "The Geek and the Team"

This article summarizes the core concepts of "The Geek and the Team", highlighting humility, respect, and trust as pillars for effective software team collaboration, and provides practical guidance on culture, leadership, handling disruptive members, organizational influence, and user relationships.

LeadershipR&D Managementsoft skills
0 likes · 13 min read
Mastering Team Collaboration: Key Lessons from "The Geek and the Team"
DevOps
DevOps
Dec 18, 2015 · Fundamentals

The Essence of Software Development: Lessons from Levi’s Jeans and Engineering

This article uses historical and everyday analogies—such as Levi’s jeans and car factories—to explain the core principles of software development, emphasizing continuous design, iterative production, quality, efficiency, and the need for agile engineering practices.

Continuous IntegrationEfficiencyagile development
0 likes · 9 min read
The Essence of Software Development: Lessons from Levi’s Jeans and Engineering
21CTO
21CTO
Dec 14, 2015 · Fundamentals

Mastering Clean Code: Practical Tips for Writing Elegant and Maintainable Software

This article shares practical programming philosophy and concrete techniques—such as iterative code refinement, modular design, readable naming, avoiding unnecessary language features, and clear control flow—to help developers consistently produce elegant, maintainable, and bug‑free code.

Code Refactoringbest practicesclean code
0 likes · 27 min read
Mastering Clean Code: Practical Tips for Writing Elegant and Maintainable Software
21CTO
21CTO
Dec 14, 2015 · Fundamentals

Why Continuous Learning Is a Programmer’s Survival Skill

The article reflects on a veteran programmer’s 32‑year journey, emphasizing that staying current through self‑driven education, exploring new languages and technologies, and not relying on employers for training is essential for long‑term success in the ever‑evolving software industry.

career developmentcontinuous learningprogramming
0 likes · 10 min read
Why Continuous Learning Is a Programmer’s Survival Skill
21CTO
21CTO
Dec 14, 2015 · Fundamentals

How to Write Bulletproof Code: Mastering If Statements, Error Handling, and Null Safety

This article explores practical programming philosophies for writing robust, maintainable code by using exhaustive two‑branch if statements, proper error handling, disciplined null‑pointer management, and avoiding over‑engineering, offering concrete examples and guidelines for Java and other languages.

Error handlingNull Safetybest practices
0 likes · 21 min read
How to Write Bulletproof Code: Mastering If Statements, Error Handling, and Null Safety
21CTO
21CTO
Nov 30, 2015 · Fundamentals

9 Bad Programming Habits We Secretly Love (And Why They Persist)

While many developers know they should avoid certain coding shortcuts, this article reveals nine surprisingly common bad programming habits—like using goto, skipping documentation, over‑compressing code, and redefining operators—that programmers often cling to, explaining their origins, risks, and occasional hidden benefits.

Gotobad practicescode quality
0 likes · 14 min read
9 Bad Programming Habits We Secretly Love (And Why They Persist)
21CTO
21CTO
Nov 29, 2015 · R&D Management

Why Looking Busy Can Be a Bad Sign for Software Teams

The article argues that visible over‑time and frantic activity often mask poor software design, while quieter teams that focus on solid architecture, SOLID principles, and unit testing deliver higher quality code, challenging traditional notions of effort in tech management.

code qualityproductivitysoftware development
0 likes · 7 min read
Why Looking Busy Can Be a Bad Sign for Software Teams
21CTO
21CTO
Nov 21, 2015 · Backend Development

How to Become a Successful Web Architect: Essential Skills & Roadmap

This article outlines the common pitfalls programmers face on the path to web architecture, emphasizes mastering object‑oriented fundamentals, design patterns, and refactoring, and provides a detailed roadmap of the technical, operational, and managerial knowledge required to become a competent web architect.

Backend Developmentcareer developmentdesign patterns
0 likes · 19 min read
How to Become a Successful Web Architect: Essential Skills & Roadmap
21CTO
21CTO
Nov 17, 2015 · R&D Management

5 Essential Lessons for Veteran Programmers to Stay Relevant

A seasoned programmer in his late fifties shares five practical pieces of advice—ranging from staying true to your roots and embracing chaos to pruning code, leveraging experience, and prioritizing health—to help aging developers remain productive and fulfilled in the fast‑moving software industry.

Career Advicecontinuous learningsenior developers
0 likes · 14 min read
5 Essential Lessons for Veteran Programmers to Stay Relevant
21CTO
21CTO
Nov 14, 2015 · Fundamentals

How to Write Self‑Describing Code: Naming Best Practices for Clean Code

This article explains why clear, self‑describing naming and adherence to coding conventions are essential for readable, maintainable software, illustrating common pitfalls with bad examples and showing improved alternatives that convey intent without relying on comments.

Naming Conventionsbest practicesclean code
0 likes · 8 min read
How to Write Self‑Describing Code: Naming Best Practices for Clean Code
21CTO
21CTO
Nov 13, 2015 · Fundamentals

How to Write Self‑Describing Code: Naming Best Practices for Clean Code

This article explains why clear, self‑describing naming is essential for professional programmers, illustrates common pitfalls with bad examples, and provides concrete guidelines on intent‑revealing, unambiguous, appropriately‑sized, convention‑compliant, domain‑aware names to improve code readability and collaboration.

best practicesclean codecode naming
0 likes · 9 min read
How to Write Self‑Describing Code: Naming Best Practices for Clean Code
21CTO
21CTO
Nov 7, 2015 · Fundamentals

Satirical Timeline: From Jacquard Loom to JavaScript

This tongue‑in‑cheek chronicle traces the evolution of programming languages—from the 1801 Jacquard loom’s punched‑card instructions and Ada Lovelace’s theoretical algorithm, through Turing’s universal machine, the birth of FORTRAN, Lisp, COBOL, C, Java, and up to modern JavaScript—mixing factual milestones with satirical commentary.

historyprogramming languagessatire
0 likes · 21 min read
Satirical Timeline: From Jacquard Loom to JavaScript
21CTO
21CTO
Nov 6, 2015 · Fundamentals

What Are the 8 Programmer Career Levels? A Global Perspective

This article outlines eight distinct programmer career levels—from the "Immortal Programmer" to the "Terrible Programmer"—explaining their characteristics, typical roles, and examples, while highlighting cultural differences in career expectations between China and abroad.

Industry insightProfessional Developmentcareer levels
0 likes · 6 min read
What Are the 8 Programmer Career Levels? A Global Perspective
Qunar Tech Salon
Qunar Tech Salon
Oct 27, 2015 · Fundamentals

How to Define a Programmer and Advance Your Career

The article explores the definition of a programmer, outlines essential skills and daily responsibilities, discusses common career pitfalls, and provides practical advice on personal branding and professional growth for software developers.

best practicescareer developmentpersonal branding
0 likes · 11 min read
How to Define a Programmer and Advance Your Career
21CTO
21CTO
Oct 26, 2015 · R&D Management

A Day in the Life of a Google Engineer vs a Harvard Professor

Matt Welsh, a former Harvard CS professor now at Google, details his typical workday at both institutions, highlighting the stark contrast in coding time, meetings, and personal routines, offering insight into modern software engineering and academic life.

GoogleHarvardMatt Welsh
0 likes · 11 min read
A Day in the Life of a Google Engineer vs a Harvard Professor
21CTO
21CTO
Oct 26, 2015 · Fundamentals

What Terrible Code Practices Are Killing Your .NET Project?

A graduate student recounts the shocking code quality issues he found in his team's data‑mining project, highlighting bad naming, massive classes, duplicated logic, overuse of singletons, excessive comments, and other anti‑patterns that jeopardize maintainability and graduation.

C#best practicescode quality
0 likes · 9 min read
What Terrible Code Practices Are Killing Your .NET Project?
21CTO
21CTO
Oct 23, 2015 · R&D Management

How Tech Experts Can Transform into Effective Technical Managers

This article explores why technical experts often lack management experience, outlines the typical career stages of a developer, and provides practical guidance on shifting mindset, setting team goals, allocating resources, improving communication, and fostering empowerment to become successful technical managers.

career developmentmanagement skillssoftware engineering
0 likes · 9 min read
How Tech Experts Can Transform into Effective Technical Managers
21CTO
21CTO
Oct 21, 2015 · Fundamentals

What Sets Top US Engineers Apart? Insights on Communication, Problem‑Solving, and Passion

The author compares Chinese and US software engineers, highlighting stark differences in communication style, problem‑solving ability, technical depth, passion for coding, and broader expectations such as leadership and vision, while noting that only a small elite in each country truly excel.

communicationcultural differencesproblem solving
0 likes · 8 min read
What Sets Top US Engineers Apart? Insights on Communication, Problem‑Solving, and Passion
21CTO
21CTO
Oct 19, 2015 · Fundamentals

Mastering C++ Naming Conventions: 8 Principles for Clear, Readable Code

This guide explains why good naming is essential for maintainable C++ code, presents eight concrete principles—such as being true to the name, avoiding misleading terms, using searchable identifiers, and leveraging meaningful context—and shows bad versus good examples for variables, functions, classes, and constants.

C++Naming Conventionsbest practices
0 likes · 8 min read
Mastering C++ Naming Conventions: 8 Principles for Clear, Readable Code
21CTO
21CTO
Oct 19, 2015 · Fundamentals

18 Essential Programming Principles Every Developer Should Follow

This article presents eighteen core programming principles—from DRY and KISS to the Open/Closed and Law of Demeter—that help developers write cleaner, more maintainable code, reduce bugs, and adapt to change effectively.

best practicesclean codeprogramming principles
0 likes · 8 min read
18 Essential Programming Principles Every Developer Should Follow
Qunar Tech Salon
Qunar Tech Salon
Oct 17, 2015 · Fundamentals

Lessons from Dennis Ritchie: The Birth of UNIX and the Power of Sharing

The article reflects on Dennis Ritchie's legacy, describing how his work on UNIX and the C language emerged from curiosity, stepping out of comfort zones, innovative thinking, and a philosophy of sharing that still influences modern software development and open‑source culture.

C languageComputer HistoryDennis Ritchie
0 likes · 5 min read
Lessons from Dennis Ritchie: The Birth of UNIX and the Power of Sharing
Efficient Ops
Efficient Ops
Oct 15, 2015 · Operations

Is DevOps & Full‑Stack Hype Killing Developers? A Critical Analysis

The article critically examines how the DevOps and full‑stack trends, driven by startup culture, force developers to juggle multiple roles, leading to overwork, reduced focus, and higher costs, while also highlighting nine companies that successfully practice DevOps.

Full-StackOperationsdeveloper roles
0 likes · 16 min read
Is DevOps & Full‑Stack Hype Killing Developers? A Critical Analysis
Qunar Tech Salon
Qunar Tech Salon
Oct 12, 2015 · R&D Management

How Programmers Can Build Their Personal Brand

Programmers can strengthen their personal brand by showcasing products, leveraging company and team reputation, contributing to open‑source, maintaining technical blogs, publishing books, obtaining patents and certificates, and cultivating a solid reputation, all of which enhance visibility and career opportunities.

career developmentpersonal brandingsoftware engineering
0 likes · 11 min read
How Programmers Can Build Their Personal Brand
Java High-Performance Architecture
Java High-Performance Architecture
Oct 10, 2015 · Fundamentals

Master the Software Iron Triangle: How Thoughtful Design Boosts Speed, Cost, and Quality

The article emphasizes that programmers achieve the software engineering iron triangle of cost, speed, and correctness by thoroughly understanding problems, crafting clear designs, listing test conditions, considering impacts on other components, and anticipating future issues, urging a slower, long‑term perspective before diving into code.

best practicesdesigniron triangle
0 likes · 2 min read
Master the Software Iron Triangle: How Thoughtful Design Boosts Speed, Cost, and Quality
Qunar Tech Salon
Qunar Tech Salon
Oct 8, 2015 · Operations

Google’s 2‑Billion‑Line Codebase and the Piper Version‑Control System

The article examines Google’s massive 2 billion‑line code repository, compares its size to Windows, explains how the single‑repo approach and the Piper version‑control system enable thousands of engineers to collaborate across data centers, and discusses the broader impact on software engineering practices.

Code RepositoryGooglePiper
0 likes · 7 min read
Google’s 2‑Billion‑Line Codebase and the Piper Version‑Control System
21CTO
21CTO
Oct 4, 2015 · Fundamentals

Why I Gave Up on Coding Standards: Embracing Developer Freedom

The article argues that strict coding standards often hinder creativity and teamwork, explaining why the author abandoned them in favor of trusting developers' judgment and focusing on results rather than imposed rules.

best practicescoding standardsdeveloper autonomy
0 likes · 6 min read
Why I Gave Up on Coding Standards: Embracing Developer Freedom
21CTO
21CTO
Sep 25, 2015 · R&D Management

The Legend of Alibaba’s Solo Engineer: How ‘Duo Long’ Built Core Systems Alone

A former Alibaba insider recounts how the enigmatic engineer known as ‘Duo Long’—a non‑technical graduate turned P11 senior leader—single‑handedly designed and maintained critical systems like TFS, Tair, cache, and search, embodying relentless focus, self‑learning, and a true craftsman spirit.

AlibabaCareerR&D
0 likes · 7 min read
The Legend of Alibaba’s Solo Engineer: How ‘Duo Long’ Built Core Systems Alone
Qunar Tech Salon
Qunar Tech Salon
Sep 25, 2015 · Fundamentals

Why Maintainability Should Be the Primary Goal of Software Architecture

The article argues that without clear evaluation standards, software architecture should be judged by how well it achieves the architect's design goals, emphasizing maintainability as the key criterion to balance performance, security, scalability, cost, and long‑term evolution.

design goalsmaintainabilitymodule division
0 likes · 12 min read
Why Maintainability Should Be the Primary Goal of Software Architecture
Qunar Tech Salon
Qunar Tech Salon
Sep 24, 2015 · Fundamentals

Performance vs. Maintainability: Why Maintainability Should Take Precedence

The article argues that while performance is important, maintainability is more critical for sustainable software development, illustrating this with anecdotes, common misconceptions about optimization, and practical advice on balancing code readability, caching, and hardware considerations.

CachingOptimizationcode readability
0 likes · 15 min read
Performance vs. Maintainability: Why Maintainability Should Take Precedence
21CTO
21CTO
Sep 24, 2015 · Fundamentals

From Zero to Algorithm Mastery: My 7‑Year Journey and Lessons Learned

The author chronicles a seven‑year evolution from a clueless undergraduate to a seasoned programmer, detailing the books, courses, internships, and personal projects that shaped his understanding of data structures and algorithms, while debating the practical value of algorithmic knowledge in software development.

Data StructuresLearning Resourcesalgorithms
0 likes · 19 min read
From Zero to Algorithm Mastery: My 7‑Year Journey and Lessons Learned
21CTO
21CTO
Sep 23, 2015 · Fundamentals

What Do the Top 1% Software Engineers Do Differently? Four Key Habits

To accelerate your career as a newly minted software engineer, adopt the four critical habits of the top 1%: investing in learning and tooling, taking decisive action, acting immediately, and maintaining full‑stack understanding, which together enable rapid, high‑impact contributions.

best practicescareer developmentproductivity
0 likes · 4 min read
What Do the Top 1% Software Engineers Do Differently? Four Key Habits
21CTO
21CTO
Sep 21, 2015 · Backend Development

What Can Three Kingdoms Heroes Teach Us About Building a Robust Web Framework?

Drawing parallels between Three Kingdoms figures and web framework components, the article explains how each module—from the entry point to data and cache layers—functions, offering practical insights into designing clear, maintainable, and high‑performance backend architectures for modern web applications.

Web Frameworkbackend-architecturemodule design
0 likes · 9 min read
What Can Three Kingdoms Heroes Teach Us About Building a Robust Web Framework?
21CTO
21CTO
Sep 19, 2015 · Backend Development

Is the Full‑Stack Engineer a Myth? Why Hiring One Is Unrealistic

The article argues that the full‑stack developer role is largely a myth, explaining employers' unrealistic expectations, the ever‑growing skill stack, and why the term often masks a desire for "amazing people" rather than a clearly defined technical profile.

Full-Stackdevopsfrontend development
0 likes · 6 min read
Is the Full‑Stack Engineer a Myth? Why Hiring One Is Unrealistic
Qunar Tech Salon
Qunar Tech Salon
Sep 16, 2015 · Fundamentals

A Programming Language Is a System for Encoding, Naming, and Organizing Algorithms

The article explains that a programming language serves as a system to encode, name, and organize algorithms, discusses the misuse of the term “algorithm,” illustrates classic algorithms like Dijkstra’s and Euclid’s with code examples in Forth, PostScript, and Python, and emphasizes the DRY principle and efficiency concerns in software development.

Code examplesDRY principlealgorithm efficiency
0 likes · 8 min read
A Programming Language Is a System for Encoding, Naming, and Organizing Algorithms
21CTO
21CTO
Sep 16, 2015 · Fundamentals

7 Toxic Habits Every Software Engineer Must Break to Boost Efficiency

The article outlines seven common counterproductive habits—lack of passion, avoiding testing, ignoring usability, saying "no" too quickly, resisting learning, poor teamwork, and neglecting security—that hinder software engineers' productivity and offers expert insights on how to overcome them.

Professional Developmentcoding habitsproductivity
0 likes · 8 min read
7 Toxic Habits Every Software Engineer Must Break to Boost Efficiency
21CTO
21CTO
Sep 12, 2015 · Fundamentals

How to Become a Self‑Taught Programmer: A Practical Roadmap for Beginners

This guide outlines a comprehensive learning strategy for new programmers, covering what to study, effective study methods, specialization, practical coding practice, sharing knowledge, and staying updated with industry trends to accelerate career growth.

Learning Resourcescareer developmentprogramming
0 likes · 15 min read
How to Become a Self‑Taught Programmer: A Practical Roadmap for Beginners
21CTO
21CTO
Sep 10, 2015 · Fundamentals

How to Fast‑Track Your Journey from Junior to Senior Programmer

The article outlines practical habits—using Google for research, setting SMART goals, managing code on GitHub, logging learning, reading regularly, and mastering shortcuts—to help programmers break through the advanced‑beginner plateau and accelerate toward senior expertise.

career developmentlearning habitsproductivity
0 likes · 6 min read
How to Fast‑Track Your Journey from Junior to Senior Programmer
Qunar Tech Salon
Qunar Tech Salon
Sep 9, 2015 · R&D Management

Improving Communication Between Engineers and Product Managers: Insights from Nicholas C. Zakas

The article examines why software engineers are often seen as hard to communicate with, shares Nicholas C. Zakas' experiences and analogies, and offers practical advice such as involving engineers early, minimizing interruptions, granting creative space, and providing timely appreciation to foster better collaboration.

R&D Managementcommunicationproduct management
0 likes · 6 min read
Improving Communication Between Engineers and Product Managers: Insights from Nicholas C. Zakas
21CTO
21CTO
Sep 8, 2015 · Fundamentals

Why Performance Should Never Sacrifice Maintainability in Code

The article argues that while programmers obsess over performance gains, maintainability is often more critical, illustrating this with C# LINQ vs Single/First debates, database design pitfalls, and the hidden costs of premature optimization, ultimately urging developers to prioritize readable, maintainable code and measure performance before refactoring.

C#Optimizationcode quality
0 likes · 12 min read
Why Performance Should Never Sacrifice Maintainability in Code
21CTO
21CTO
Sep 7, 2015 · Fundamentals

When Is Rewriting Code Worth It? Lessons on Cost, Risk, and Value

The article argues that rewriting already‑deployed code rarely adds real product value, incurs high costs and risks, and should only be considered when the existing system is so outdated that a fresh start is the only viable solution.

Product DevelopmentSoftware Maintenancecode rewrite
0 likes · 6 min read
When Is Rewriting Code Worth It? Lessons on Cost, Risk, and Value
21CTO
21CTO
Aug 28, 2015 · R&D Management

From Code Monkey to Tech Director: 6 Career Stages Every Engineer Must Master

This guide walks software engineers through six career phases—from college student to tech director—offering practical advice on goal setting, choosing employers, early‑career pitfalls, management fears, and how to keep growing while avoiding common regrets.

LeadershipTech Careercareer development
0 likes · 8 min read
From Code Monkey to Tech Director: 6 Career Stages Every Engineer Must Master
21CTO
21CTO
Aug 24, 2015 · Fundamentals

Why Mastering Fundamentals Is the Key to Becoming an Outstanding Programmer

The article argues that deep mastery of programming fundamentals, guided by classic textbooks and a focused career path, is essential for long‑term success, and it explains how personal branding, positioning, and promotion amplify a developer's professional impact.

Career AdviceLearning ResourcesProgramming Fundamentals
0 likes · 10 min read
Why Mastering Fundamentals Is the Key to Becoming an Outstanding Programmer
21CTO
21CTO
Aug 23, 2015 · Fundamentals

Why Engineers Should Be Project Partners, Not Just Code Monkeys

The article reflects on an engineer's experience updating a signature system, highlighting the pitfalls of quick patches, the importance of requirement analysis, resource testing, realistic time estimation, and proactive communication, and advocates for a refactor to improve maintainability and role perception.

Code Refactoringbest practicesdeveloper mindset
0 likes · 8 min read
Why Engineers Should Be Project Partners, Not Just Code Monkeys
21CTO
21CTO
Aug 19, 2015 · Fundamentals

How to Master New Technologies Fast: A Practical Guide for Engineers

The article outlines a step‑by‑step approach for engineers to quickly learn new IT technologies—emphasizing proactive mindset, active learning, leveraging official documentation, hands‑on practice, and sharing knowledge to achieve mastery and stay competitive in a rapidly evolving industry.

career developmentcontinuous learninglearning
0 likes · 9 min read
How to Master New Technologies Fast: A Practical Guide for Engineers
21CTO
21CTO
Aug 18, 2015 · Fundamentals

How Can a Programmer Move from Good to Great? Proven Strategies

This article explores the stages of programming expertise, defines what makes an expert in software engineering, and offers practical daily habits and mindset shifts that can help developers transform from competent coders into truly great professionals.

best practicescareer developmentexpertise
0 likes · 4 min read
How Can a Programmer Move from Good to Great? Proven Strategies

Guidelines for Becoming a 100‑Point Programmer: Saying Yes/No, Building Knowledge, and Good Practices

The article offers practical advice for programmers to improve their professional growth by carefully evaluating tasks before saying yes, learning to say no when necessary, building a personal knowledge system, maintaining a big‑picture view, adhering to coding standards, conducting code reviews, and continuously learning business knowledge.

Knowledge Managementcareer developmentcode review
0 likes · 7 min read
Guidelines for Becoming a 100‑Point Programmer: Saying Yes/No, Building Knowledge, and Good Practices
21CTO
21CTO
Aug 14, 2015 · Fundamentals

The 9 Toughest Challenges Every Programmer Faces

This article lists and explains the nine most frustrating tasks programmers encounter—from designing solutions and writing tests to naming variables—highlighting each task's difficulties and featuring candid comments from developers about their daily struggles.

codingdeveloper pain pointsprogramming challenges
0 likes · 9 min read
The 9 Toughest Challenges Every Programmer Faces
21CTO
21CTO
Aug 12, 2015 · Fundamentals

Why Humility Is the Key to Becoming a Great Programmer

The article argues that humility, honest self‑assessment, and the willingness to admit ignorance are essential personal traits for programmers, enabling them to manage mental fatigue, reduce errors, and continuously improve beyond their current abilities.

Mindsethumilitypersonal development
0 likes · 5 min read
Why Humility Is the Key to Becoming a Great Programmer
ITPUB
ITPUB
Jun 14, 2015 · Fundamentals

Six Practical Naming Principles Every Programmer Should Follow

A humorous story about a graduate student’s unreadable code illustrates why naming is the toughest programming challenge, and the article then outlines six clear principles—avoiding metaphors, keeping names short, shortening expressions, using active voice, steering clear of jargon, and breaking rules when necessary—to improve code readability and maintainability.

Naming Conventionsbest practicescode readability
0 likes · 4 min read
Six Practical Naming Principles Every Programmer Should Follow

Why Pair Programming Is Hard to Adopt and How to Implement It Effectively

This article examines the common obstacles that prevent teams from adopting pair programming, outlines the substantial benefits such as higher code quality and team cohesion, and provides practical strategies and step‑by‑step methods for introducing pair programming in both co‑located and distributed software development teams.

pair programmingsoftware developmentsoftware engineering
0 likes · 16 min read
Why Pair Programming Is Hard to Adopt and How to Implement It Effectively
Qunar Tech Salon
Qunar Tech Salon
Apr 11, 2015 · R&D Management

Building a Code Review Culture at Tencent: Lessons from Rietveld, Google C++ Style, and Organizational Practices

This article recounts how Tencent’s advertising team introduced and scaled a rigorous code review process—starting with the Rietveld system, adopting Google C++ coding style, and establishing metrics and ownership—to improve code quality, knowledge sharing, and engineering efficiency across multiple departments.

Google styleRietveldTencent
0 likes · 17 min read
Building a Code Review Culture at Tencent: Lessons from Rietveld, Google C++ Style, and Organizational Practices
Qunar Tech Salon
Qunar Tech Salon
Mar 12, 2015 · Fundamentals

Programming Skill Levels and Domain Knowledge Hierarchy

The article outlines a two‑dimensional model of programmer development, describing progressive stages of coding skill—from non‑programmer to language expert—and parallel levels of domain knowledge, while discussing paradigms, design patterns, architecture, and practical advice for advancing in software engineering.

design patternsdomain knowledgeskill levels
0 likes · 26 min read
Programming Skill Levels and Domain Knowledge Hierarchy

Defining Software Architecture: Insights from Grady Booch, James Rumbaugh, and Ivar Jacobson

Software architecture is described as a set of critical decisions about system organization, including the selection of components, their interfaces, and collaborative behavior, and as a compositional style that progressively assembles these elements into larger subsystems, a definition comprehensively presented by Booch, Rumbaugh, and Jacobson in the UML User Guide.

System DesignUMLarchitecture fundamentals
0 likes · 1 min read
Defining Software Architecture: Insights from Grady Booch, James Rumbaugh, and Ivar Jacobson
Baidu Tech Salon
Baidu Tech Salon
Nov 13, 2014 · Fundamentals

17 Principles for Software Developers: Career Lessons and Best Practices

The article distills 17 career‑tested principles for developers, urging them to prototype for real customer needs, treat security as inevitable and strategic, prioritize simple, well‑logged code, continuously learn, adapt to change, evaluate context‑specific solutions, deliver results that satisfy clients, and choose projects wisely.

Career Advicebest practicesprofessional growth
0 likes · 8 min read
17 Principles for Software Developers: Career Lessons and Best Practices
Baidu Tech Salon
Baidu Tech Salon
Oct 9, 2014 · Fundamentals

The Norris Constant and the 20,000 Line Bottleneck

The article explains the Norris constant—initially 1,500 lines, later 2,000 and 20,000—as a practical bottleneck where novice programmers’ code becomes unmanageable, arguing that disciplined design, simplicity, and strategic “no” decisions are essential to break these limits and sustain large‑scale software.

code complexityprogrammingprogramming bottlenecks
0 likes · 9 min read
The Norris Constant and the 20,000 Line Bottleneck
Baidu Tech Salon
Baidu Tech Salon
Sep 17, 2014 · Industry Insights

Why the U.S. Tech Job Market Has Low Barriers for Programmers – A Comparative Insight

The article compares the low entry thresholds and favorable work environments for programmers in the United States with the stricter conditions in China, analyzes why many self‑proclaimed experts lack deep knowledge, and offers practical advice for individuals and companies to thrive in today’s software industry.

Career AdviceUS tech industryindustry insights
0 likes · 8 min read
Why the U.S. Tech Job Market Has Low Barriers for Programmers – A Comparative Insight
Baidu Tech Salon
Baidu Tech Salon
Sep 1, 2014 · R&D Management

How to Tame a Chaotic Codebase When Scaling Your Startup

The article shares a founder’s hard‑earned lessons on preventing code‑base entropy, hiring the right first engineer, and gradually improving code quality so that a growing startup can transition from a solo coder to a well‑structured engineering team.

R&D Managementcode organizationsoftware engineering
0 likes · 7 min read
How to Tame a Chaotic Codebase When Scaling Your Startup
Baidu Tech Salon
Baidu Tech Salon
Jul 23, 2014 · Fundamentals

Guidelines for Refactoring and Cleaning Up Legacy Code

When inheriting tangled legacy code, first decide if you’re responsible and willing to invest, then establish comprehensive tests, use version control, make incremental changes, separate cleaning from bug fixing, remove dead code and comments, avoid mutable shared state, and eliminate unnecessary complexity to improve maintainability.

Code RefactoringLegacy CodeVersion Control
0 likes · 14 min read
Guidelines for Refactoring and Cleaning Up Legacy Code
Baidu Tech Salon
Baidu Tech Salon
Jul 15, 2014 · Industry Insights

14 Legendary Programmers Who Shaped Modern Computing

This article profiles fourteen of the most influential programmers, detailing their key contributions, awards, and the high praise they receive from peers, offering a concise overview of the individuals who have driven major advances in software, algorithms, and open‑source technology.

Computer Historyalgorithm competitionsindustry insights
0 likes · 12 min read
14 Legendary Programmers Who Shaped Modern Computing
Baidu Tech Salon
Baidu Tech Salon
May 22, 2014 · Fundamentals

Reflections on Clojure: Design, Simplicity, and Development Flow

After years of using Ruby, I discovered that Clojure’s carefully designed, concise, and functional nature not only makes prototyping feel natural but also provides instant feedback and encourages thoughtful refactoring, turning development into a smooth, enjoyable flow that has quickly become my favorite language.

ClojureFunctional Programmingdevelopment workflow
0 likes · 8 min read
Reflections on Clojure: Design, Simplicity, and Development Flow
Baidu Tech Salon
Baidu Tech Salon
Apr 18, 2014 · Industry Insights

What Can Programmers Learn from Doctors? Professionalism Lessons for Developers

The article compares programmers to doctors, arguing that both solve problems with rational methods, and outlines three core principles—dedication before enjoyment, rigorous attitude, and a willingness to share—to help developers elevate their professionalism and deepen their problem‑solving capabilities.

career developmentindustry insightsprogrammer professionalism
0 likes · 6 min read
What Can Programmers Learn from Doctors? Professionalism Lessons for Developers