Statements from 3 famous people about the problems of modern software development

Silhouettes of Jeffrey Zeldman, Douglas Crockford and Hideo Kojima on a brick wall

Silhouettes of Jeffrey Zeldman, Douglas Crockford and Hideo Kojima on a brick wall

I think that after reading Nikita Prokopov’s article “JavaScript Bloat in 2024” (Russian: “How fat will JavaScript become by 2024?”) I’m not the only one who has become pessimistic about the future of web development. Although the topic of JavaScript bloat is not new (Eddie Osmani was one of the first to draw attention to this problem in his report article “The Cost Of JavaScript” in 2017), what is striking here is the scale of the problem outlined author of the article.

Something similar happened with HTML (and to some extent with graphics) in the early stages of the development of the World Wide Web (hereinafter referred to as the web). The problem of HTML bloat was almost completely resolved by the mid-00s through the introduction of web standards and the improvement of WYSIWYG HTML editors. The advent of AJAX and single-page applications (SPA) shifted the focus to JavaScript, but this did not immediately lead to heavier web applications (for example, the first versions of Gmail worked fine even on the slowest dial-up connections).

The situation began to change for the worse somewhere at the turn of the 00s and 10s, when the first smartphones began to appear. Software development has gradually become more complex, more expensive and more assembly-line in nature. Mass hiring of developers began, the widespread introduction of flexible development methodologies began, and the share of work outsourced began to grow. In web development, the era of frameworks and assembly tools for the front end has arrived. Over time, approaches that were designed to lower the barrier to entry into the profession, time and financial costs, began to have the opposite effect.

At the end of the last decade, authoritative experts started talking about the inefficiency of modern software development. They also expressed the opinion that some of the development problems have organizational reasons. In this article I have made a selection of 3 such statements made by famous people of the older generation.

Jeffrey Zeldman

The most famous web designer in the world, the king of web standards

Jeffrey Zeldman received his MFA in Literature from the University of Virginia. He spent his early career as a reporter for the Washington Post and then spent 10 years as a copywriter in the advertising industry. He came to web design in 1995, when he was already 40 years old. Zeldman created his first website while working at the advertising agency Gray Entertainment, along with his colleagues Steve McCarron and Alec Pollack. It was a promotional site for the movie Batman Forever. The site was very popular: approximately 1.5 million people visited it, i.e. half of the then web audience.

Promotional site for the film

Promotional site for the film “Batman Forever” – Zeldman's first work as a web designer

In 1998, at the height of the browser wars, he co-founded the organization Web Standards Project (abbreviated WaSP), whose original goal was to convince major browser manufacturers to support the W3C recommendations. The browser wars have made it more expensive to build websites and the risk that some users will lose access to the content and services they need. In those years, creating 4 or more incompatible versions of a website increased the cost of its development by at least 25%. When the dot-com bubble burst in 2000 and budgets for website support began to dry up, WaSP managed to unite the broad masses of web designers around itself. In 2001, with the browser wars all but over, WaSP began to shift its focus. Some of its members continued to work with browser manufacturers, others began collaborating with tool manufacturers (for example, Macromedia Dreamweaver), and still others began educational activities among web developers. In 2013, WaSP's mission was accomplished and the organization was disbanded. Some of its members went to work at W3C.

In addition, Zeldman is widely known as the author of books and numerous articles on web design. He is a talented writer who knows how to express complex technical things in a language that is understandable even to people far from technology. His literary style is a little harsh and his texts almost always contain humor (by the way, the style of Artemy Lebedev's early articles is in many ways similar to Zeldman's style). He first published articles on web design on his personal website, and then co-founded an online magazine A List Apart. His book “Designing with Web Standards” (rus. “Web design according to standards”) was perceived by the web development industry as a revelation, it went through two reprints and was translated into 15 languages.

In 2018, Zeldman wrote an article “The Cult of the Complex” (Russian: “Cult of Complexity”), in which he talks about how front-end frameworks have complicated the process of building websites, led to code bloat, and even compares their resulting code with bad HTML from the mid-90s. He also touches on the painful topic of hiring in IT for many:

Indeed, many designers and developers I talk to would rather dance naked in public than admit to hosting a site built using hand-coded progressive-enhanced HTML, CSS, and JavaScript that they understand and wrote themselves. For them it is a matter of job security and viability. There's sort of a fear that if you don't master a dozen new frameworks and tools every year (and by master, I mean use), then you'll fall behind and become irrelevant. HR people who write job descriptions listing tens of thousands of toolsets that you must know inside and out to qualify for a junior frontend developer position are not helping the situation.

Douglas Crockford

Programmer, JavaScript guru

Douglas Crockford received a bachelor's degree in radio and television from California State University, San Francisco. During his studies, he took Fortran classes and worked in the university computer laboratory. During his professional career, he managed to work in many IT-related positions in companies from various fields of activity: science, software development, game development, cinema and the Internet.

First of all, Crockford is known as the author of the JSON format and a number of open source libraries and tools (JSMin, JSLint, json2.js and etc.). As a rule, the code of Crockford's open source projects is laconic, and their functionality remains relevant for quite a long time. For example, the JSMin minifier is theoretically capable of compressing any C-like code, making it insensitive to changes that are made to JavaScript with the advent of new ECMAScript specifications.

A book was published in 2008 “JavaScript: The Good Parts” (Russian “JavaScript: Strengths”), which Crockford wrote during his work at Yahoo!. This book convinced many developers to reconsider their attitude towards JavaScript for the better. This book is also known for the fact that in July 2015 it was banned from Arizona prisons. The reason for the ban has not yet been announced by officials, but there is an assumption that the book was rejected by the AI ​​due to the frequent use of the word “evil” in it (occurring 16 times in the text).

JavaScript: The Good Parts Banned from Arizona State Prisons

JavaScript: The Good Parts Banned from Arizona State Prisons

Crockford's second book was published in 2018. “How JavaScript Works” (rus. “How JavaScript works”). Unlike the previous book, this book is intended for a more prepared audience. It's full of code, speculation about the next language to replace JavaScript, and humor. The author also notes that new versions of the ECMAScript standard do not help eliminate serious problems in JavaScript, and sometimes lead to new ones. So over the past 10 years, JavaScript has gotten more complex and weirder. At the same time, Crockford does not limit the scope of the book only to JavaScript; he touches on many fundamental issues of software development along the way. For example, code bloat and its relationship with the organization of the development process:

One of the biggest problems in software development is its fatness, or bloat. Programs are simply getting too big. This can be due to unwise choice of features, but more often than not it is a consequence of poor architecture. A popular means of reusing code is inheritance, but its performance leaves much to be desired, so copying and pasting code is often used instead. Also not to be discounted is the over-reliance on libraries, platforms, and packages that are tightly coupled with many other libraries, platforms, and packages. Bloat can be a side effect of agile development techniques. To cope with it, the size of the development team is increased, but this creates even greater bloat.

The best way to deal with software bloat is to prevent it. The priority when developing and implementing a program should be to make it “thin”. The introduction of bloated packages and tools that promote bloat should be avoided. Avoid classes. Hire small, skilled development teams. And actively practice code removal. Create a backlog of multiple development cycles to remove unnecessary code and get rid of problematic packages. Be happy when the number of lines of code in a project decreases. Stick to it principle of least bloat.

Hideo Kojima

The most famous game designer in the world, a genius

Hideo Kojima studied economics at university. In 1986, he dropped out of school to take a job at Konami, where he initially developed second-tier games for the MSX family of computers. The following year, he became an executive and led the development of the stealth action game Metal Gear. The game was later ported from the MSX2 to the NES console (without Kojima's participation), where it became a commercial success. The success of Metal Gear launched a series of games of the same name, which allowed Kojima to have a successful career with the company. He worked at Konami for almost 30 years and even served as vice president for some time. In 2015, he left the company and founded his own independent studio.

Kojima gained worldwide fame in 1998 after the release of Metal Gear Solid (the 3rd game in the series). It was one of the few games of that time whose development was actively covered in the press. An entire unit of American police special forces was involved in the development of the game as consultants. Initially, all levels were designed and built from Lego parts, and only then were included in the game itself.

Kojima designs a Metal Gear Solid level using Lego

Kojima designs a Metal Gear Solid level using Lego

The game was striking in its cinematic quality and non-linear plot. To shock the player, the developers even used PlayStation peripherals (memory card and a second port for the gamepad during the fight with Psycho Mantis). In 2012, Time magazine included Metal Gear Solid in its list of the 100 best video games in history.

Outside the video game industry, Kojima is known primarily as a meme man, blogger and film critic, as well as for his cameo roles in films. Some consider him a predictor who was able to predict global events in his games. For example, film director Guillermo del Toro believes that the game Death Stranding anticipated the situation in society that arose during the COVID-19 pandemic.

In general, in our country Kojima has become a kind of symbol of game development. His name has eclipsed even such famous game designers as: Shigeru Miyamoto, Yoshiki Okamoto, Alexey Pajitnov, John Romero, Ed Boon and John Tobias.

Kojima's face on an advertising banner for one of the Runet educational platforms

Kojima's face on an advertising banner for one of the Runet educational platforms

In 2019, the 2nd edition of Kojima's book was published in Japan. “Sousakusuru Idenshi: Boku Ga Aishita Meme Tachi” (rus. “Hideo Kojima. Genes of a genius” and English “The Creative Gen”). As in the first edition, the author talks about his favorite books, films, comics, anime and music, revealing details of his biography in between. When republished, the preface and two chapters were removed from the book, but instead “Introduction”, “Conclusion” and “Dialogue with Gen Hoshino” were added. In 3 new sections, Kojima talks about the creation of his own studio and the development process of the Death Stranding game:

I moved into my current office three weeks before E3. It was hard to believe that we were announcing the release of a new game under those tense conditions. Paradoxically, all this became possible because we did not use outsourcing and division of labor.
Not only Hollywood films with big budgets, but also the gaming industry has begun to take a rational approach to product creation. But I cannot say that such methods are ideal.
It took me to become hard, to pay with sweat and blood. I learned from my own experience to determine what is good and what is bad, and to highlight what is necessary for myself at least in ten percent of cases.
Now I go to work, as well as to the bookstore, every day (now I sit with my employees on the same floor so that they can approach me at any time). I constantly solve problems that arise and give appropriate instructions. This is why we can create a high-quality product in a short time, using a small number of people. These are my beliefs.

PS: Years of quarantine pushed the identified problems of software development into the background, and generous funding of the IT industry allowed companies to think less about costs. But if there is another economic downturn, we will all have to listen to the older generation and make development simple again!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *