If you've been doing this job a long time, staying open to new ideas is crucial; otherwise, you might miss an opportunity to try something new (and potentially better).
#lessonslearned #architecture #designpatterns #consultancy #avivasolutions
If you've been doing this job a long time, staying open to new ideas is crucial; otherwise, you might miss an opportunity to try something new (and potentially better).
#lessonslearned #architecture #designpatterns #consultancy #avivasolutions
Having someone with a different approach, especially someone who understands the challenges you face, can be refreshing. Your first reaction might be to dismiss these ideas as unrealistic, too rigid, or too unconventional. But often, over time, they start to make sense. And even if you don’t adopt them entirely, there may be elements you hadn’t considered. Give it a try.
#lessonslearned #softskills #learning #knowledgesharing #consultancy #avivasolutions
If there isn’t, make sure to formally record your disagreement to avoid repercussions—or, if necessary, find a job that values professionalism.
#lessonslearned #consultancy #avivasolutions #professionalism #softskills
You'll have great discussions about why certain patterns or principles make sense in particular scenarios—and when they don’t. Ironically, I've learned that developers with 15-20 years of experience are often the most dogmatic and the hardest to work with. And obviously, those with 25 years or more know exactly what they're doing, right… Or not? 🫣
#lessonslearned #consultancy #avivasolutions #carreerpath #softwareengineering
...applying #DRY, and managing dependencies, they also serve as natural seams for consistency. Additionally, a nice side-effect of this is that you can use the right pattern, tool, or framework that fits best to each boundary.
#lessonslearned #avivasolutions #consultancy #developers #softwaredevelopment
Discussions can be directly connected to specific parts of the text, making it easy to track, answer, and resolve. Once we adopted #Confluence, we no longer had the need for exhaustive email chains or Word document attachments.
#lessonslearned #communicationskills #teamcollaboration #avivasolutions #consultancy
This approach not only keeps your #sourcecontrol history useful but also makes it easier for colleagues to perform thorough #reviews. By reviewing commit-by-commit, a colleague can quickly understand that all changes in a particular commit are related to a specific task, like a rename, saving significant time. Just make sure you don't squash those commits when merging.
use the right tool for the right job at the right time, and you'll be fine.
#avivasolutions #consultancy #learningonthejob #codingarchitect #lessonslearned
Then, one more level down, I ensure that my commit messages capture the why of the change, not just the how. If this is difficult, it’s likely that you're mixing different types of changes in the same commit. Finally, at the code level, I do my best to make the intent of the code clear through naming, finding the right abstractions, or, when necessary, using comments.
#avivasolutions #consultancy #lessonslearned #architecture #documentation
should support forks without requiring write access and provide extensive code review features. GitHub is obviously ideal for this. In short, we should apply the same principles that make open-source projects successful.
Matthias Noback has explained this extensively in his book "Principles of Package Design". For a real-world example, check out my library, Liquid Projections, to see how this can be implemented in .NET.
#avivasolutions #consultancy #dotnet #dependencymanagement #lessonslearned
And even if it's outdated, it may still offer valuable insights into past design decisions.
Lastly, don’t forget #documentation. Clearly document your code for both your team and your users. Well-documented code saves time, prevents errors, and fosters collaboration.
Which strategy do you follow for stable releases?
#avivasolutions #bestpractices
#lessonslearned #architecture #consultancy
What technology or innovation has made a huge difference for you?
...write a work breakdown structure that can be used during development (e.g., in #Confluence). Additionally, this breakdown provides opportunities for #swarming and #pairing, which can actually help you complete a planned user story within an iteration.
What value do you see in estimating your work?
#avivasolutions #lessonslearned #bestpractices #softwaredevelopment