News for hackers. Stuff that matters.
Re:Why I Strive to be a 0.1x Engineer by dsjoerg on Wednesday January 27, 2016 @08:51AM (#10979977)
Alice is clearly the 10x engineer in this story. Probably more like 100x. She solved the problem with 100x less work. The goal is to solve the problem.

I know that's what you're saying already, I'm just summarizing.

Re:Why I Strive to be a 0.1x Engineer by vonmoltke on Wednesday January 27, 2016 @10:20AM (#10980431)
Unfortunately, it is Clyde who will have the better-looking resume and portfolio (will Alice even have a portfolio?), Clyde who will be held up as the exemplar of the "10X engineer", and Clyde who will be getting his choice of job offers. Meanwhile, Alice will be toiling away wondering why she can't even get any interviews despite the "talent shortage".
Re:Why I Strive to be a 0.1x Engineer by fennecfoxen on Wednesday January 27, 2016 @10:42AM (#10980595)
Clyde has better experience of actually developing programs. He has exercised and demonstrated his technical skills. For someone who actually needs new programs developed, these skills may help to deliver a substantial amount of business value. For someone who doesn't need the new programs but is poorly incentivized to care, Clyde is also adequate.

Alice may have a fine future in consulting, but if her projects never demonstrate hard-to-find technical skills no one's going to pay hard-to-find-technical-skill money for her efforts later.

Re:Why I Strive to be a 0.1x Engineer by vonmoltke on Wednesday January 27, 2016 @11:07AM (#10980773)
Developing new programs is a means to an end, not an end in itself. The need is to solve problems. Sometimes the best solution is to write new programs, sometimes the best solution is to modify existing programs, sometimes the best solution is to tweak off-the-shelf programs.

If you select for people who are good at, and like, writing new programs, then every solution becomes a new program. That isn't the best way to run a business.

Re:Why I Strive to be a 0.1x Engineer by fennecfoxen on Wednesday January 27, 2016 @11:33AM (#10980963)
> Developing new programs is a means to an end, not an end in itself.

Yeah, so this is just another case of the principal-agent problem. The thing which is best for you as a programmer may not always be the thing which is best for the company paying you. You'll have to find a balance between the two, and so will your employers.

Re:Why I Strive to be a 0.1x Engineer by skewart on Wednesday January 27, 2016 @01:33PM (#10981921)
This is a good point. I think the need for new programs has actually decreased relative to the overall need for software solutions over the past, say, twenty years. Between the rise of open source and the fact that lots of software products being built aren't very technically innovative I suspect the relative need for new code has decreased. It's more often about broadly figuring out how best to solve problems.

I wouldn't be surprised if, in response to this trend, we see the formalization of a new "product developer" role at startups that is kind of a hybrid engineer / product manager. This person can code perfectly well, but is also scrappy and really good at getting shit done. The Alice character in the story above would fit this role perfectly. These people can drive way too much business value for their role not to become a defined hiring target eventually.

Re:Why I Strive to be a 0.1x Engineer by thewarrior on Wednesday January 27, 2016 @11:16AM (#10980833)
So what you're saying is that its better to ultimately move into management ?
Re:Why I Strive to be a 0.1x Engineer by metaphorm on Wednesday January 27, 2016 @01:20PM (#10981803)
for Alice, and possibly also Bob, yes, their career advancement is most likely from software developer to product manager or technical lead, to VP of engineering somewhere.

for Clyde, definitely not. Clyde really loves coding as an end unto itself. his career advancement is probably getting picked up as a "unicorn" at a quant trading hedge fund, or joining a project that is coding low-level technology infrastructure at a big tech company like Goog/Msft/FB/Oracle/whatever.

Re:Why I Strive to be a 0.1x Engineer by smadge on Wednesday January 27, 2016 @02:15PM (#10982286)
why on earth would you let your developers decide what to develop? Isn't that the role of the product owner/client/management? There should be some back and forth between stakeholders.
Re:Why I Strive to be a 0.1x Engineer by smadge on Wednesday January 27, 2016 @07:14PM (#10984720)
I say this as a developer who, if it were up to me, would just spend all day refactoring existing code and not implementing new features or fixing bugs.
Re:Why I Strive to be a 0.1x Engineer by ownagefool on Wednesday January 27, 2016 @01:39PM (#10981967)
Actually, since we all have a finite amount of time, it's entirely possible Alice has solved real problems with the rest of hers whilst Clive is reinventing the wheel.

For the 99% business he's an expensive liability. Sure he might get jobs, but he'll hardly have a career backed by success.

Re:Why I Strive to be a 0.1x Engineer by s_kilk on Wednesday January 27, 2016 @01:50PM (#10982076)
> Clyde has better experience of actually developing programs.

Agreed. In this specific case Alice was in the right, but there are only so many problems that can be solved by installing Wordpress.

Re:Why I Strive to be a 0.1x Engineer by st3v3r on Wednesday January 27, 2016 @03:55PM (#10983246)
You don't have anything to back that up, though. You know Clyde will make work when he doesn't have to. You don't know what Alice does in the time she has not spent creating a redundant CMS.
Re:Why I Strive to be a 0.1x Engineer by Ensorceled on Wednesday January 27, 2016 @12:00PM (#10981162)
Clyde's portfolio will have "built a custom cms from scratch" and then in my interview I'll ask why from scratch instead of using a framework and something like Pinax or one of the Rails CMS packages.

Bob will have "built custom cms on Rails/Django/CakePHP" I'll ask why him the same questions as I asked Clyde along with why he didn't use Drupal or Wordpress or ...

Alice's portfolio will have more in it that just "set up WP site". In fact it probably won't have that in it at all but it might come up during the interview: "Oh, the marketing site? Yeah, I just fired up a wordpress instance, themed it, got backups working and passed it over to IT and got back to my day job."

Re:Why I Strive to be a 0.1x Engineer by vectorjohn on Wednesday January 27, 2016 @01:45PM (#10982013)
And then ask, "what was your day job, because I don't need a wordpress themer."

I guess what I'm saying is that if your resume consists of setting up Wordpress sites, then you better like setting up wordpress sites because that's where your experience is.

Re:Why I Strive to be a 0.1x Engineer by Ensorceled on Wednesday January 27, 2016 @01:58PM (#10982152)
Your missing my point entirely. This is what the resumes look like.

Clyde: Spent 6 months writing a custom CMS in Perl in support of Project X.

Bob: Spent 2 months writing a custom CMS in Rails to support Project X. 4 months writing feature A and B for Cool Project X while continuing to support the CMS.

Alice: Spent 6 months writing feature A, B, C and D for Project X.

If I was looking for a developer for Project Y, who looks better?

Re:Why I Strive to be a 0.1x Engineer by cthalupa on Wednesday January 27, 2016 @02:17PM (#10982302)
Except in this example the CMS /is/ Project X, not part of supporting Project X

And you gave zero requirements for what you need in Project Y

So I have no idea and no way of knowing who looks better. Maybe Project Y just needs a CMS to go with it. Maybe Project Y needs an extremely custom web application with niche needs.

Re:Why I Strive to be a 0.1x Engineer by optimuspaul on Wednesday January 27, 2016 @02:41PM (#10982481)
I think you just barely touched on the lunacy of even debating who has the better resume. You need to actually talk to them and understand what their real experiences are. Besides how do we not know that Alice is actually a major contributor to WordPress or optimizes compression algorithms on the side for fun.
Re:Why I Strive to be a 0.1x Engineer by st3v3r on Wednesday January 27, 2016 @03:58PM (#10983273)
Then in that case, Alice will have features A, B, C, and D of Project Z. She won't have wasted time developing a system that didn't need to be developed in the first place.
Re:Why I Strive to be a 0.1x Engineer by vectorjohn on Wednesday January 27, 2016 @05:41PM (#10984149)
I guess all this rests on the assumption that Alice did something relevant in all that time she saved. If features A, B, C and D. Basically you seem to assume that each or some of those are relevant software development work and not just more WordPress deployments.

I guess the point is use pre-packaged tools when possible. But somebody has to write new software, so you better get some experience in doing that if you want to be a software developer.

Re:Why I Strive to be a 0.1x Engineer by kaidoe on Thursday January 28, 2016 @08:15AM (#10987916)
This argument has taken the original scenario completely out of context. You could as easily twist this and say.

Alice was part of a small team in a Space Tourism start-up. Once their marketing site was online she got back to the rocket science.

Re:Why I Strive to be a 0.1x Engineer by jimbokun on Wednesday January 27, 2016 @11:29AM (#10980927)
Instead of "Used APIs X, Y, and Z and languages Foo and Bar", Alice's resume will say "Delivered project on time and under budget that brought in $X,000,000 in revenue to the company."

There are certainly companies looking for the latter.

Re:Why I Strive to be a 0.1x Engineer by jmilloy on Wednesday January 27, 2016 @11:46AM (#10981053)
The story is simplified. The 10x engineer is usually someone who has the technical skills and knows have to deploy them effectively. The 10x finishes the Wordpress site and then moves on to the next task, and the next, and the next completing them efficiently, even though some require technical skills and some do not.
Re:Why I Strive to be a 0.1x Engineer by uglysexy on Friday January 29, 2016 @05:12AM (#10994437)
True. 10X is productivity in the context of business value. Clyde will take six months before he can deliver something of value while Alice will have solved ten more business problems with within that same time period.

The key differentiation is: is the company a technology company (Clyde's approach is more valuable) or not (Alice's approach is more valuable).

Re:Why I Strive to be a 0.1x Engineer by lsiebert on Wednesday January 27, 2016 @07:22PM (#10984762)
I feel like much of high level engineering work isn't having knows (sic), at least beyond a certain level. It's being able to grok a narrow problem domain from first principles, write code, then forget it to learn a different narrow problem domain the next week.
Re:Why I Strive to be a 0.1x Engineer by Spellman on Wednesday January 27, 2016 @12:09PM (#10981242)
Clyde will have one thing on his resume. Solved the CMS problem.

Alice will have plenty of other things to put on her portfolio instead and should show the 10x other things she fixed with all the time freed up.

Re:Why I Strive to be a 0.1x Engineer by munchbunny on Wednesday January 27, 2016 @03:30PM (#10983003)
Alice is going to have other projects on her portfolio because she didn't spend a year building a CMS like Clyde did.

In my experience people like Alice have resumes full of novel things, rather than a bunch of B2B-sounding internal apps.

Re:Why I Strive to be a 0.1x Engineer by itsdrewmiller on Wednesday January 27, 2016 @02:59PM (#10982697)
Seems unlikely. "Built my own CMS" is not uncommon on resumes and isn't a big draw. Presumably Alice has other accomplishments from the 99% of time she didn't use writing her own CMS.
Re:Why I Strive to be a 0.1x Engineer by xenihn on Wednesday January 27, 2016 @01:12PM (#10981743)
Clyde is a sous chef at the French Laundry. Alice works the grill at Applebees.
Re:Why I Strive to be a 0.1x Engineer by st3v3r on Wednesday January 27, 2016 @03:59PM (#10983292)
Other way around. Because Alice set up Wordpress and was done, she had plenty of time to work on actual, hard problems that needed to be solved.
Re:Why I Strive to be a 0.1x Engineer by sheepmullet on Wednesday January 27, 2016 @05:03PM (#10983871)
You are assuming she is given the chance to work on actual hard problems.

Why do you think Clyde wrote a custom cms in the first place? You think he didn't know about Wordpress? In reality he knew but pushed for the custom implementation because it was the best route to improve his skills and increase his power within the company.

The truth is at a typical company Alice isn't going to be rewarded either financially or with better projects.

I wish it was different but if they both worked at the same company Clyde would be the one taking first pick of all the best projects.

Re:Why I Strive to be a 0.1x Engineer by cpdean on Wednesday January 27, 2016 @07:28PM (#10984814)
You're my hero right now.
Re:Why I Strive to be a 0.1x Engineer by ddingus on Thursday January 28, 2016 @12:02PM (#10989400)
Alice will be able to provide a list of employment and value added to the business.

People, who read that, know what they are getting same as they do the prolific developer with a nice portfolio.

Both are high value. It's all in the presentation for Alice.

Re:Why I Strive to be a 0.1x Engineer by uglysexy on Friday January 29, 2016 @05:01AM (#10994405)
Technical Consultants and Solution Architects make more than Coders or Programmers. The main value of Alice's approach & solution is time - the quick turnaround in providing the right solution.
Re:Why I Strive to be a 0.1x Engineer by bigiain on Wednesday January 27, 2016 @08:03PM (#10985136)
Maybe - but I know which of my ex-colleagues Clyde, Bob, or Alice _I'd_ be calling up and poaching when I needed to build myself a new team in my next role…
Re:Why I Strive to be a 0.1x Engineer by tedks on Wednesday January 27, 2016 @02:47PM (#10982555)
Alice will have several orders of magnitude more projects on her CV than Clyde has.

When Alice is applied to a harder problem (that can't be solved with Wordpress), she'll be able to solve it far faster and more effectively than Clyde because she won't have the not-invented-here hubris and will stand appropriately on the shoulders of giants to construct something that will likely be far more maintainable, broken down into saner components, and on the whole, more effective.

Clyde will be valued as a 10x engineer at his company forever, but would probably find it very difficult to start somewhere else where he doesn't have the luxury of having written the entire codebase.

Re:Why I Strive to be a 0.1x Engineer by st3v3r on Wednesday January 27, 2016 @01:37PM (#10981955)
You're assuming Alice only sets up Wordpress, and isn't doing anything else with all the extra time she has on her hands.

And quite frankly, a portfolio with yet another CMS hand made is not impressive at all. I'd ask the same thing: "Why didn't you use Wordpress, or another off the shelf solution?"

Re:Why I Strive to be a 0.1x Engineer by anentropic on Wednesday January 27, 2016 @09:12AM (#10980038)
isn't this like the joke about regex though?

She used WordPress... now she has x problems?

My own experience of using WordPress is that it's like sticking a "kick me" sign on your back for every script-wielding hacker on the internet...

Re:Why I Strive to be a 0.1x Engineer by jerf on Wednesday January 27, 2016 @09:16AM (#10980054)
Don't focus on the WordPress part, focus on the $HOSTED_BY_NOT_ME_SOLUTION part.
Re:Why I Strive to be a 0.1x Engineer by joshmanders on Wednesday January 27, 2016 @09:21AM (#10980083)
I am just not a fan of this. Avoiding Wordpress issues, just using an out of box solution; what if the customer wants specific features? Plugins? Oh those don't exist yet. Do you build your own plugin? Shoehorn some 3rd party system in?

I can't do that. My customers come to me expecting a solution that isn't hacky and just "there". They expect a solution that solves their issues and not tacks on more issues.

I've never seen any good results come from someone doing the least amount of work possible by finding out of the box solutions that half ass most of the features the client wants.

But I have seen many customers come back repeatedly satisfied with their completely custom solution because it has what they want and not confusing or anything, because it's to their specifications.

If doing half-assed work to get the client out the door and a new one in is the best thing, than I'd rather not be "the best".

Re:Why I Strive to be a 0.1x Engineer by snowwrestler on Wednesday January 27, 2016 @11:06AM (#10980761)
I think you are fooling yourself into thinking what you want to think.

IME that is fairly common among developers, who after all got into this line of work because they like writing code, not configuring a web interface. So, many developers will tend toward solutions that involve them writing lots of their own code, especially if it involves using an interesting new technology or framework. "Yes, node + Angular would be the perfect stack for your small business brochure site."

But let's think about the probabilities here, keeping in mind the customer wants a CMS (as specified in the parent comment). Wordpress is used by about a quarter of websites. What are the chances that your client wants a CMS feature that no one else has ever thought of before?

It's pretty unlikely. With very rare exceptions, there is a plugin available for what your client wants. You might need to modify the template to get exactly the look you want, but the feature is available. And Wordpress is not the only popular open-source CMS either--there are plenty of options to meet your client's needs.

From your business perspective, using a popular open-source CMS increases your margins: you spend less time building for the same quality. From a security perspective, a popular open-source CMS is superior to your code because so many other people are trying to attack and defend it. From the client's perspective, a popular open-source CMS is more future-proof--they can fire you and easily find another vendor to take over management. Even better if it's a commercially hosted instance and they don't have to worry about hosting at all.

Re:Why I Strive to be a 0.1x Engineer by Fuxy on Wednesday January 27, 2016 @12:41PM (#10981485)
Wordpress has its place for quick, dirty and simple jobs with common requirements however if you are trying to do something a little more complex wordpress is a awful choice.

You usually end up struggling with sub par plug-ins and unintuitive UI's that are a nightmare for you and the customer potentially wasting more time doing that then doing a custom build.

The point is it takes a 10X programmer to recognize when a out of the box popular solution might not be the right choice for the customer.

Re:Why I Strive to be a 0.1x Engineer by cthalupa on Wednesday January 27, 2016 @02:23PM (#10982339)
Installing a bunch of third party plugins is the fastest way to take an already somewhat vulnerable application and introduce security holes large enough to fly a 747 through.

I used to work in the hosting industry - the overwhelming majority of abuse reports against customers were from people who had installed wordpress and plugins and one of the plugins had a major security flaw, and then the customer was off to the races as part of a botnet or spamming.

So you now have to audit the plugins, you have to worry about future updates to those plugins introducing vulnerabilities, you have to worry about a plugin no longer being maintained and becoming obsolete, etc.

Is there a business case for WP and plugins? Certainly. But the blanket idea that you can just drop a PHP application on a server, install a bunch of plugins, and move on to your next more interesting project is extremely naive.

Re:Why I Strive to be a 0.1x Engineer by potatolicious on Wednesday January 27, 2016 @02:49PM (#10982584)
All of these points are valid, none of them are unique to the Wordpress solution.

If you're writing a reasonably complex CMS, you will create security flaws you can fly a 747 through. This is doubly true if the CMS isn't the end goal and rather a necessary dependency for what's actually needed.

The only guard against security holes is battle-testing your code - Wordpress may not be the most secure thing in the world, but it's likely more secure than something you can whip up yourself in a jiffy.

Ditto maintenance and obsolescence - in fact this problem is probably worse for a homebrew solution than WP, since the number of people qualified to maintain this homebrew codebase is approximately one, whereas you can actually hire for WP plugin maintainers if you need to. Likewise, homebrewing your own solution and then moving onto the next project literally means it's not being maintained from day one, which is strictly worse than even a casually maintained plugin.

WP installs aren't always the right solution, nor is deploying some off the shelf code, but choosing to write your own code needs to pass a higher standard than is normally applied in most companies - it's silly to complain that some open source thing might stop being maintained when by default what you write yourself is also not actively maintained ;)

Re:Why I Strive to be a 0.1x Engineer by cthalupa on Wednesday January 27, 2016 @03:16PM (#10982866)
> it's silly to complain that some open source thing might stop being maintained when by default what you write yourself is also not actively maintained ;)

I certainly agree to a large extent, but there's a lot that mitigates this as well:

When it's code you write, you have control over feature creep, documentation, comments, etc.

If you write something that only does what you need, you reduce a lot of the attack surface vs. off the shelf plugins, and you are in a position to make sure that the code commented and well documented. You don't have that sort of quality control over a third party plugin, and you may down the line be in for a rude awakening when it's no longer developer and has a breaking problem, and you open it up and find the code is a completely undocumented mess from top to bottom.

Of course if you're rushing something out the door, you might not produce anything better - but if you're a software shop with solid engineers, you have a high chance of being able to get better quality code out there than a lot of WP plugins.

(That being said, WP today is a lot more secure itself than it was in the past - the right option might be not writing the CMS from scratch, but writing any plugins you need from scratch)

Re:Why I Strive to be a 0.1x Engineer by joshmanders on Wednesday January 27, 2016 @03:05PM (#10982762)
I get your points, but at least with custom code you have security by obscurity. Using out of the box stuff puts you in a higher level of security risk because anyone can access the code and find bugs and how to exploit them. At least with custom code, it'll take some time for them to find something and attack you.

I mean for crying out loud, just installing Wordpress invites people trying to get in using automated tools. You can deploy a wordpress blog at it's default state, and wake up 3 days later to it being spammed.

Re:Why I Strive to be a 0.1x Engineer by snowwrestler on Wednesday January 27, 2016 @03:44PM (#10983147)
The bad guys generally don't bother browsing Wordpress code to find vulnerabilities. It's tiresome to do, especially since a lot of good guys are doing the same thing and patching the obvious bugs.

Instead they use automated attacks to test any website directly for the most common errors. Understand that this is not limited to Wordpress. The types of vulnerabilities they test for are universal: password brute force, directory permissions, code injection, XSS, etc.

Sometimes one of these tests works, a site gets hacked, and then the developer has to a) recognize the site has been hacked, b) diagnose the problem, c) patch the hole, and d) recover the site.

For open-source projects like WordPress, the developer can then contribute the patch back to the community, and everyone else can pre-emptively fix their sites, even if they haven't been hacked yet. Bad guys also get these patches, and add automated attacks based on them. These are often what you see in WP logs, but such attacks are easily defeated by simply applying patches when they come out.

For custom-developed sites, you the developer must do all those steps by yourself, and yes that means you probably won't know about vulnerabilities until they are exploited.

Re:Why I Strive to be a 0.1x Engineer by ptasci67 on Wednesday January 27, 2016 @10:47AM (#10980623)
The problem with custom solutions I see is that they are usually awesome at the first iteration but when the customer comes back wanting new features each subsequent version degrades. By degrades I mean that it takes longer, it is a little messier, a little hackier.

I believe this is honestly true for most software. The longer something has been around the more hacks it will inevitably have in it. The projects I have seen that last the longest are the ones built with a solid, generic foundation capable of handling all types of requests with minimal user touch.

I am not necessarily saying all out of the box solutions do this well but certainly, most if not all off the shelf parts have been iterated more to hammer out bugs, security issues, get the feel right, etc. than your homegrown bit ever could.

I of course couldn't advocate that wordpress is the solution to everything but if it meets the customer's needs right now and will do so for the foreseeable future, I see no reason not to use a mature, existing framework.

Re:Why I Strive to be a 0.1x Engineer by chris11 on Wednesday January 27, 2016 @04:53PM (#10983784)
So how would you suggest getting the technical knowledge to build solid, generic foundations if most projects don't have them?
Re:Why I Strive to be a 0.1x Engineer by dreamfactory2 on Wednesday January 27, 2016 @09:33AM (#10980151)
Rolling your own is almost never the best solution unless you are creating something truly innovative. This is almost never the case for client work as they are operating in defined markets. What always fails to get factored in is total lifetime cost - writing and deploying the code is a marginal part of that
Re:Why I Strive to be a 0.1x Engineer by ocdtrekkie on Wednesday January 27, 2016 @09:32AM (#10980140)
Okay, so they need specific features and plugins. Start with WordPress, then write a WordPress plugin to your customer's specifications. You skipped writing 90% of the CMS, which is also tested and secured by a large group of developers. You have a much smaller codebase you're responsible for maintaining.
Re:Why I Strive to be a 0.1x Engineer by joshmanders on Wednesday January 27, 2016 @09:44AM (#10980204)
And what if the client wants a CRM... Do you install a popular CRM plugin, and then tell the customer to ignore 90% of what's in their dashboard, because posting articles isn't something they want?

If I as a client came to a company and said I wanted a CRM built for my company, and they gave me a Wordpress blog with a shitty CRM plugin, I'd request a refund and find someone who is actually going to build to my needs, and not hurry me through the tunnel to get my money and go onto someone else.

But I believe in quality over quantity. I'd rather spend time building a custom solution (Note, just because I am building a CRM doesn't mean I build the whole thing from the ground up, I use frameworks) that is going to make my client ecstatic and return again and again, than be like a friend's company. No good reviews. My current boss told me he had them make him a website few years ago. He said that lets just say he wouldn't be going back to them anytime soon. Why? Because they build EVERYTHING on WordPress.

Re:Why I Strive to be a 0.1x Engineer by enraged_camel on Wednesday January 27, 2016 @10:15AM (#10980385)
>>My current boss told me he had [a friend's company] make him a website few years ago. He said that lets just say he wouldn't be going back to them anytime soon. Why? Because they build EVERYTHING on WordPress.

Sure, but that sounds like a strawman. The lesson in the original post isn't about building EVERYTHING on WordPress. It's about knowing when to use existing tools and solutions instead of reinventing the wheel.

>>I'd rather spend time building a custom solution... that is going to make my client ecstatic and return again and again

It completely depends on the project. If it is for a mission-critical application that needs a lot of custom, well-designed features, building it yourself might make sense. Otherwise using something someone else has built is just as likely to make your client ecstatic because you just saved them a lot of money and time.

Re:Why I Strive to be a 0.1x Engineer by eropple on Wednesday January 27, 2016 @09:59AM (#10980283)
> And what if the client wants a CRM... Do you install a popular CRM plugin, and then tell the customer to ignore 90% of what's in their dashboard, because posting articles isn't something they want?

No, I tell them to pay for Salesforce, because I'm not going to build something as good as Salesforce in anything approaching a normal project's budget, and I introduce them to trusted Salesforce consultants I know. It's more important to me that they get the right thing rather than pay me to do the wrong thing. And if you are building a CRM, even with a "framework", for any sort of business under, say, ten thousand employees, it's very likely--not without exception, but I'm betting hard in this direction and I will very rarely lose--that you are not doing the right thing for your client.

Re:Why I Strive to be a 0.1x Engineer by snowwrestler on Wednesday January 27, 2016 @11:14AM (#10980822)
> If I as a client came to a company and said I wanted a CRM built for my company, and they gave me a Wordpress blog with a shitty CRM plugin,

The parent comment at the head of this subthread specified that the client wants a CMS. That's how we got on the topic of Wordpress to begin with.

I agree that Wordpress would be a terrible platform for building a CRM. But I am dubious that anyone needs a custom CRM. There are literally dozens of commercially available CRMs at all price points and industries.

Re:Why I Strive to be a 0.1x Engineer by joshmanders on Wednesday January 27, 2016 @11:32AM (#10980958)
That's just an example. I am building a custom CRM as part of a service right now. Or should I shoehorn Salesforce into this service and tell all my customers that to use that feature of our service, they have to also have a membership with salesforce?

My customers pay me for the features I am building all into this service... Not to charge them to hook a membership for another company up to it.

Then I have to provide support for Salesforce. Their service goes down, now I have my customers mad at me because part of my service is down.

No thanks.

Re:Why I Strive to be a 0.1x Engineer by snowwrestler on Wednesday January 27, 2016 @11:49AM (#10981074)
It doesn't have to be Salesforce, but yes, I think you should help them find the right CRM solution, and configure and integrate it.

https://en.wikipedia.org/wiki/Category:CRM_software_companie...

Giving the customer direct ownership of their CRM database is a feature, not a bug. They will benefit from a CRM development team who has dedicated experience and expertise in CRM, plus they'll benefit from the feature and security requests of the other CRM customers. And it will make them less dependent on you, specifically. Which, from the client's perspective, is a good thing.

Edit to add: what's more likely, that Salesforce goes down, or that you are unavailable for some reason?

Re:Why I Strive to be a 0.1x Engineer by st3v3r on Wednesday January 27, 2016 @04:04PM (#10983340)
"And what if the client wants a CRM... Do you install a popular CRM plugin, and then tell the customer to ignore 90% of what's in their dashboard, because posting articles isn't something they want?"

No, you modify the template so it's not showing the stuff they don't want. Problem solved.

"If I as a client came to a company and said I wanted a CRM built for my company, and they gave me a Wordpress blog with a shitty CRM plugin, I'd request a refund and find someone who is actually going to build to my needs, and not hurry me through the tunnel to get my money and go onto someone else."

And if I was your boss, I'd fire you for wasting my money.

"But I believe in quality over quantity."

Nobody here is any different. The difference is that I don't think that the only one who can deliver quality is me.

"I'd rather spend time building a custom solution (Note, just because I am building a CRM doesn't mean I build the whole thing from the ground up, I use frameworks) that is going to make my client ecstatic and return again and again, than be like a friend's company."

And again, you're assuming that result isn't possible with an off the shelf solution.

Re:Why I Strive to be a 0.1x Engineer by drzaiusapelord on Wednesday January 27, 2016 @11:57AM (#10981140)
>And what if the client wants a CRM...

SuiteCRM/SugarCRM

Salesforce

CiviCRM

vTiger

Insightly

Now figure out the integration between it and the WP site.

Re:Why I Strive to be a 0.1x Engineer by bobby_9x on Wednesday January 27, 2016 @10:35AM (#10980548)
I would never just roll my own solution for a client. The whole point of open source is that it's battle tested.

It also saves you lots of time that could be used on the features they actually do want.

Most clients just want a soluton that works

I suppose it does allow you to lock them in easier with a custom solution.

Re:Why I Strive to be a 0.1x Engineer by qyv on Wednesday January 27, 2016 @12:12PM (#10981270)
Custom software is a business risk not an asset. Your company processes and people become dependent on workflows that lock you into the software. You become beholden to a single vendor, and eventually the pain of switching away from a woefully outdated system becomes all but impossible. Just ask the companies that still rely on hundreds of millions of lines of COBOL.

To add to this: Very old custom software located on internal systems is one thing, imagine if you are relying on 15 year old web-based software from a vendor that no longer exists. How do you protect that?

Re:Why I Strive to be a 0.1x Engineer by totalrobe on Wednesday January 27, 2016 @09:35AM (#10980159)
I think the point is that the developer should attempt to understand what the client actually needs and act intelligently to determine what tools or technologies would be best for the job.
Re:Why I Strive to be a 0.1x Engineer by mtzaldo on Wednesday January 27, 2016 @09:44AM (#10980206)
If your client have the money to pay for the n months of work and maintenance, it is fine. I think most people try to use this solution because budget and time constraints.
Re:Why I Strive to be a 0.1x Engineer by st3v3r on Wednesday January 27, 2016 @04:00PM (#10983309)
Where in the story does it imply that Alice did halfassed or hacky work? And do not say because she used Wordpress or another off the shelf solution.
Re:Why I Strive to be a 0.1x Engineer by kentt on Wednesday January 27, 2016 @10:52AM (#10980654)
If you're using WordPress, then you should be declaring that as a global.
Re:Why I Strive to be a 0.1x Engineer by walshemj on Wednesday January 27, 2016 @10:12AM (#10980373)
As would a custom cms I know as a few years back our custom blogging platform got hacked and was used to host many GB of pirated movies.