algonote(en)

There's More Than One Way To Do It

Programmer ability cannot be measured by years of experience

More important than years of experience What are the key factors in estimating a programmer's ability? When software engineers and designers register with a job search site, they may be asked to submit a skills sheet: how many years of Jav…

Personal guidelines for team separation

Dogmatic and prejudiced. Preface When you increase the number of developers to grow a software product more, at some point you will need to reorganize the team structure. This is because as the complexity of the breadth and depth of what w…

It is wrong to abuse delegate on the basis of Demeter's Law

IMO Delegate in Ruby and Rails When a class is too bloated because all the requirements are packed, you probably want to split it up. When designing tables, you may want to normalize and split it into separate tables. There are the other w…

Measuring Python Cohesion with Cohesion

How to measure cohesion in Python What is Cohesion? Cohesion is a software metric that measures the proximity of related methods and variables. For example, in LCOM4, the functions accessing a variable in a class are traced and clustered. …

Software Engineer Information Resources

Software engineer information gathering summary. Thin and wide. General Japanese X(Twitter) A tweeting social network, where a self-proclaimed 3-year-old can share useful insights. Hatena bookmark Social bookmarking website. You can find u…

rails stats and company valuation

Is the development speed slow, or is what you are making bad? Preface: Can rails stats measure company value? rails stats is a handy command to get statistics about the Rails repository, and you can do the same in Laravel with php artisan …

How to prevent dispute in IT companies

Common problems Preface: quarrels tend to occur in IT companies Working in an IT company, you may occasionally encounter quarrels. We often hear stories of co-founders leaving a start-up company due to a dispute. It is also rather common i…

Scrum may not be inherently necessary for Web development in Japan

Is a full-time Scrum Master needed? Introduction I recently read the paper "The New New Product Development Game," which is the source of Scrum. It is generally a discussion of how US companies can become as good as Japanese companies by a…

Measuring Cognitive Complexity of the frontend with SonarQube

How to find the frontend code smells Continuous Inspection with SonarQube There are some ways to quantify the readability of a program. For example, Cyclomatic Complexity and Cognitive Complexity are used. Cognitive Complexity is considere…

SBOM requirements for legal regulation (in Japan)

Introduction to Software Bill of Materials What is SBOM? SBOM (Software Bill of Materials) is a list of software components and their dependencies. It is not always the same as the list of libraries because some of the software may use in-…