Yeah, I use it at a financial services client. A previous architect chose it because it was a pet project of his (he contributed to Delombok).
The premise is fine...I have no problem with it. But the default generation of @EqualsAndHashcode literally pulls in the WORLD to generate the output.
The real world scenario we had was this. Lots of POJOs were created, many were simply but a non-trivial number were NOT. Those POJOs could have dozens and dozens of fields. And if you have a key abstraction with say, 86 fields, things get interesting.
Suppose you don't use @EqualsAndHashCode on one of these POJOS with lots of fields, ALL 86 fields are included in the default equals and hashCode methods. They didn't realize this, or didn't care, and as a result, had some serious performance issues because trying to run hashCode on insert to a map when you're hashing 86 fields together might actually take some time inserting 100,000 records... ugh
So in short, it's OK and useful, but you have to understand the side effects of everything to know if it's the right thing for you.
SIDE NOTE: A POJO with 86 fields can be common in financial services when you are representing various kinds of financial trades where gazillions of things are tracked on them...interest rates of note, ratings, security characteristics, etc. That in and of itself isn't necessarily poor design, although these choices predated me at this company.
Speaking as a sole founder with many friends that go their path alone as well, this is not anywhere close to a requirement. There are people for whom this journey is natural and they are more suited, and others for whom they'd prefer or need to be with someone else.
There's no one-size-fits-all solution for founders. Co-founders come with their own set of issues--whether you're on the same page about the company's goals, whether your skill sets are complementary or not, what kind of long term commitment you both have to the problem space, etc.
Been using MemSQL for a enterprise-level financial services client since mid-2017. We have this in production and are running it in a multi-TB cluster. We've not seen ANY of these issues here and are heavy, crazy query users. Their support has been nothing but on-the-spot and very helpful.
Bootstrapped would be any self-funded, usually single-person-founded, company. You might have revenue or not, but the key component is that you are doing this on your own time or money. Not VC-funded.
Don't know what equity take they have, I'm guessing it depends on the size of the investment.
Lived in Boulder County for 15 years until I got married and moved south of Denver.
Boulder itself has ALWAYS been expensive (even when I was in college in the early 90s) for housing. If you're serious about relocating, look at some less insane, but very close communities that the majority of the "Boulderites" live in:
You can have a "reasonable" commute, and a less insane house price in those areas. They are all bedroom communities for the area... Personally, I lived in Louisville and Lafayette at least half of my time in the county (the other in Boulder proper, renting, always).
One concrete suggestion I would make is to watch Steli Efti's presentation on sales made to YC. It's filled with great info about how to qualify, follow up, pitch and in general, close sales. Steli is a master at that and maybe watching this will help you understand where things fell apart in your case. It's hard to say where it went wrong but I'm guessing with this info, you may be able to identify it better:
The FCC is currently taking public comments about net neutrality and whether ISPs are "common carriers" of content, which would subject them to certain rules of peering and content availability. It would also prevent them from charging more to allow "faster access".
Simple. My customers aren't asking for it and really don't care. If I'm not focused on them, I'm missing the point of my business. The day they start banging on my door and telling me they'll leave because I don't have Bitcoin support, I'll happily add it. Until then, it's not on my radar.
Basically, you've described a Mastermind group. :) It need not be in-person, though. I have one, and we're scattered across the US. You definitely want to have somewhat similar timezones if you go remote, just because it's easier to schedule things. More than 3 hours time difference and someone is eating lunch when another is getting dinner ready, etc.
There's one key point to everyone's comments thus far, I'll just reiterate it: This is a marathon, not a sprint. Work too hard, too fast, or too long, you'll burn out and get discouraged, quit and say that it doesn't work.
I have a full time job and work on my two WordPress plugins on the side. I make sure that every day I accomplish at least one thing relevant to them or something I'm starting.
Just one thing. It seems so easy, and yet, there have been days I got distracted, bored, busy, or just plain uninspired and didn't do it. Those days are the ones that I wish I had back.
If you make progress on something every day, even a teensy tiny bit, you will head toward your goal. Progress does NOT mean:
- Reading HN
- Tweeting about your business
- Looking at Facebook
- Reading business books
These are distractions (for the most part). And they're GREAT sometimes. But we tend to overindulge and think we're making progress because we read 5 new articles about X on HN today and feel "invigorated". That feeling will fade. You need to do something sustainable.
Action is sustainable. Visible progress can be tracked on a daily basis. After 30 days, you can look back and see a LONG list of things YOU DID. That's inspiring. And it makes you want to do MORE. And MORE.
Once you have momentum, the other key thing you need IMO, is a trusted person to bounce ideas off of. Someone who won't listen to your bullshit, only someone who will listen and call it like it is, not how you want to see it. Most friends are bad for this--they will be an echo chamber. You need honesty. Not ego stroking. This is HARD. It is VALUABLE as hell, too.
Those two things will make a huge difference in getting you moving forward. That's what I rely on daily.
As a parent of 3 girls, I can't emphasize that trust thing enough above.
I would absolutely, never, EVER use such a service. My wife would balk at the very suggestion of it. It sounds like a great idea on paper but no matter how much profiling, checking, due diligence, etc you put into it on your side, none of that matters to her, or my kids. They have to KNOW and TRUST the person they are with. We need to be able to vet that directly by observing them with the kids and get references from people we already know and trust ourselves. Having someone else say "Yep, they're cool!" when we don't know the source, means nothing.
Most of my friends who are parents are equally paranoid about these issues in this day and age (sexual predators anyone?). You're going to have a really tough time selling this to your target market.
You may not agree with my perspective, but I can absolutely guarantee this will be your #1 roadblock in getting parents to sign up for such a service, so you need an iron-clad answer to that question at the very least.
If you are adding features for features' sake, then you are not adding value. Bloated products result when you add features without understanding their value to the customer base you serve.
Of course, it could be that you serve such a diverse customer base that adding in "valuable" features creates bloat as a side-effect (Hi Microsoft Excel!), but for a SaaS app that is less than 3-5 years old, I think you'd be hard pressed to fit in this category.
So wait--you said you almost went back to collecting CC's up front, and that article says it was a better fit than the no-CC trial, so what data did you collect to say otherwise?
You're arguing both sides Brennan. :) I'm confused as hell as to which worked and why.
Another way to handle this is to NOT hire teams, but hire independents. That's what I do on oDesk, to ensure the person you hired is the one doing the work.
The premise is fine...I have no problem with it. But the default generation of @EqualsAndHashcode literally pulls in the WORLD to generate the output.
The real world scenario we had was this. Lots of POJOs were created, many were simply but a non-trivial number were NOT. Those POJOs could have dozens and dozens of fields. And if you have a key abstraction with say, 86 fields, things get interesting.
Suppose you don't use @EqualsAndHashCode on one of these POJOS with lots of fields, ALL 86 fields are included in the default equals and hashCode methods. They didn't realize this, or didn't care, and as a result, had some serious performance issues because trying to run hashCode on insert to a map when you're hashing 86 fields together might actually take some time inserting 100,000 records... ugh
So in short, it's OK and useful, but you have to understand the side effects of everything to know if it's the right thing for you.
SIDE NOTE: A POJO with 86 fields can be common in financial services when you are representing various kinds of financial trades where gazillions of things are tracked on them...interest rates of note, ratings, security characteristics, etc. That in and of itself isn't necessarily poor design, although these choices predated me at this company.