Software-Technology

Data-Oriented Programming: Reduce Software Complexity

Professionally, I write code for web applications in PHP for biomedical use. Thus, data play a central role in my professional life. At first, I tried to design my programs around object-orientated (OO) principles, but soon found that data played a strong role that OO actually restrained. Years later, I found how React divided itself between immutable data, state information, and code. Though I no longer code in React, I find this division still helpful…

Continue reading

Management-Business Software-Technology

Become an Effective Software Engineering Manager: How to Be the Leader Your Development Team Needs

Managing software engineering efforts is a difficult task. One needs a thorough knowledge of authoring software, which itself is a rare, time-consuming accomplishment. Almost all general managers do not have an in-depth knowledge of programming (though many assume they do!). A few of the best software developers are promoted into a managerial role and have to figure out what to do on the job. Much literature on general management topics exists, but few writings center…

Continue reading

Management-Business Software-Technology

Inspired: How to Create Tech Products Customers Love

Since computers and digital technology have become so ubiquitous in contemporary life, creating good software and technology products has become an important business function. Many (exceeding 50%) technology products fail, despite significant design, engineering, and financial efforts. How can we make this process more efficient and profitable? That’s the job of a relatively new job title: the product manager. In this book, Marty Cagan discusses how to fulfill this role in an organization so that…

Continue reading

Management-Business Software-Technology

Managing the Unmanageable: Rules, Tools & Insights for Managing Software People & Teams

Many books on managing software development focus on small subsets of the management process. For example, many books on agile fill bookstores; others propose a well-studied answer to a particular problem; still others provide anecdotes and inspiration to often-overtaxed managers. This book fits into none of those categories. Instead, it seeks to provide a comprehensive treatment on how to manage software development by managing individuals instead of processes. This modern approach fits more in line…

Continue reading

Indie Software-Technology

Software Quality Assurance 101: Best Practices Made Easy

Quality assurance (QA) is an essential part of software development. It helps ensure that newly developed software actually does what it’s intended to. This seems like a deceptively easy task at first, but testing is, in truth, a skilled art-form. In this book, Rachelle Rood and Jessica Parker attempt to orient those just entering the field how to approach their work. They break down complex topics while pointing practitioners how to add value to software…

Continue reading

Management-Business Software-Technology

Managing Humans: Biting & Humorous Tales of a Software Engineering Manager

Software engineers stereotypically have the personality type to stay behind their desks and not socialize too much. Their coding skills, so the story goes, facilitate their contribution to the company, not their finessing of humans. However, if they are ever promoted to a manager, they quickly have to pivot to understanding how to get their needs from subordinates who don’t always seek after managerial social approval. Not everyone is successful with this transition, but once…

Continue reading

Software-Technology

Designing Secure Software: A Guide for Developers

Software security is an important yet neglected issue. Most developers will immediately recognize its importance because, with the Internet, so much of the computing infrastructure (the “surface”) is vulnerable to attack. Yet it’s simultaneously neglected because it relies on mastering the unknown – an unsurmountable topic. Reviewing security issues in one’s own code is often a painful process, much like reading an editor’s notes on one’s own writing. Into this ongoing conversation, Kohnfelder, a developer…

Continue reading

Management-Business Software-Technology

Agile Essentials: You Always Wanted to Know

I’ve worked as a software developer in Agile environments since around 2014 and have enjoyed the productivity and quality gains that this paradigm provides. This workplace loosely implements Agile and accomplishes amazing feats of productivity. In this book, Ashar distills Agile concepts into easy-to-read chunks that can be quickly implemented. This book empowers managers to organize their team’s work more effectively so that customers can benefit more readily. Ashar begins this guide by stating that…

Continue reading

Software-Technology

Software Engineering at Google: Lessons Learned from Programming Over Time

Relatively little is known about how to organize/manage software projects so that they come to a successful, on-time resolution that lasts the test of experience. This is the field of software engineering, and over the last two decades, Google has mastered this art. They share their hard-wrought wisdom in this book. Many developers, like me, wish they could undertake several internships at leading companies like Apple, Google, Microsoft, or Facebook. They could learn the tricks…

Continue reading

Software-Technology

Web Security for Developers: Real Threats, Practical Defense

Much has been and continues to be written on the topic of computer security, but a lot of that content is directed towards computer security professionals. Few resources exist that are written for software developers, by developers. In this work, McDonald seeks to answer the need for a comprehensive exposition on this topic. In this attempt, he succeeds in providing a clear and thorough introduction of what developers need to know about security. The biggest…

Continue reading