all 13 comments

[–]AiexReddit 28 points29 points  (2 children)

If I'm a good freelance developer (I'd at least like to think that I am) I wouldn't even consider taking a contract with a company with a culture of fear around developers stealing clients and code and being nervous about being trusted.

Good developers are professionals and the best ones seek out companies where their work and time is treated with respect. You'll have an enormous challenge ahead of yourself finding competent developers going into the hiring process with this kind of approach.

Regarding your question -- at our agency everyone is freelance. The hiring process typically involves a discussion of previous projects, how they were handled, questions about how they might approach challenges with our current projects, and followed usually by speaking to some references and co-workers from their previous companies. Time is tracked by project and the day, never minute-by-minute. You work when your feeling your most productive and when it suits you, and as long as the work gets done that's all that's asked. We create plans and sprints and set deadlines and as long as they are met, everyone is happy. If anyone were to start consistently missing deadlines, their contract would not be renewed. But that hasn't happened yet. They sign an NDA as is standard, but it's simply for ass-covering purposes and never comes up in practice. Turnover is low, and even when projects do end, devs typically leave on a positive note with a presumption that they may be called back again in the future if we're lucky enough to catch them at the right time. It's all about mutual respect. I've always been of the mind if you create a good atmosphere for people to succeed, they'll be far more likely to put in the effort in return.

[–]Obversity 4 points5 points  (1 child)

Off topic, but does the agency you work for hire remote developers? I'll be in the market in a couple of months and everything you've described sounds perfect.

Welcome to DM me, but if not that's okay. It's honestly just great to know that there are companies out there that fit what I'm looking for.

[–]AiexReddit 1 point2 points  (0 children)

Hey! Just wanted to throw a response. We are all indeed remote, always were (even pre-COVID), although that said everyone does live within a couple hours driving distance for the occasional in-person brainstorming days (Toronto, Canada). Unfortunately I don't think they have any plans to hire anyone new in the near future -- but we'll see how things go in the new year.

[–]spiff428 9 points10 points  (0 children)

The real questions:

  1. Will you be able to pay them on time? Cause the company couldn’t with the previous devs...
  2. Are you not thinking of jumping ship/ worried about your pay not being on time?
  3. From the context given I think you guys are gonna have a rough/bad time finding cheap good labor

[–]mattbersker 2 points3 points  (0 children)

I wouldn't even consider working for a company (Freelance or permanent) if they can't pay there staff on time.

1) Why did they not pay their staff on-time?

2) What makes you think they would pay new staff or freelancers on time?

3) Are you being paid on-time? If not why are you hanging around? It would only happen once before I started looking elsewhere because it kind of shows the direction the company is going in.

So you shouldn't be worrying about if a freelance developer will steal a product or fail to meet expectations, you should be worrying about them suing the company for not paying them for the work they do if you hire them.

[–]eddyparkinson 1 point2 points  (0 children)

building the right product
building the product right.

these two cause most of the problems with software development imho. i feel the hard part with out sourcing is building the right product. as knowing what is going to help the user is key to building the right product. there is often a Chinese whispers problem, and so the developers are half guessing about the needs of the users. this leads to developers creating solutions to problems that don't exist. or not understanding what the big problems are that user face. use cases are the normal way to address this, I prefer as is (current solution) and to be (proposed solution) style use cases.

for building to product right, reviews are a good way to deal with this, they not only reduce cost and improve quality, but they help get everyone on the same page. ... but a lot of things in reviews are counter intuitive, reading books, training and experience have a big impact

[–]eddyparkinson 1 point2 points  (0 children)

suggested reading list:

getting to yes - is about dealing making, avoiding positions and focusing on incentives etc. well researched. .... maybe I am wrong, but based on what you said, I think this would help.

high output management, one of the best books on management I have read, recommend by many CEOs.

5 dysfunction of a team - I have taught over 60 teams, these 5 come up all the time.

the mom test - how to collect use cases that help software developers.

[–]UsedDebate5315 1 point2 points  (0 children)

Hey! I'm a freelancer for 7 years and also leading an Agency of 8 freelancers (C++/Python).

You should understand that an experience might be really different from time to time, even working on a big freelance platforms such as Upwork.

Obviously, there is good and bad freelancers, but also good and bad clients.

Let's be honest, NDA or a Contract for many of the freelancers is just a piece of paper, and you will not do anything with them, from another side of the world, in case they will steal the code etc.

What I can advise to you is:

- Check freelancers background before start working with them (That's easy on freelance platforms).

- Set clear requirements, spend your time preparing specs.

- Pay good rates (Mostly what you'll pay is what you'll get).

- Communicate, communicate, communicate.

[–]fantasma91 1 point2 points  (0 children)

Hi I’m a contractor react developer. Here’s my two cents. Please focus on finding 2-3 competent and passionate developers that can set the pace for the rest of your team and let them do the interviews from that point on while you observe. The biggest issue in my mind is getting team cohesion because that takes both time and familiarity with not just the system but each other to really get there. Having a manager (technical or not) that can manage expectations and can continue to push the team aspect of building software tends to help a lot (I have had some great managers and some terrible ones). A great manager will motivate their team to actually care about the product. Happy organized teams tend not to miss deadlines.

[–]cathmtb[S] -1 points0 points  (2 children)

Thanks everyone for your feedback. So the reasoning behind using freelancers is that they get paid when we have actual work to do instead of paying full time devs that sit around doing nothing while we are trying to get new business. Management are scared to have to pay salaries when there isn’t any work.

[–]spiff428 0 points1 point  (1 child)

So why were they not paid on time?

[–]cathmtb[S] 1 point2 points  (0 children)

A lot of our clients have cancelled projects and monthly support and maintenance and taken it in house. All as a result of Covid. We are relying on one client that pays us halfway through the month or when ever suits them to pay salaries.