One of the most interesting problems early-stage startups run into is when to actually invest in marketing.
There's no one size fits all answer, but there are tested and true approaches. Most importantly, if you're a founder or early employee, the starting point is to assess where you are...
"We are working on an idea and have some early customers / users of our product"
"We have a company that’s making money (revenue positive) on a consistent basis, and has a clear business model and path to growth"
For early-stage startups, outsourcing marketing is almost always a mistake. This is because you haven't identified your market(s), and built enough of a community or customer base to withstand changes.
Rand Fishkin of MOZ, recently published a deck on all the ways startups suck at marketing, and how to avoid them. In some ways the conversation is similar to hiring a sales team before you're ready to scale: you have to actually do the work yourself first.
But the crucial point Rand makes, and that many people miss when they're busy encouraging you to outsource your marketing, is that marketing in a startup is a mix of strategic and tactical work.
If you look at startups like Airbnb, you can see that early on they grasped the importance of experimenting in-house first, before outsourcing. The content, community, and brand that you build is a serious part of a company's IP...just ask the co-founder at any startup that is/was the de facto product manager.
An idea like Airbnb idea always looks brilliant afterward, but the person figuring out the marketing early on in a startup is also by definition forced to grow a community, acquire customers, and validate what works and what doesn't...AKA, develop the strategy and tactics that will stick around for a long time.
Often, when you outsource marketing before you have a system, process, or strategy for balancing growth hacks and tactics vs. strategy (incl. long-term narratives, stories, design considerations etc.), you end up making poor decisions, and wasting money.
This is particularly true when it comes to paid ads via Facebook, Instagram, Twitter, and other channels. You may get clicks, views, and downloads, but when people arrive at your product or online channels there isn't a reason for them to stick around, no way for them to connect to you beyond the initial transaction. This becomes a problem when you change the transaction or pivot your company. They will never tell you they don't know what you're about, but they certainly notice.
If you or someone you know is a founder trying to figure out where to start and/or how to quickly work up a system for early-stage marketing, there's a bit more info here that you can steal/borrow/edit, under "Marketing from scratch, for startups" ---> Google Doc: Frameworks for creatives / entrepreneurs / startups.