Tagged articles
1729 articles
Page 17 of 18
DevOps
DevOps
Aug 14, 2016 · Fundamentals

Effective Code Review Practices and Checklist

The article shares practical insights and a comprehensive checklist for conducting code reviews, emphasizing formatting, readability, corner‑case coverage, error handling, testing, and architectural considerations to improve code quality and foster team growth.

Code reviewbest practiceschecklist
0 likes · 8 min read
Effective Code Review Practices and Checklist
Qunar Tech Salon
Qunar Tech Salon
Jul 14, 2016 · Operations

Google’s Monolithic Repository: The Piper System and Its Benefits and Challenges

Google’s engineers explain in an ACM Communications paper how their custom monolithic repository, managed by the Piper version‑control system built on Spanner, supports billions of files and lines of code, enabling trunk‑based development, rapid code visibility, and large‑scale refactoring, while also requiring substantial tooling investment and operational complexity.

Google PiperVersion Controllarge-scale codebase
0 likes · 12 min read
Google’s Monolithic Repository: The Piper System and Its Benefits and Challenges
Architecture Digest
Architecture Digest
Jul 8, 2016 · R&D Management

Technical Knowledge Summary from 8 Years of IT Experience

After nearly a decade of work in embedded, web, mobile, consulting, and integration projects, the author outlines four major knowledge areas—engineering methods, system integration, project management, and development—detailing essential practices, design principles, and technology stacks such as C, Android, cloud services, and big data.

Embedded DevelopmentProject ManagementSystem Integration
0 likes · 9 min read
Technical Knowledge Summary from 8 Years of IT Experience
21CTO
21CTO
Jun 29, 2016 · Fundamentals

Why Engineers Should Embrace Broad Skills Over Narrow Specialization

The article reflects on the diverse career paths for engineering graduates, warns against over‑specialization, emphasizes continuous learning, and highlights how engineers can leverage analytical strengths for both technical and organizational growth in today’s fast‑changing tech landscape.

Career DevelopmentGrowth Hackingengineer mindset
0 likes · 8 min read
Why Engineers Should Embrace Broad Skills Over Narrow Specialization
Architecture Digest
Architecture Digest
Jun 29, 2016 · Fundamentals

Recommended Books for Software Architecture and Design Patterns

This article presents a curated list of essential books covering software architecture fundamentals, design patterns, domain‑specific frameworks, RUP/UML methodologies, and additional leisure reads, along with practical reading strategies for developers and architects.

Book RecommendationsUMLsoftware-engineering
0 likes · 8 min read
Recommended Books for Software Architecture and Design Patterns
Qunar Tech Salon
Qunar Tech Salon
Jun 22, 2016 · Fundamentals

Three Life Lessons Learned from 17 Years of Programming

After seventeen years of coding, the author shares three enduring lessons—balancing trade‑offs, valuing clarity over mere brevity, and treating technical debt as a manageable asset—illustrated with real‑world examples, ORM discussions, and code snippets that apply both to software development and everyday decisions.

Technical Debtcode claritydecision making
0 likes · 8 min read
Three Life Lessons Learned from 17 Years of Programming
Efficient Ops
Efficient Ops
Jun 18, 2016 · Fundamentals

How to Build a T‑Shaped Skill Set: Master Breadth and Depth as a Developer

The article explains how developers can overcome learning uncertainty by combining horizontal (breadth) and vertical (depth) learning strategies to create a T‑shaped skill profile, offering practical steps for framework selection, deep mastery, and continuous growth.

Career GrowthSkill developmentT-shaped
0 likes · 6 min read
How to Build a T‑Shaped Skill Set: Master Breadth and Depth as a Developer
21CTO
21CTO
Jun 18, 2016 · Fundamentals

How to Become a Full‑Stack Engineer: Lessons from 15 Years of Coding

This article shares a veteran developer’s journey from early web pages to modern full‑stack engineering, offering practical advice on mastering front‑end, back‑end, and mobile technologies, the importance of broad skills, and a realistic roadmap to becoming a versatile software professional.

BackendCareer DevelopmentWeb Development
0 likes · 7 min read
How to Become a Full‑Stack Engineer: Lessons from 15 Years of Coding
21CTO
21CTO
Jun 11, 2016 · Fundamentals

Why Technical Debt Accumulates and How to Tackle It Effectively

The article shares a veteran IT professional’s insights on how technical debt forms, the risks it brings, various repayment strategies, and practical ways to prevent debt crises, emphasizing continuous management and disciplined engineering practices.

Technical Debtrefactoringrisk management
0 likes · 12 min read
Why Technical Debt Accumulates and How to Tackle It Effectively
21CTO
21CTO
Jun 9, 2016 · Fundamentals

How Feross Aboukhadijeh Built a Winning Engineer Brand and What You Can Learn

This article explores Feross Aboukhadijeh's approach to personal branding, crafting a standout Silicon Valley resume, leveraging GitHub, and learning programming through extensive project building, offering actionable advice for engineers seeking career growth and visibility.

Career DevelopmentGitHublearning programming
0 likes · 13 min read
How Feross Aboukhadijeh Built a Winning Engineer Brand and What You Can Learn
21CTO
21CTO
Jun 5, 2016 · R&D Management

How to Build Effective Tech Team Structures from Startup to Enterprise

This article explains how internet companies can design and evolve technical team hierarchies—from flat, three‑level startups to large, multi‑team enterprises—by aligning roles, responsibilities, and communication flows to product scale and business goals.

R&D managementTeam Organizationsoftware-engineering
0 likes · 7 min read
How to Build Effective Tech Team Structures from Startup to Enterprise
Qunar Tech Salon
Qunar Tech Salon
May 27, 2016 · Operations

Segmented Implementation Strategy for System Architecture Refactoring

To effectively refactor a legacy system, the article proposes a staged implementation approach that prioritizes issues by severity, categorizes problems, and tackles easier tasks first, thereby concentrating limited resources, reducing risk, and delivering visible improvements in usability, performance, and scalability across successive phases.

Software Architecturesoftware-engineeringstaged implementation
0 likes · 8 min read
Segmented Implementation Strategy for System Architecture Refactoring
Qunar Tech Salon
Qunar Tech Salon
May 25, 2016 · R&D Management

Effective Communication Strategies for Architecture Refactoring Projects

The article explains how to successfully launch and drive large‑scale architecture refactoring by translating technical jargon into plain language, using data‑driven arguments, empathizing with stakeholders, and employing structured escalation and win‑win negotiation tactics to align cross‑functional teams.

R&D managementarchitecturecommunication
0 likes · 9 min read
Effective Communication Strategies for Architecture Refactoring Projects
Architecture Digest
Architecture Digest
May 20, 2016 · Fundamentals

Key Recommendations for System Architecture Design

The article shares a series of practical recommendations for improving system architecture design, emphasizing the need to avoid premature API planning, make decisive technology choices, eliminate triangular call relationships, clearly define program modules, adopt a star‑shaped hub architecture, separate business logic, ensure transaction safety, and isolate scheduling from business via databases.

System ArchitectureTechnology Selectionmodular design
0 likes · 5 min read
Key Recommendations for System Architecture Design
21CTO
21CTO
May 15, 2016 · Fundamentals

The Programmer’s Paradox: Why Top Developers Spend Most Time on Disliked Tasks

The article explains the paradox that good programmers spend the majority of their time on tasks, technologies, and tools they dislike because these “bad” technologies consume disproportionate effort, while automation‑friendly work is quickly delegated, leading to chronic frustration despite their expertise.

Technical Debtautomationdeveloper productivity
0 likes · 6 min read
The Programmer’s Paradox: Why Top Developers Spend Most Time on Disliked Tasks
Architecture Digest
Architecture Digest
May 15, 2016 · R&D Management

From Junior to Architect: Understanding Software Development Career Stages

The article reflects on the three career stages of software developers—junior, intermediate, and senior/architect—highlighting their evolving technical choices, team responsibilities, and the importance of experience, broad knowledge, and management skills for becoming an effective software architect.

Career DevelopmentR&Dsoftware-engineering
0 likes · 10 min read
From Junior to Architect: Understanding Software Development Career Stages
21CTO
21CTO
May 12, 2016 · R&D Management

How to Interview Software Engineers Effectively: Insider Tips & Common Pitfalls

This article shares practical insights on interviewing software engineers, exposing hiring biases, recommending interview structures, small‑talk techniques, broad and specific technical questions, project‑based assessments, and how to create a fair, inclusive process that reveals true talent.

R&D managementcareer advicehiring
0 likes · 9 min read
How to Interview Software Engineers Effectively: Insider Tips & Common Pitfalls
21CTO
21CTO
May 11, 2016 · Fundamentals

5 Core Skills Every High‑Performance Software Engineer Must Master

This article outlines five essential abilities—embracing new languages, mastering debugging, creating time‑saving tools, speeding up repetitive tasks, and adopting systemic thinking—that high‑performing software engineers need to boost productivity and deliver impactful, well‑engineered solutions.

debuggingproductivitysoftware-engineering
0 likes · 5 min read
5 Core Skills Every High‑Performance Software Engineer Must Master
DevOps
DevOps
May 11, 2016 · R&D Management

How a Junior Developer Became an Architect: A Career Journey

The article narrates the story of a fresh graduate named Xiao Wang who, through curiosity, proactive learning, helping others, and continuous technical improvement, rises from filling simple framework templates to leading a team and being appointed as a product architect, illustrating the path to senior technical roles.

Career DevelopmentLeadershipSoftware Architecture
0 likes · 6 min read
How a Junior Developer Became an Architect: A Career Journey
21CTO
21CTO
May 3, 2016 · R&D Management

From Code to CTO: How Passion and Clear Goals Shape a Developer’s Journey

A seasoned developer shares his 15‑year journey from a small‑town programmer to architect and aspiring CTO, emphasizing the power of interest‑driven learning, clear objectives, continuous skill expansion, and leadership principles for turning technical expertise into influential management roles.

CTOCareer DevelopmentLeadership
0 likes · 9 min read
From Code to CTO: How Passion and Clear Goals Shape a Developer’s Journey
21CTO
21CTO
Apr 30, 2016 · R&D Management

From Google Engineer to First‑Time CTO: Leadership, Communication, and Tech Choices

Lan Langworth, a former Google engineer and co‑founder of Artillery, shares his candid journey from leaving Google to becoming a CTO, offering practical insights on direction, communication pitfalls, building a developer‑focused culture, choosing technologies, and trusting intuition in a fast‑moving startup environment.

CTOLeadershipTechnology Selection
0 likes · 13 min read
From Google Engineer to First‑Time CTO: Leadership, Communication, and Tech Choices
21CTO
21CTO
Apr 29, 2016 · R&D Management

How to Evolve from Reliable Engineer to Effective Leader: Key Practices

The article shares practical insights for engineers transitioning to management, emphasizing the shift from doing to delegating, prioritizing important over urgent tasks, establishing clear rules, fostering team communication, and mastering strategic thinking to drive both personal and team growth.

Career DevelopmentLeadershipManagement
0 likes · 5 min read
How to Evolve from Reliable Engineer to Effective Leader: Key Practices
Art of Distributed System Architecture Design
Art of Distributed System Architecture Design
Apr 22, 2016 · Industry Insights

Why Do Architects Still Write Code? Lessons on Learning, Meetings, and System Longevity

The article shares a senior engineer’s reflections on systematic learning, the role of architects in coding, the pitfalls of endless meetings, how to keep systems alive, and practical questioning techniques that boost problem‑solving efficiency for software professionals.

Career DevelopmentSystem Architecturecommunication
0 likes · 15 min read
Why Do Architects Still Write Code? Lessons on Learning, Meetings, and System Longevity
Java Captain
Java Captain
Apr 16, 2016 · Backend Development

Essential Skills and Interview Preparation Guide for Java Developers

This comprehensive guide outlines the core Java programming skills, project experience, development processes, tools, interview questions, and personal evaluation tips that candidates should master to succeed in Java developer interviews and advance their careers.

Interview Preparationbackend-developmentsoftware-engineering
0 likes · 12 min read
Essential Skills and Interview Preparation Guide for Java Developers
21CTO
21CTO
Apr 14, 2016 · R&D Management

Why 35 Years of Coding Still Leaves Me Regretting Not Pursuing Management

A veteran programmer reflects on decades of coding, realizing that without authority, technical skill alone cannot change failing products or projects, and regrets not taking management roles that could have offered greater impact, financial reward, and career fulfillment.

Career DevelopmentLeadershipprogrammer experience
0 likes · 10 min read
Why 35 Years of Coding Still Leaves Me Regretting Not Pursuing Management
Qunar Tech Salon
Qunar Tech Salon
Apr 13, 2016 · Operations

13 Common Production Pitfalls Developers and Architects Should Avoid

This article lists thirteen frequent production‑level problems—from missing configuration externalization and inadequate testing data to insufficient security, documentation, monitoring, and rollback planning—providing a checklist for developers and architects to prevent costly issues.

best practicesproductionsoftware-engineering
0 likes · 10 min read
13 Common Production Pitfalls Developers and Architects Should Avoid
21CTO
21CTO
Apr 13, 2016 · Backend Development

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

The article explains why and how to adopt open‑source projects, covering their benefits, common pitfalls, and practical guidance on selecting, using, and extending them safely through careful evaluation, testing, operational readiness, and thoughtful customization.

best practicesopen‑sourceproject selection
0 likes · 14 min read
How to Choose, Use, and Extend Open‑Source Projects Without Reinventing the Wheel
Qunar Tech Salon
Qunar Tech Salon
Apr 7, 2016 · Fundamentals

9 Bad Programming Habits We Secretly Love

The article humorously explores nine commonly discouraged programming habits—such as using goto, avoiding documentation, cramming code onto one line, omitting type declarations, and redefining operators—explaining why developers sometimes break rules and how these practices can affect code readability, maintainability, and performance.

bad practicescode qualitycoding style
0 likes · 14 min read
9 Bad Programming Habits We Secretly Love
21CTO
21CTO
Apr 1, 2016 · Fundamentals

Master Design Patterns: Principles and All 3 Types Explained

This article provides a comprehensive overview of software design principles and the three major categories of design patterns—creational, structural, and behavioral—detailing each principle, pattern, its participants, and practical implications for building flexible, maintainable systems.

Behavioral PatternsCreational PatternsDesign Patterns
0 likes · 34 min read
Master Design Patterns: Principles and All 3 Types Explained
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.

Career Developmentcoding habitsprogramming
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.

PsychologySkill developmentcompetence stages
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.

Operationscoding standardsmonitoring
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.

best practicescode qualityfunction design
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.

Scalable Systemsbackend-developmentsite 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 DevelopmentTechnology adoptioncontinuous learning
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.

AlibabaContinuous DeliveryR&D management
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.

Career Developmentexpertisefull-stack
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.

AlgorithmsData StructuresInterview 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.

Code reviewGooglecode quality
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.

data-processingknowledge acquisitionprogramming fundamentals
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.

Managementcareerinterview
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.

Technical Debtdata dependenciesfeedback loops
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.

code readabilitydeveloper surveynaming
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 Handlingbest practicescode quality
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.

Agile Developmentcontinuous integrationefficiency
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 Handlingbest practicescode quality
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.

Career DevelopmentDesign Patternsbackend-development
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.

best practicesclean codecode readability
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.

career levelsindustry insightprofessional development
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.

Career Developmentbest practicespersonal 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.

Design Patternsbest practicesc++
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 DevelopmentTechnical Managementmanagement skills
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++best practicescode readability
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 languageDennis Ritchiecomputer history
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.

DevOpsOperationsdeveloper 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.

Designbest practicesiron 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.

AlibabaR&DSystem Design
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.

Software Architecturedesign goalsmaintainability
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.

cachingcode readabilitymaintainability
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.

AlgorithmsCareer DevelopmentData Structures
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.

Career Developmentbest practicesproductivity
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.

Backend ArchitectureWeb frameworkmodule 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.

DevOpsfrontend developmentfull-stack
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.

AlgorithmsCode ExamplesDRY principle
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.

coding habitsproductivityprofessional development
0 likes · 8 min read
7 Toxic Habits Every Software Engineer Must Break to Boost Efficiency