Here you go below what's acceptable by HN's civility rule:
> The CEO of Freelancer.com is a complete jerk.
And here the bottom falls out altogether:
> gossip going round that the CEO had sex with a female employee and she got pregnant
Please don't sling mud like that here, regardless of how disgruntly you feel or how justified your grievances are.
This. Just yesterday, I was asked by an interviewer at a Startup. "How do you test your code? Do you write tests? What's your familiarity with TDD."
My answer: "I prefer to do a test driven approach. However, none of the companies I worked for allocated time for writing tests in the sprint, so I have not been able to actually do this in practice. I usually debug my code and run it through all the happy path and edge cases."
Was bitten once very early in my career just like OP, and decided to only write tests after initial coding, if there was time left. Most (not all) Companies expect you to do TDD, but never allocate time for it in the estimation. So I've made it a point to ask the PM if there was time allowed for writing tests in the estimate, and if they say something like "Oh no we don't have time for that" I don't do it.
I don't really mention tests to my management. To me, they are just part of coding. My coworkers don't mind, they are happy when maintaining or changing my code that they have tests for support.
I've adopted your same approach. I don't mention testing, but I'll be damned if I'll ever write a piece of code without it.
The light-bulb moment for me was when I realized that testing happens one way or another. Either you're in the console manually setting up and running everything... or you could just write a program (a test) to do the same thing for you. Once I realized that, I never looked back!
What I'm saying is if we accept the company's viewpoint as truth -- I don't -- then you'd just be writing code and handing it over. No testing. No execution. No nothing. But if you have time to manually test the code, then it sounds like you have time to write automated tests.
Now, I'm with you, these tests aren't going to be beautiful or well-factored, but they'll be helpful to you, right? That way you don't have to manually test the code over and over again.
On the other side of the coin, I've taken on the practice of including time necessary for testing in my estimates (as an employee and contractor). If a manager doesn't want to accept that, then they can fire me, because that manager is fully incompetent -- no ifs ands or buts. As a professional, I need to operate with a test-driven approach. It's the only way to deliver complex systems with confidence.
Testing happens one way or another.
It's always been obvious that freelancer had no test platform and that they would simply push releases to production and wait for things to break, and then maybe fix them.
The most interesting lesson from this was that this attitude has no apparent downside. Users either don't care, don't even notice, or sadly, may have no choice given that there are not many sites that fill this niche.
The company went public a few years ago, investors have no clue as to what's under the hood, and tbh it doesn't seem to matter much.
It's interesting to see what freelancer is doing now that they are accountable. Me, I think it will be more of the same.
Btw Im not saying they arent toxic, they sound like pieces of shit. Just pointing it out more generally.
Also this is a company that handles business transactions; high-value stuff; there should have been more tests.
Seems like they're a better fit anyway for the company of "move fast and break things".
As I suspect afflicts many companies, when I joined it was struggling with the transition between "hack something together so that we make some money" and "we need to care about the long term". Not to mention the usual small-ish company disregard for HR niceties. It didn't finish that transition while I was there - and may still not have - but I mostly had a good time (worked on a huge variety of stuff, and even wrote a bunch of tests).
Also, though there were other factors, I think the primary reason retention was low is that Freelancer's hiring policy was geared towards 'cheap grads', so people tended to leave for better paying positions elsewhere.
PS Hi Jon - sorry you had that experience. I wasn't privy to exactly why you were let go.
PPS And yes, I think there were definitely parts of Freelancer which were (IMO) far too focused on making money without caring about the customer experience. On the other hand, capitalism (argh).
They treat developers like crap - Both those who use the platform and those who work at HQ. They fired me after 1 month during my probation because I was too slow to implement a feature because I was spending extra time writing tests. I remember the tech director telling me "That's not the kind of engineering we do here" after I tried to justify why tests were important. Several of these horrible people went on to work for Facebook later.
The CEO of Freelancer.com is a complete jerk. A few years after I had gone, I spoke with engineers who used to work there and there was gossip going round that the CEO had sex with a female employee and she got pregnant. He also hired his friends in top positions; some of which were utterly incompetent. Some of the CEO's favourite employees got drunk during work hours in front of the overworked engineers.
Employee retention was very low.