Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
When I started off as a developer, I remember the lead architect lamenting the fact that he hadn’t been on a“greenfield” project in a while - as he was scrolling through 30,000 lines of CSS code in one file…
7 years later, I ask myself the question, “Have I learned how to keep a greenfield project ‘green’?”
In the software world, the term “greenfield” refers to a brand new project, a lush undisturbed land, clean and un-trampled. In this place, a coder can lay down new laws, foundation, and ideals. He hopes people will come and view its beauty, maintainability, and scalability for years to come. Unfortunately, in one or two years time, reality comes crashing in with a vengeance. The project is no longer a “green field”, but rather a muddy mess.
So what causes this? Here’s my opinion from my experience:
- Narrow deadlines provide easy excuses to compromise on code quality.
- Tests fall behind because they’re hard to write and there’s not enough time.
- Team leads are too embarrassed or not skilled enough for code reviews.
- Scope creep messes up the most well-laid abstractions.
How do you combat “muddy mess” syndrome? Ideally, you handle it BEFORE the technical debt accrues, but that hardly ever realistically happens. First of all, accept the fact that you WILL have to let go of some of your rules. Regardless, enumerate the most important ones (like testing) and hold fast to them. Communicate those principles. Don’t be afraid to say “that code is not very good”. Do these things, and next thing you know, you’ll be promoted to engineering lead, and you can slowly melt into middle management.
shameless plug: side project turned into snaptest.io - made because I needed to get tests made quickly and easily for many “muddy mess” projects.
How my greenfield projects fall into muddy messes… was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.