TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Freelance Web Dev: Hourly or per Project?

7 点作者 peterbsmith将近 10 年前
I&#x27;m being asked to set up a website, facebook page and print materials for a fledgling consulting practice being started by an acquaintance.<p>My goal is to enter into an agreement where I am compensated at a price that is both fair to me as well as my client. I am not a freelancer by trade and I don&#x27;t have any established practices for what to do.<p>Do I charge $XX&#x2F;hr or do I estimate the total time I think it will take an charge based on that?

6 条评论

MalcolmDiggs将近 10 年前
In my experience (10+ years freelancing), you make the real money when you re-engage with a client. I tend to think of the first contract as just a way to open the door. So in that respect, it really doesn&#x27;t matter which way you charge... just make sure you do an awesome job and help that client earn a living from their website, so they can re-engage with you later for much larger projects.
nonameface将近 10 年前
I did a hybrid for my first freelance. I charged hourly, but because I was new and unsure still in my skills (and had never actually set up what they were asking for before), I set a maximum upper bound for the client so they wouldn&#x27;t be punished by my inexperience.<p>For example I charged them $75&#x2F;hr and estimated the job would take me 8 hours. ($600) I told them my fee was $75&#x2F;hr with a maximum cost of 20 hours ($1500) needed to do the project.<p>This gave them an upper bound for the maximum they would have to pay me so they could budget&#x2F;get approval. The job was small enough that scope creep wasn&#x27;t really an issue though.<p>I ended up charging them $800 as I forgot to include travel time to their location. First estimate was remote. I charged them full $75&#x2F;hr for my travel time.
randomuser321将近 10 年前
Hourly. I have done both. There is always and always scope creep.<p>For hourly charges, bill in block of, at least, 4 hours. I usually give client estimate, so they have some rough idea of how much project would cost.<p>I did fixed price in beginning of my career and always went over my estimates. Perhaps I was just too inexperienced.
briandear将近 10 年前
Hourly. I would never, ever do a project pricing again. You&#x27;ll get scope creep like you wouldn&#x27;t believe. Even if you have clearly defined requirements, the problem is that those requirements are never perfect, so they inevitably change as the project progresses (that&#x27;s the whole basis of what Agile is about.)<p>What you could do is this: you could &quot;secretly&quot; estimate the cost of the total project in terms of hours. Then you can decide how much you want to be paid for the entire project. Then divide that by the number of hours, giving you an effective hourly rate. Then you can quote that hourly rate for your acquaintance which perhaps a &quot;general estimate&quot; of how many hours it might take; don&#x27;t get too specific or else you risk painting yourself into a corner when things go wrong.<p>Personally, if it were me, I&#x27;d ask for a certain amount in retainer up front before you write a single line of code.<p>For example, if you think the project is worth $15,000 and you think it&#x27;ll take 150 hours, that puts your hourly at $100 per hour. I would ask for 10% of the project hours up front (after all, you are also incurring an opportunity cost by even accepting the job and there&#x27;s always the risk that you won&#x27;t get paid. Trust me on this! The most trustworthy people can often screw you out of money in the nicest ways.<p>So I&#x27;d say, &quot;It looks like, based on the requirements we&#x27;ve discussed that it would take approximately 150 hours to complete this project. That can vary considerably depending on any changes we might make as we make progress. I charge $100 per hour and require retainer based on the projected project duration (i.e. deposit,) which in this case is $1500 to start.<p>Our next payment will be due upon the completion of milestones that we both agree upon. For example, when your Facebook page is complete, etc. All hours that have been completed up until the milestone reached will be payable once we reach that particular milestone or every two weeks, whichever is sooner.&quot;<p>..or something to that effect. Even if it&#x27;s a close friend or acquaintance, do everything in writing, making it all crystal clear. I&#x27;d even use something like Basecamp (especially with their awesome checklists and milestones calendars) to manage it all. This will insure that your friend treats you like a professional and with that, you don&#x27;t get abused under the guise of &quot;friendship.&quot;<p>You certainly don&#x27;t have to do it how I suggest, but at least do the following:<p>1. Use a project management system, I suggest Basecamp, but there are others. 2. Get your agreement in writing. 3. Don&#x27;t commit to a project cost -- it will ALWAYS go longer than you think and &quot;one more thing&quot; adds up. The only exception to this is if you&#x27;re charging such an insane rate that you build the inevitable overruns into the price. 4. Get paid based on milestones or on a regular time schedule (i.e. every two weeks.) I recommend milestones because it makes the client feel better, but I personally prefer time-based. If you wait until the project is &quot;done&quot; to get paid, then they&#x27;ll have very little incentive to pay and a very big incentive to drag it out&#x2F;delay. Unless you control the server. Then if payment is 1 day late, you shut that puppy down until that money hits your account. If you do milestone payments and those payments are late, stop work and tell your friend, that you can&#x27;t continue until the payment has been made. Trust me on this. You will get abused if you let yourself. It has happened to all of us who&#x27;ve worked as freelancers! 5. Treat this project professionally. You&#x27;re getting paid as a professional, so you&#x27;d better deliver as a professional, regardless of &quot;friend&quot; status or not. 6. Keep accurate records of time. This is useful because it will give you data you can use later when estimating future projects.<p>Good luck! I hope that helped.
评论 #9698004 未加载
sarciszewski将近 10 年前
<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=3420303" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=3420303</a>
exclusiv将近 10 年前
Summary: since you are new, charge fixed but add buffer on your gut instinct. Referrals are amazing. You likely aren&#x27;t good at estimating, so you don&#x27;t want to have to come back to them later and ask for more money. That sours the relationship.<p>You have to look at it from both perspectives (yours and the client&#x27;s), the market price and your competition.<p>I&#x27;ve been doing web dev for 10+ years so I&#x27;m pretty accurate without having strict requirements upfront. I also make them understand that new scope is not a problem, but something must give - we change the way we do something else, remove another thing, or it will cost more. Most of the time we just compromise on low priority items. So throughout the development, I&#x27;m also managing a lot of pieces to make sure we end up near my estimate while remaining flexible to feedback and getting the client both what they need and want.<p>I&#x27;ve done very well fixed bid. It gives me an incentive to be more efficient. Clients need to know approximately what the all-in cost is at the end of the day. If you asked someone to build you a pool, you would want a fixed cost, even though there are some unknowns. Would you say, yes I&#x27;ll pay your $50&#x2F;hr with no end in sight? No, you would need to know a full budget. Otherwise - how do you evaluate multiple bids effectively?<p>I do time and materials for rescue efforts and maintenance. I can&#x27;t risk someone else&#x27;s code killing my margins (and them claiming stuff used to work and now it doesn&#x27;t). They will try that.<p>If you know your competition - they may be inflating hours at a low rate which can look good to a client. If you do hourly, they might not understand that your all-in cost is likely lower than the more junior competition. However, if you are both under a fixed scenario, you could be $8k and they could be $7k. The client can fluff out experience and you can still win even though you are more. You can probably do it quicker for a little more if you are more senior. If it&#x27;s hourly and you are $100&#x2F;hr and they are $35, it can be very hard to compete. Then those low end devs nickel and dime the client to death over the course of a year and the client comes back to you.<p>If you aren&#x27;t good at estimating, you should do fixed and buffer your gut instinct a little (1.25 - 1.5x) when you traffic the numbers. Then you won&#x27;t have a client who feels burned if you end up spending way more time and $ from your estimate.<p>Never do a capped bid but only bill for hourly. Some sneaky clients will try to get you to do this. Someone always bears the risk. When it&#x27;s fixed, you bear the risk. When it&#x27;s hourly they bear the risk. Whoever bears the risk deserves any upside. They don&#x27;t get to have a cap which hoses you if it takes longer and also pay way less if you are super efficient. Seems simple, but most people don&#x27;t understand this.<p>briandear makes some very good points about billing. I&#x27;ve also seen clients prevent milestones from happening in order to delay payment. Ask for 50% upfront and the rest on a timed schedule. You can always settle on payments in thirds or some other fair structure.<p>Scope creep can be prevented by you however. Clients don&#x27;t understand how development works and they aren&#x27;t good at hitting deadlines like seasoned devs. When they say &quot;can you do this little thing?&quot; - you never say no. You just say, this is outside of the original scope and in order to maintain schedule, I&#x27;d like to put it in a &quot;Nice to Have&quot; bucket. Then you fit in those nice to haves at the end if time permits. If time doesn&#x27;t permit, you have your next month&#x27;s maintenance effort ready to go. I&#x27;ve put a team at a large automotive company on a Trello board and told them to:<p>1) File &quot;Nice to Haves&quot; appropriately 2) Only log items into Trello. Any emergencies should be made by cell or text. I don&#x27;t want email requests. 3) Maintain the tickets in priority<p>They love it.<p>You have to program them into YOUR process. Otherwise they will own you.<p>I have no idea on your skill-set but from what you wrote and the scope, I would guess the market would be somewhere between $30-50&#x2F;hr if you boiled the project down hourly.
评论 #9698147 未加载