DEV Community

Discussion on: Junior need rules, senior guidelines

Collapse
 
darkterminal profile image
Imam Ali Mustofa

Hey @noriller ! πŸ‘‹,

I completely resonate with your thoughts on the power of rules and guidelines in software development. It's interesting how certain books, like "Clean Code" by Robert Martin, generate strong opinions and discussions among developers. I believe it's because "Clean Code" presents a set of rules that are presented as definitive and non-negotiable. This black-and-white approach appeals to some people who prefer clear-cut guidelines to follow without much ambiguity.

However, as you rightly pointed out, the reality of software development is often more nuanced. Situations can vary, and what works in one context may not work in another. This is where the concept of "depends" comes into play. As developers gain experience and knowledge, they understand that there are multiple valid approaches to solving problems. The ability to navigate these possibilities and make informed decisions is a crucial aspect of seniority in the field.

For junior developers, having clear rules can be helpful as they are still building their knowledge and expertise. It provides them with a starting point and a framework to follow. Over time, as they encounter different scenarios, they begin to see situations where the rules don't apply or might need adaptation. This expanded understanding leads to the development of a broader repertoire of "depends" and a deeper appreciation for the nuances of software development.

As developers progress and become more experienced, they transition from relying on rigid rules to embracing guidelines. Guidelines provide a flexible framework that helps narrow down the available options without being overly prescriptive. They offer insights, best practices, and considerations that can guide decision-making. With guidelines, senior developers can effectively navigate complex problems and make informed choices based on their experiences and expertise.

I couldn't agree more with your quote by Brandon Sanderson. As developers, our goal should be to provoke thought and provide different perspectives rather than dictate how others should think or code. Writing about our thoughts and experiences allows us to share our insights and inspire others to explore and question the norms.

In the end, the software development journey is a continuous learning process. We evolve from following rules to understanding guidelines, constantly expanding our knowledge and refining our problem-solving abilities. So keep exploring, thinking, and sharing your ideasβ€”it's through this collective growth that we advance as software freestyle engineers (like me 😎).

Wishing you all the best on your ongoing journey of discovery and learning!

Cheers!

Collapse
 
noriller profile image
Bruno Noriller

Hi, thanks for the response, but I feel like this is just the post paraphrased back... so I have to ask: did you use somethingGPT to do that?

Collapse
 
darkterminal profile image
Imam Ali Mustofa

Thank you for asking, somehow when I reply or respond to every post anywhere, I am always considered ChatGPT. Is it possible for AI to be so addictive that something that could be made by humans is then considered AI and vice versa? If I answer "no it's not ChatGPT" what might happen? and if I answer "yes it is AI", doesn't Google Translate also include AI?

Sorry, I'm confused about how to answer.