Presentation Software-Technology

Creating Software with Modern Diagramming Techniques: Build Better Software with Mermaid

As a computer science major in college, I learned about Unified Modeling Language (UML) as a way to visually document software. However, I soon found designing and maintaining those images to be more of a pain than they’re worth. I had to reshuffle images on graphics programs for every minor change, so keeping documentation up to date proved to be impossible. Recently, however, I discovered that someone invented a language, called Mermaid, to convert a…

Continue reading

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

Software-Technology

The Software Engineer’s Guidebook: Navigating Senior, Tech Lead & Staff Engineer Positions at Tech Companies & Startups

Writing software promises a career full of intellectual challenges, never-ending learning, and collaborative projects. Yet sometimes, the career path can seem arduous and hidden, especially for those not on the management track. How can engineers lead when they’re not managing a team? In this book, Gergely Orosz shows how engineers can establish a career, progress to senior level and tech lead, and then move onto principal or staff engineering roles. None of these roles involves…

Continue reading

Management-Business Software-Technology

Transforming IT Culture: How to Use Social Intelligence, Human Factors & Collaboration to Create an IT Department That Outperforms

I liked this book a lot. It’s labeled as a part of a “CIO Series,” but that’s really a mislabel. It’s for anyone working with software developers who has to navigate a distinct company culture. It’s especially geared for those who want to mold that culture for good. Software development is a tricky industry. Good people are hard to find, and they often don’t have a stereotypical personality – especially if they’re really talented. Yet…

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

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

Management-Business Software-Technology

Building Great Software Engineering Teams: Recruiting, Hiring & Managing Your Team from Startup to Success

Building excellent software is an intricate task that requires a great deal of technical expertise. Managing people who build software is also an intricate task, but the required skillset is different. A manager has to be a good enough developer to be respected, but she/he must also have “soft skills” to finesse interpersonal situations. Instead of a technical challenge, management becomes a way of life and leading. With a particular focus on software engineering, Josh…

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

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