Question. Are those people scorning you because you are thorough down to details, or because you are thorough down to details _at the cost of something else_?
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 bad, all things considered).
One of the nice things about my approach, is that I can start using TestFlight (Apple's beta-test service for iOS) quite quickly. This allows non-tech stakeholders to start actually using the app, very early in the process.
If I have an open-ended schedule (like I do, with the project I'm working on now), it's amazing, because we can refine the project, and work through a lot of the MVP stuff, without the public shame.
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 since I came up for air.
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 admire your thoroughness and attention to detail, and hope to learn from you.
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.
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.
You sound like a great hire to me. A lot of people in tech are somewhat challenged (in one way or another, and usually in several) when it comes to dealing with other people, so I don't see this as a disqualifying trait.
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.
The only way is the way that I've been forced to work, my entire life.
I'm a high school dropout with a GED, and some rather spotty tech training.
That means that I have had to fight, claw, and prove myself at every single step. No easy slopes for me. Double-black-diamond, the whole way. Very darwinian. Exhausting.
Fortunately, I don't have to prove myself to anyone, anymore. I am working with a bunch of folks that have known me for years, and are quite aware that I'm "for real." I don't make a dime, and don't really care. I enjoy the work.
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 bad, all things considered).
One of the nice things about my approach, is that I can start using TestFlight (Apple's beta-test service for iOS) quite quickly. This allows non-tech stakeholders to start actually using the app, very early in the process.
If I have an open-ended schedule (like I do, with the project I'm working on now), it's amazing, because we can refine the project, and work through a lot of the MVP stuff, without the public shame.