Tagged articles
1728 articles
Page 18 of 18
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 DevelopmentSoftware Engineeringlearning habits
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 managementSoftware Engineeringcommunication
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.

CSoftware Engineeringcode 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 EngineeringTechnical Debt
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.

Career DevelopmentLeadershipManagement
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.

Learning ResourcesSoftware Engineeringcareer advice
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 RefactoringProject ManagementSoftware Engineering
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 DevelopmentSoftware EngineeringTechnology adoption
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.

Career DevelopmentSoftware Engineeringbest practices
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.

Career DevelopmentCode reviewSoftware Engineering
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.

Software Engineeringcodingdeveloper pain points
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.

MindsetPersonal DevelopmentSoftware Engineering
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.

Software Engineeringbest 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.

Software Engineeringpair programmingsoftware development
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.

Code reviewGoogle styleRietveld
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 PatternsSoftware ArchitectureSoftware Engineering
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.

Software EngineeringSystem DesignUML
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.

Software Engineeringbest practicescareer advice
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.

Software Engineeringcode complexityprogramming
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.

Software EngineeringUS tech industrycareer advice
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 managementSoftware Engineeringcode organization
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 CodeSoftware Engineering
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.

Software Engineeringalgorithm competitionscomputer history
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.

ClojureSoftware Engineeringdevelopment 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 DevelopmentSoftware Engineeringindustry insights
0 likes · 6 min read
What Can Programmers Learn from Doctors? Professionalism Lessons for Developers