Organizing complexity is the most important skill in software development
1–10 of 286 posts
Re: Organizing complexity is the most important skill in software development
#2Re: Organizing complexity is the most important skill in software development
#3 Do Not Program Yourself into a CornerRe: Organizing complexity is the most important skill in software development
#4Re: Organizing complexity is the most important skill in software development
#5Re: Organizing complexity is the most important skill in software development
#6Re: Organizing complexity is the most important skill in software development
#7It turned the job from hellish (features were impossible to add) to very nearly boring (there wasn't much to do anymore). So with this newfound freedom I built some machines to automate the data entry and once that got rolling the job got even more boring. Because it was a small company with a very long learning curve the owner didn't let people go, but instead kept them on so that he didn't have to hire and train new people as growth accelerated.
But with all the automation some slack found its way into the system and problems that had normally required me to stop working on my normal job and help put out fires now got handled by people who weren't stretched a little too thin.
Sadly there's (seemingly) no way to interview people for this ability so we're stuck with the standard "write some algorithm on a whiteboard" type problems that are in no way indicative of real world capabilities.
Re: Organizing complexity is the most important skill in software development
#8Design patterns by the Gang of Four was great for this.
Re: Organizing complexity is the most important skill in software development
#9I think a large issue is when an application has new people working on it or entirely new teams that maintain it. That is when the original authors methodology and organization of the application falls to the immediate need of the day.
The functionality of the software should speak for itself. Commenting your code with why you are doing something is important to help other maintainers later on, including yourself, understand what you were thinking when it was written.
Re: Organizing complexity is the most important skill in software development
#10The most important skill in low-level technical support: diplomacy.
The most important skill in high-level technical support: figuring out what people are actually complaining about.
Note that many low-level technical support problems look like high-level problems, and vice versa.