Funny! I wrote the same article 6 years ago: https://www.dein.fr/2015-10-01-10-principles-for-good-code.h...
> Companies that stay successful are the ones which don’t fear to constantly disrupt themselves through technological innovation. Spot on, intel immediately comes to mind. Will playing it safe always lead to mediocrity though? Depends i guess, heard that a good poker player loses less often. (edit) Enjoyed reading the rest of the article too. In the environmental impact section i missed the idea of using more efficie…
Dieter Rams' design principles applied to software engineering
51–60 of 63 posts
Re: Dieter Rams' design principles applied to software engineering
#52There's one difference though. Unlike product designers, software engineers will never be in the spotlights. Not at Apple, anyway. E.g. tell me how many times you've read an article about Jony Ive versus about an important software engineer at Apple.
Re: Dieter Rams' design principles applied to software engineering
#53Earlier quoted context omitted.
Mostly because they assume that it's at the cost of schedule. In my case, that turns out not to be the case. I work very quickly. I can develop a fairly "full-fat" iOS app, with a lot of functionality, in less than a week. I do it all the time, with test harnesses. But getting the app to what I consider "ship" shape, is another matter entirely, and can stretch the project to a couple of months (which is still not so…
You sound like a good person to learn from. Do you have any video tutorials about your process (how you go about building complex applications in such a short time, what you prioritize, how you plan your work days etc.). I am also curious about the resources you used to build up your developer & project management skills.
I also have a lot of writings and whatnot, on my personal site[2].
Frankly, I spend most of my time writing production code, so I don't break off too often, to refresh my blog. I should actually do something, soon. It's been a while since I came up for air.
[0] https://www.tryswift.co/world/
Re: Dieter Rams' design principles applied to software engineering
#54Re: Dieter Rams' design principles applied to software engineering
#55If I follow this it would take me 9 months to build a signup form.
The real question is how long the next login form after that would take you. A day? Good design is not lost once you are done with it. The lessons learned when following through with such things stay and ultimately enable you to build more better things faster.
Re: Dieter Rams' design principles applied to software engineering
#56Earlier quoted context omitted.
I'd go even further and say code is pretty strictly a liability. If you don't hate your code enough to throw it away and replace it on a whim, then you've made it more important than it should be. Why else would we encourage things like loose coupling and building upon abstractions? That thing you're abstracting away is likely to be thrown away at some point and replaced with something different. I can understand fee…
While I think the core of your idea is right, some could understand it the wrong way: > If you don't hate your code enough to throw it away and replace it on a whim, then you've made it more important than it should be. You shouldn't write code you hate just to avoid attachment. What you should do instead is to develop the ability to (as product designers tend to say) "kill your darlings". You should love the code yo…
Re: Dieter Rams' design principles applied to software engineering
#57Earlier quoted context omitted.
You sound like a good person to learn from. Do you have any video tutorials about your process (how you go about building complex applications in such a short time, what you prioritize, how you plan your work days etc.). I am also curious about the resources you used to build up your developer & project management skills.
I've done training and whatnot for years. Last bit I did, semi-professionally, was a Core Bluetooth class for try!Swift World[0], [1]. Been quite a while, since I've done any classes. I also have a lot of writings and whatnot, on my personal site[2]. Frankly, I spend most of my time writing production code, so I don't break off too often, to refresh my blog. I should actually do something, soon. It's been a while sin…
I must say that I wonder how much work you need to put in to get to your desired level of quality. Excuse my bluntness, but would you consider yourself a workaholic? Also, I find it odd that you say you don't make a dime from your work, even if it's mostly FOSS. Surely high quality work should attract high quality rewards.
Re: Dieter Rams' design principles applied to software engineering
#58Earlier quoted context omitted.
You sound like a good person to learn from. Do you have any video tutorials about your process (how you go about building complex applications in such a short time, what you prioritize, how you plan your work days etc.). I am also curious about the resources you used to build up your developer & project management skills.
I've done training and whatnot for years. Last bit I did, semi-professionally, was a Core Bluetooth class for try!Swift World[0], [1]. Been quite a while, since I've done any classes. I also have a lot of writings and whatnot, on my personal site[2]. Frankly, I spend most of my time writing production code, so I don't break off too often, to refresh my blog. I should actually do something, soon. It's been a while sin…
Re: Dieter Rams' design principles applied to software engineering
#59Earlier quoted context omitted.
I've done training and whatnot for years. Last bit I did, semi-professionally, was a Core Bluetooth class for try!Swift World[0], [1]. Been quite a while, since I've done any classes. I also have a lot of writings and whatnot, on my personal site[2]. Frankly, I spend most of my time writing production code, so I don't break off too often, to refresh my blog. I should actually do something, soon. It's been a while sin…
Thank you for the resources. I've read some of your posts, and I found them useful, insightful, thought provoking, and pleasurable to engage with. Also, it looks like you are passionate about beautiful and thorough documentation, to a level which frankly I don't remember seeing in my 15+ years of engineering. I find it quite inspiring. When you say your work is high quality, you're not bragging or exaggerating. I adm…
I’m definitely somewhat OCD. Not sure that I’m really a “workaholic,” in the destructive sense, as I actually really enjoy doing this stuff, and frequently take breaks to do errands and chill out. I suspect a lot of folks would not find my lifestyle attractive, but it works for me.
I am a bit “on the spectrum,” which makes me an excellent architect and coder, but can cause issues with my interpersonal relationships.
A lot of what looks time-consuming in my code and writing, is actually the level of habit, and just “flows,” without my having to think about it. I write well, and quickly. It has been my experience, that I generally outpace my teammates (break time!).
I’ve been writing all my life, and I come from a fairly well-educated and literate family. My younger brother and I are the “redneck engineers.” Everyone else has Ivy-League sheepskins. My older brothers and sisters have all published books and papers, and whatnot.
As far as rewards go, I would have been happy to work with others. I spent most of my career, on teams. It has been my experience, though, that few people want to work with me, mainly because I'm "chronologically-challenged." Some folks have been quite blunt about it, while most have been fairly weasely.
Others actually don't want to write high-quality product. It's a deliberate decision to embrace mediocrity and "barely tolerable" quality. It may sound ridiculous, but they make money; sometimes, quite a bit. It's hard to argue with results. As long as consumers are willing to pay for poor quality, there will always be a plentiful supply of dross. It can be argued that my development methodology is not cost-effective. I won't lose any sleep over it. I'll do it for free.
Not a big deal. I really enjoy doing what I do, and I don't need anyone else's approval or support, if they aren't willing to give it. It sounds "arrogant" (and I have often been told that I'm "arrogant"), but it's actually just "confident." I don't think I'm God's Gift to Programming, but I know damn well that I am in the upper percentile. I'm aware of quite a few others that are better than me, and I look forward to continuing to learn, and be humbled by the challenges.
I've spent my entire life shipping software. I'm not exaggerating. Here is the first engineering project I ever did[0], [1] (Download PDFs). I architected it, designed the hardware and electronics, wrote the firmware OS, and the host drivers. My very first project was a top-to-bottom hardware/firmware/software design project. It was used in an ATE system for "DC-to-Light Super Bearcat Scanners," made by the company I worked for, back then (they would not be a big deal, these days). That company is long dead.
That same "on the spectrum" thing, means that I also work just fine, alone. I have to greatly reduce the scope of my work, but I can get quite a bit done, all on my lonesome. The project that I'm working on now, is an example. It's the kind of thing that usually is done by a team of engineers.
[0] https://littlegreenviper.com/TF30194/TF30194-Manual-1987.pdf
[1] https://littlegreenviper.com/TF30194/ATE-System-Driver-Manua...
Re: Dieter Rams' design principles applied to software engineering
#60Earlier quoted context omitted.
Thank you for the resources. I've read some of your posts, and I found them useful, insightful, thought provoking, and pleasurable to engage with. Also, it looks like you are passionate about beautiful and thorough documentation, to a level which frankly I don't remember seeing in my 15+ years of engineering. I find it quite inspiring. When you say your work is high quality, you're not bragging or exaggerating. I adm…
Nothing to excuse. Perfectly reasonable question. I’m definitely somewhat OCD. Not sure that I’m really a “workaholic,” in the destructive sense, as I actually really enjoy doing this stuff, and frequently take breaks to do errands and chill out. I suspect a lot of folks would not find my lifestyle attractive, but it works for me. I am a bit “on the spectrum,” which makes me an excellent architect and coder, but can…
But since you are good at turning ideas into polished products, what about your own ideas? I'm talking about simply creating "catchy" apps and selling them on the App Store. Is there a good living to be made this way, with a skill level like yours? Can you get any predictable/consistent success? I'm guessing no matter how good an app is, you still need a fair bit of luck to get it seen by a lot of people (or perhaps the "right" influencers) to make a hit out of it. And yet when you see something simple and catchy like FlappyBird, made by some seemingly random guy in Vietnam, it seems obvious to everyone other than himself that millions would buy it. I wonder how many nice and catchy little apps like that never catch the big wave, and die after getting downloaded by a handful of people.