Yeah I agree the FTC article could be more clear here. I think they call out Western Union because those are tools that are commonly used by scammers.
But let’s be clear: the risks are the same if you are wiring money through Western Union or wiring through any other bank. Once you wire the money you do not have the same protections as other payment mechanisms. And if you don’t get the product as described, you are likely out your money. This is compared to other forms of payment like credit cards where you are protected. With a credit card you can issue a charge back to the seller and get your money back in the case of fraud. With a wire transfer you cannot.
This is not necessarily true. Wrong monetization can be the killing blow. Market can change and your business model which used to work can suddenly fall apart. A recent example for business model change is Tailwind where traffic to their open-source docs plummeted and suddenly not enough people are upgrading to their commercial licenses.
Startups die for a variety of reasons, even if products are popular and loved.
Tailwind was (is?) also selling "lifetime" licenses, which means eventually their sales would collapse anyway, once they have sold a license to most interested customers. They were always going to need to pivot at some point. regardless of traffic to their docs.
To play the devil's advocate, more people are born every day and as long as there are more developers today than there were yesterday, lifetime licenses can bring in a trickle of money each month, especially if the marginal cost of each new customer is zero or near zero.
True enough, though I think Tailwind suffered something of a black swan event of having lifetime pricing plus AI coding assistants hitting an inflection point that immediately and thoroughly decimated the value prop of their core monetized product.
I have recently asked my LinkedIn audience if my company should build a great PostgreSQL IDE. That's my wish for many years, and I know exactly where we can provide significant value over existing solutions. Yet basically everyone said not to do it.
Too many free options, hard to get people to change habits, you can't charge enough because devs just don't want to pay if they can help it.
I decided we will build something else. That said, good luck to this developer, I hope their product takes off.
I went indie some 20 years ago because I needed money and I wanted full control over my life. Did some things right but many things wrong. Unfortunately, there is a price to pay to build your life in an unconventional way. Everything turned out well but it might have easily concluded with a disaster. Luck (or lack of it) plays a significant part however much you try.
What I would recommend to the "new indies":
- Build this on a side with a steady full-time job. If you can't get to a few thousand dollars per month by investing 2-3 hours per week day plus 10-20 hours on a weekend, going full time won't make a difference.
- If you have a family, be careful. You are making high risk decisions but people who depend on you didn't ask you to make a leap into unknown territory. Attempt to pull of indie business is stressful for everyone, may lead to years of strained relationship, and to a divorce.
- Do not share too much business information with your spouse. What is acceptable risk to you may cause dread to your significant other. They don't deserve all the emotional ups and downs that come with running a solo business. Absolutely do share important things because you are in this together - just don't frighten people whenever you are in a bad situation.
- Be mentally stable. If money is tight, if things are unknown, remember this was your choice.
- Don't be too proud - always be prepared to freelance or find a "real job" if needed. Remember that big success can take (many) years or it may never come. Do your best but do not self-destruct.
- Read "The E-Myth Revisited" to learn that your job changes. I was a spectacularly good developer when I started this. Today? Perhaps just a very good one because development turned out to be 10% of the job. You will wear many hats and some of those hats you will absolutely hate. You thought all you'll do is make state of the art software? Yeah, and you will also do sales, website, marketing, customer support, accounting, taxes. You will be exposed to all the shit you were blissfully unaware exists in business while at a steady job because it was someone else's job to handle all that. You will understand your past bosses much better.
All that said, I love the business I built. A beautiful lifestyle business for a quite a few years. It's a stable and growing business now, with a team of 20-ish people in 6 countries. We make great things, and have a great work-life balance.
You can do it, just don't sacrifice everything else. Nothing is certain but do your best. Always be kind to people. Remember to take care of the family first. Be there for them, spend time with them. Kids never grow up twice - what you missed, you missed for good.
A bit off-topic, bit hiring exceptional .NET developers is like searching for a needle in a haystack. Way more people have a ton of experience with JS and marginal experience with .NET, just writing very basic API endpoints - yet claiming serious experience.
If you came to me for an interview, your story would have been a breath of fresh air. So maybe try to mention it anyway, someone will be interested.
I've managed big .Net teams. 99% of .Net devs are very, very average. Just crunching out lines of code with little care for quality, performance, readability etc. The best .Net dev I ever hired didn't know a single thing about it; brought him in as the most junior role to tinker with some HTML and within two years he had massively outclassed me.
A lovely language with an incredible web framework (Phoenix, LiveView). However, not easy to pick up for people with only imperative programming experience.
I had to switch my project to .NET in the end because it was too hard to find/form a strong Elixir team. Still love Elixir. Indestructible, simple, and everything is easy once you wrap your head around the functional programming.
As someone who has spent my whole career in somewhat niche things (ROS, OpenWRT, microcontrollers, Nix), I think the answer for how to hire for these is not to look for someone who already has that specific experience but rather look for someone curious, the kind of person who reads wikipedia for fun, an engineer who has good overall taste and is excited to connect the dots between other things they've learned about and experimented with.
Obviously that's not going to give you the benefit of a person who has specifically worked in the ecosystem and knows where the missing stairs are, which does definitely have its own kind of value. But overall, I think a big benefit of working in something like Elixir, Clojure, Rust, etc is that it attracts the kind of senior level people who will jump at the opportunity to work with something different.
And what happens when I’m looking for that next job? I haven’t interviewed for a pure developer job since 2018. But the last time I did, I could throw my resume up on the air and find a job as someone experienced with C# and knew all of the footguns and best practices and the ecosystem. I’m sure the same is true for Java, Typescript, Python, etc.
One nice side effect of having done this is having a small rolodex of other people who are like that.
So, like, if I had a good use case for Elixir and wanted a pal to hack on that thing with, I know a handful of people who I'd call, none of whom have ever used Elixir before but I know would be excited to learn.
Yes, same here. And that has come in very handy more than once. But my merry band of friends isn't getting any younger, I think the youngest in our group is now mid 30s or so, the bulk between 50 and 60.
Postgres is a better choice for 99% of the companies out there. But there are cases where you need ability to massively scale AND control your database cluster perfectly.
Postgres won't even let your force an execution plan and ignores hints (yes, there is an extension for that) so your optimized query can at some point just 10x in execution time and increase load in production when the plan changes.
In Oracle, I am told you can prioritize certain queries at certain time of day - it's crazy what it can do. Yes, it's slow and expensive. If you have money to throw at the problem, it's fast and it solves your problem, whatever the scale. Their Exadata cluster, for example, is wicked fast storage layer pre-filtering the data it sends to the database.
Of course, I despise their business practices - especially the abuse of customers via audits. As a database, it absolutely has its place regardless of lobbying, corruption, and whatever else they are doing.
> Postgres won't even let your force an execution plan and ignores hints
Finally, an actual technical argument. I agree that PostgreSQL's absolute insistence on trusting the query optimiser to Do The Right Thing is weird and annoying (despite being sound general strategy). It even seems to contradict its own general spirit of being on the whole extremely customisable -- you can make your own data types, operators, indexing data structures, complete scripting language plugins... but not, ya know, a way to 100% guarantee that this here query will use this here execution plan.