They cannot jump ahead of you except by offering a better price.
I wrote a blog post a while back that explains the mechanics of matching engines, you might find it helpful: http://www.chrisstucchio.com/blog/2012/hft_apology.html
There was a big trade for a while where people had different account types. the CBOT matching engine, for example, had customer orders prioritized over marketmaker or firm, so customers actually COULD jump the line.
Some companies had customer accounts specifically so they could insert orders in higher priority in the queue (the tradeoff is that customers pay for CXLs, but you can just do the math to see when you should be using which account)
to @panarky of the comment, its not on the order of microseconds -- the stuff people used to rip on were flash orders, which are exactly 30 milliseconds.
So @panarky has a bit of a point about knowing the order in advance, but its still damn hard to profit from it. The narrative of just front running trades by having order information in front is just not feasible because of the bid-ask spread (the flash orders are to try to help maintain some semblance of BBO consistency across exchanges)
So as yummyfajitas says, it's not possible to sell ahead (saying "short ahead" in that way exposes you as not really knowing the trade, btw) or buy ahead in a way that necessarily affects price.
If I'm buying, the HFT buys ahead of me and resells it to me at a higher price. If I'm selling, the HFT shorts ahead of me and buys from me at a lower price.
This isn't about liquidity or efficient markets, it's about gaming the system through preferential access to data and executions. It results in higher prices for buyers and lower prices for sellers.