Author Topic: First Paid Python Script!  (Read 4407 times)

Offline rwill128

  • Bot Builder
  • **
  • Posts: 67
    • View Profile
First Paid Python Script!
« on: July 02, 2013, 09:18:08 PM »
Hey all,

This is an odd question, but I've got my first chance to actually do some paid programming work (ever) and I have to know that I'm capable of solving the problem he's laid out for me before I accept the project.

I'm going to look like a complete math beginner here, but after looking over his description of the basic problem this function needs to solve, I still have some questions. I'm hoping you guys can give me some insight into what his instructions mean, because I understand them like 80% -- and I'm not sure whether the last 20% is missing because I'm not qualified or because his instructions are confusing.

-----

To solve this type of problem laid out in Doc1, even if it were much more complicated than the example, I'd still just write a function that sums the distance over various aisles (the "P sub M"s) for each combination of picks (i.e. each element of K*) and then picks the lowest possible summated distance (finds the lowest value of P). Correct?

As long as I know the probability of each aisle being chosen and he gives me the function or information I need to determines the distance for each aisle, it should be easy. The only inputs for the function would be M (number of aisles) and N (number of picks), correct?

I'm not sure I have everything figured out right, but I'm willing to work very hard and fast to get it figured out. (On that note, how does "h" feed back into the equation. It says to find E[P] for a given value of h, but then h doesn't reappear later in the description. I'm afraid I may be misunderstanding something.)

If you're able to give it a quick look over I'd really appreciate it.

Thanks

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: First Paid Python Script!
« Reply #1 on: July 03, 2013, 12:54:08 AM »
The problem definition is really weird to me.  It almost reads like a textbook problem.  I've never seen real-world work laid out like that.

But yeah, I'm not sure I entirely get the problem, either.  Some of the notation is ambiguous without more context (for instance, is 'x' in the E[P] = ... formula meant to be simple multiplication, or something more complicated?)   It looks like he wants to calculate the expected value for something, but it's been forever since I did any stats, and I don't remember all the vagueries of it.

Especially for something like this that's very math based, I'd request a specific breakdown of the math involved until you get it down to simple arithmetic instructions.  Otherwise you're liable to misinterpret what they want.  (Don't be afraid to ask questions until the problem makes complete sense.  The mark of a good programmer isn't working in a vacuum; it's getting the client to tell you what they want (even when they might not know themselves).)

Offline rwill128

  • Bot Builder
  • **
  • Posts: 67
    • View Profile
Re: First Paid Python Script!
« Reply #2 on: July 03, 2013, 06:26:14 PM »
I'm glad you agree that the problem was extremely strange.

He was apparently a civil engineer (whose first language is not English) who wanted a script to calculate the amount of time a person would spend in store as a function of how many aisles they went down and in what combination they went down the aisles.

It was a weird problem.

---

I explained my interpretation of the problem and also explained that the definition he gave wasn't clear in some ways. He said I had a basic understanding of the problem, and I asked him for more information because I didn't think the problem would be too complicated for me to solve once I had the specifics nailed down.

We exchanged a few more messages, and I got to the point where I asked him what the inputs of the function would be and what the outputs of the function would be (as well as how he wanted the output data to be stored). He seemed to get agitated at this point, and questioned my ability to provide a "professional" solution. I reassured him that I'd be submitting quality work and I also offered to lower my hourly rate, since I'm not very experienced.

Then he said that he'd give me a second chance, but his communications had been deteriorating for several messages now. He was impatient and not specific -- bordering on rude -- and he also said that if I took the project I would definitely not be able to bill him for more than an hour and a half.

So I decided not to accept the gig. But I've been really digging into the freelance writing I do right now -- mostly technical writing. Last night was the first time I tried to get hired for a freelance programming job. I figure I'll keep throwing out offers here and there because it's definitely something I'd like to get into. More fun (and I'll get paid more for my time, hopefully.)

---

EDIT: I think he mostly questioned my ability to do the work because I haven't customized a resume yet that really showcases my skills as a programmer. I also undersold myself by offering to work for so cheap. I basically didn't come across as being confident in my abilities, even though I thought I had the skills to do what he needed done. Not necessarily a big loss, though. He might have been a real bear to work with.
« Last Edit: July 03, 2013, 06:29:11 PM by rwill128 »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: First Paid Python Script!
« Reply #3 on: July 03, 2013, 08:16:38 PM »
Sorry it didn't work out :/

Yeah, I wouldn't offer to lower the hourly rate when negotiating after you've tried to start on a contract.  It feels weird if you haven't worked as or with a contractor before, but you have to treat time working on the problem, whether actually programming, communicating with the client, outlining stuff on paper, or whatever, as equally billable and valuable and track it all carefully, and not sell yourself short.  In a professional setting, even if they don't like the work you did and you're total crap at it, they are supposed to still pay you for your time.  (That's why you want to communicate with them regularly; it gives them outs in case they get cold feet, and ensures you're more likely to get paid for time you actually spent.  You can refuse to do work on the next phase until they've paid you for the work you've done so far).

When you get a whiff of hesitation from the client side, it's usually an indication that they aren't very experienced hiring programmers/contractors in general, and you'll want to be wary of completing tasks in good faith; often you just won't get paid at the end.

The other option is to negotiate a flat fee, of course.  That gives you more leeway if you aren't confident in how long it will take you, but it puts you on the hook if the problem is harder than first advertised, and the client might decide to add additional requirements and expect you to implement them without any additional payment.

To find work you could try a middle man site.  I think I looked in to Guru once upon a time, and it looked legit.  There's probably some other similar sites.  It makes it easy to find projects of a small enough scope that you feel you can complete them and get your feet wet.  There's the added benefit that sometimes the site will handle the actual payment from the client, or even keep the cash in escrow.  Even if you go it alone, finding someone to escrow for you might not be a bad idea.

I guess my primary message is: be really paranoid about getting paid and keeping the client informed (and having them inform you).  I've heard a lot of horror stories about people doing work for a client and not getting paid.  Most people aren't good at communicating what they want, and when suddenly the price tag is a hundred dollars or more and the prototype the programmer shows is terrible and not even close to what they want, most people panic and try to just pull the plug on the whole thing and forget it.

Offline rwill128

  • Bot Builder
  • **
  • Posts: 67
    • View Profile
Re: First Paid Python Script!
« Reply #4 on: July 03, 2013, 08:38:18 PM »
I'll try out Guru perhaps at some point. I've actually been doing freelance writing work through a few personal connections and eLance, so I'm familiar with what you're talking about. Luckily, getting paid on eLance seems to be pretty easy so far.

You're right though, I think I'll try to negotiate a flat rate next time. These projects will take me longer than they should at first, but if I keep going with the flat rate it's much more beneficial as I get better. If I go with the hourly rate, I get paid less the better I get at my job! :-/

It's easier to negotiate a flat rate with writing because I'm familiar enough to estimate how long it will take. I'll just have to learn as I go with the programming. You're right though about people trying to add specifications onto the project after an agreement has been made. I'm usually polite and firm in telling them that they're changing the terms of the project, so I'll need to reflect these changes on the invoice. In the past that's worked out for me well (with the writing at least).

Offline rwill128

  • Bot Builder
  • **
  • Posts: 67
    • View Profile
Re: First Paid Python Script!
« Reply #5 on: July 04, 2013, 04:15:53 PM »
New development. Thought I'd share with you.

Someone else found this paper online: http://www.acsu.buffalo.edu/~batta/iie.pdf

It looks like someone was wanting eLance freelancers to do their homework, or maybe even their job.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: First Paid Python Script!
« Reply #6 on: July 05, 2013, 07:12:14 AM »
That's even weirder.  Why wouldn't they just link the paper and say "can someone implement this for me?"

Offline SlyStalker

  • Bot Destroyer
  • ***
  • Posts: 132
  • nomnomnomnom
    • View Profile
Re: First Paid Python Script!
« Reply #7 on: July 31, 2013, 04:23:10 AM »
What company are you working for?
Knowledge is knowing that a tomato is a fruit; Wisdom is not putting it in a fruit salad.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: First Paid Python Script!
« Reply #8 on: July 31, 2013, 11:47:11 AM »
He is not, he is a 'free lancer'
Although, I think there are management companies that handle free lancers, idk.