Great lessons! Although it didn't include one that I had to learn the hard way, multiple times: Your throwaway prototype will be the codebase for the project. In my career, I've seen multiple throwaway prototypes that were hacked together. None of them ended up in the waste bin. "Just add X and Y and you're done". "But this is just a quick hack to show the interface, there is nothing behind it!" "Yes, and the interfa…
Things I learnt the hard way in thirty years of software development
211–220 of 308 posts
Re: Things I learnt the hard way in thirty years of software development
#212One thing I have learned in almost 30 years of SW development: work somewhere where the CEO has at least a basic idea of your work and sees value in your work, not just cost. Work somewhere where people care for the craft and it’s not only about “business” goals.
Re: Things I learnt the hard way in thirty years of software development
#213this one is priceless.. I had so many arguments in my past with cocky devs about this topic. Don't get me wrong, patterns are good, but it's only a small part of coding. Also patterns aren't there to follow them as they where the law, but bend them to your needs. One doesn't even necessary needs to be implemented to 100% as it is in the "book". So yes, this part of the post i'm very fond of, it's really wise.
Re: Things I learnt the hard way in thirty years of software development
#214One thing I have learned in almost 30 years of SW development: work somewhere where the CEO has at least a basic idea of your work and sees value in your work, not just cost. Work somewhere where people care for the craft and it’s not only about “business” goals.
Can you give examples of companies that fit your description?
Re: Things I learnt the hard way in thirty years of software development
#215There's a XKCD comic which points out how people who claim to "hate drama" tend to be the most dramatic people[1].
That's how I tend to perceive projects that put a lot of emphasis on their CoC. The more they emphasize it, the more I expect pettiness, vindictiveness, and bad faith.
Re: Things I learnt the hard way in thirty years of software development
#216Earlier quoted context omitted.
> it’s a pretty long read... clearly the author did not learn brevity in his coding, or that his blog’s color scheme does not contribute to readability It's also riddled with typos which made reading it hard. There's some wisdom in there, but it was clearly written in an editor without spell/grammar checks. Maybe there should have been a section about rereading your own work before sending to your team/prod? =)
> Turn off comments
Re: Things I learnt the hard way in thirty years of software development
#217One more point from my 20 years experience: Keep your development environment deterministic and instantly rebuildable. You should ideally be able to take your hard drive out, put in a new one, install a fresh OS, run 1 script, and be completely up and running in less than an hour. As an added bonus, this means that you can replicate your development environment on any machine very quickly and easily, which makes losi…
"You should ideally be able to take your hard drive out, put in a new one, install a fresh OS, run 1 script, and be completely up and running in less than an hour." this is great if you can pull it off but if you have a lot of disjointed systems plus maybe custom hardware it gets really hard to automate the process. In general I agree though. I also have learned to just live with the defaults of my IDE(s) instead of…
Re: Things I learnt the hard way in thirty years of software development
#218Great lessons! Although it didn't include one that I had to learn the hard way, multiple times: Your throwaway prototype will be the codebase for the project. In my career, I've seen multiple throwaway prototypes that were hacked together. None of them ended up in the waste bin. "Just add X and Y and you're done". "But this is just a quick hack to show the interface, there is nothing behind it!" "Yes, and the interfa…
Some researchers wanted a 128-bit space for the binary address, Cerf (recalled) ... But others said, "That's crazy," because it's far larger than necessary, and they suggested a much smaller space. Cerf finally settled on a 32-bit space that was incorporated into IPv4 and provided a respectable 4.3 billion separate addresses. "It's enough to do an experiment," he said. "The problem is the experiment never ended." htt…
Re: Things I learnt the hard way in thirty years of software development
#219One more point from my 20 years experience: Keep your development environment deterministic and instantly rebuildable. You should ideally be able to take your hard drive out, put in a new one, install a fresh OS, run 1 script, and be completely up and running in less than an hour. As an added bonus, this means that you can replicate your development environment on any machine very quickly and easily, which makes losi…
THANK YOU!
This is not a property that is exploited nearly enough!
Re: Things I learnt the hard way in thirty years of software development
#220Great lessons! Although it didn't include one that I had to learn the hard way, multiple times: Your throwaway prototype will be the codebase for the project. In my career, I've seen multiple throwaway prototypes that were hacked together. None of them ended up in the waste bin. "Just add X and Y and you're done". "But this is just a quick hack to show the interface, there is nothing behind it!" "Yes, and the interfa…
Also: don't be afraid for dramatic refactoring. If you know it's necessary, do it. It will improve your code base immensely. And the earlier you do it, the easier it is.
And even when you do throw away your code, you're not going to throw away all of it. There are always bits that look good and work well, so you copy them into the new version.