Articles tagged “rant”
34 articles
- Playing the Russian roulette with your business · the excitement of the randomness After spending a few months in an ordinary small French software development company, I’m truly amazed at the effort which makes the whole process highly unpredictable and increases the odds of failing at every step. If working for a well-organized…
- Dockyard of ships that can’t sail Badly managed projects often share an element: the willingness to deliver all features in a given amount of time and within budget. Given how we conceptualize the notion of a deliverable outside IT…
- Closed source, secrecy and trust Most companies which produce source code don't release it in the wild. They are hiding it, protecting it against unauthorized access, obfuscate it, make you sign NDA and ask themselves how they can be sure that the code will never ever reach…
- Coffee maker Take a coffee maker. What is its purpose? Its only purpose is to make coffee. It’s the only thing it does and knows. It has only one button, and everybody know how to use it. Now take the Boeing 787. How many buttons are there? How many people can…
- Custom search engine Many e-commerce websites implement their own search engine. Many do it wrong, so wrong that they lose potential customers they won't lose if they had no search engine at all. Google provides an easy to implement way to search for stuff within Google…
- Aren't we misusing YAGNI too often? OK, I get it, I'm over-thinking and over-engineering this app. I should KISS, because YAGNI. Great. I should not attempt to solve problems I don't have. I should not attempt to solve problems I don't have. Or should I? Development is filled with…
- Written in stone On most projects, a huge amount of time is spent hypothesizing about subjects which not only don't matter, but often don't have a definitive answer. I often see programmers arguing about which one of two implementations is faster and which one will…
- Did you know that Ruby is faster than C? In the past few days, there was on Programmers.SE at least three questions ([example][1]) which can be summarized as: “Which programming language is faster, this one or that one?” This is annoying. I already asserted once that it makes no sense to…
- Stack Overflow make us lazy It is common to think that the purpose of Stack Overflow is to make the world better, and it does, somehow. I think that it increased the overall quality of developer-oriented resources, provided a…
- Teaching patterns College degrees in IT-related disciplines are known for not teaching some crucial things that every developer should know. Many students may be proud of contributing to dozens of projects, but don't…
- Naming conventions for servers The rant series of this blog will be incomplete if I wouldn't mention the naming conventions for servers, especially since I've never even seen a convention which would make at least some sense in any company. The three prevailing naming conventions…
- Why do I need to install SQL Server for a simple Hello World ASP.NET MVC website? I needed to create a small server-side web-based application. The application is extremely simple, just a few lines of code. Hosting provider seems to support only PHP and ASP.NET/ASP.NET MVC, and I picked the last one, since the application may…
- Workflows Important note: this article focuses specifically on SharePoint workflows. What is written here doesn't apply to Windows Workflow Foundation (WF) and similar workflow tools, which have a perfectly valid usage and empower developers with the ability…
- Measurement: a two-edged sword Too often, the practice of measuring things is used in place of basic thinking, and, logically, leads to low customer satisfaction and poor product quality. The major reason for that is that in most cases, measurement is dehumanizing. A customer,…
- Packages, dependencies and interaction between teams Recently, a question of Programmers.SE passed unnoticed, because of its length. This is unfortunate, because the question highlights a bunch of misunderstandings within many teams on a broad range of subjects, from Continuous Integration to…
- A bug or a change? A feature is delivered to a customer. The customer complains that something doesn't behave as expected and creates a ticket in a bug tracking system. Should we classify this ticket as a bug or a change? The question matters for many software…
- Utility classes are wrong Everyone has somewhere on a PC a directory called “miscellaneous”, or simply “misc.” This is where we put orphaned stuff which haven't found its place somewhere else, grouped with similar files in a well-named directory. For some people, the desktop…
- Working with the people you manage A few years ago, I worked in a company in Poitiers. Things went well until our boss left, and a new one arrived. The new one appeared to be, well, a bit proud of his new status, and, naturally, decided that he has plenty of important things to do and…
- Users matter more than bytes and CPU cycles There is something completely wrong in developers' nature to be obsessed with performance to the detriment of everything else. It seems even that this compulsive obsession is not something we acquire with practice, since it affects even beginner…
- Naming conventions for servers, two years later A few years ago, I wrote an article explaining how do I name servers. Since then, little changed, and conventions used in companies are still insane. Mentality hasn't changed either, and it's still considered professional to have arbitrary,…
- Ratings in a CV Heard today a discussion of two colleagues about a possible improvement of a CV by adding for every technology a rating, showing the mastery level of the person in this particular technology. I'm sorry about those colleagues. They have a deep…
- Gated checkins are evil I was recently talking with a developer about a pre-build strategy he wants to set up in his team which uses trunk-based development. His idea is that in order to prevent problematic code from hitting the trunk in version control, a client-side…
- On bug tracking systems There are no good bug tracking systems, and I'm about to explain what makes them not good and why good systems weren't developed yet. To begin, let's illustrate a journey of two persons working on the same team: one of the programmers and a product…
- Take risks, fail fast In many software development teams, the source code is sacred. Its sacredness is caused by two factors: The code is the ultimate expression of the intellectual work of the developers. If you have anything against the code, it means that you're…
- Monochrome laziness Twelve years ago, Windows Vista was released, impressing everyone by its shiny, elaborate icons. For instance, a recycle bin was illustrated by a shiny transparent waste basket. Search functionality was shown in a form of a metallic magnifying glass.…
- Unit testing methods which are calling static methods Disclaimer: the article below talks about methods calling public static methods from other classes. This excludes the calls to private static methods. Recently, I wrote a rather unpopular answer on Stack Exchange about static methods in a context of…
- Documenting types used in services SOA and microservices trends caused the frenzy where everyone started to expose everything as a service. Large and small companies wanted to replace big systems of components with relatively unclear interfaces between them by bigger systems of…
- Lazy programmer fallacy There is, among project managers, a thinking that programmers are lazy. Programmers—they say—don't want to work; they prefer playing games or just doing nothing at all. This is all but truth. Actually, many programmers enjoy programming. They have…
- YAGNI principle in action Discussing YAGNI with colleagues, I often find myself in a situation where they give me a concrete example where they were very happy to think about a given feature or aspect before it was really needed. As those discussions always follow the same…
- Build complexity I'm always amazed at the capacity of large and small companies to pick the tools which would make their build as complex as possible. It's like they enjoy paying money for something which will cost them even more money. The core problem here is the…
- Designing a contact form Recently, a colleague asked me how I would redesign a contact form on a website. An e-commerce site he was working on had a “basic” (as he claimed) form where you had to provide: Your full name. Your…
- Architecture without culture I was recently watching the DeepMind's AlphaGo documentary, which starts with several views of Oxford, including a shot where half of the frame is filled with the outside of The Sheldonian Theatre, the other half showing the History of Science…
- Hiring process is inherently wrong Regularly, managers ask me questions about the hiring process. All of them complain about three things: They have a lot of bad candidates—candidates who clearly don't qualify for the job. They have few good candidates. They often hire persons who end…
- When testing is not fun enough On regular basis, some colleague starts complaining in an informal discussion about the low quality of some project he's working on. It has to do with code quality, or lack of tests, or both. Every…