Double your rate for each new client until you can't go higher and get work. Then back off in reasonable increments until you have just enough work to be happy.
I work in biotech. Companies don't blink at anything. $3,000 / day? Yup. No problem.
Money doesn't mean anything to a company where the entry price is 15 years of infrastructure build and raw materials that run in the millions if not billions. If it does, you have a braindead manager, so move on.
I am a recent grad, talented I like to imagine, with an opportunity to do some consulting. If I know I can make X/hr elsewhere fulltime, is the 2.5-3x consulting/contracting rate still applicable, or does that apply to senior developers?
Regardless of level, you have to charge 2.5-3x to make up for the additional taxes you're paying, the benefits (health insurance, etc) you now have to pay full price for, and the inevitable gaps between contracts where you won't be making any money. Whether that bill rate is attainable varies depending on your skills, market, etc., but if you can't get that rate, then you're probably financially better off at the hypothetical fulltime job.
Isn't there a story about how a certain wine nobody bought but once they jacked up the price, its perceived value was higher and people thought it tasted better and it sold more?
I think the hustle mentality is a different issue, and I would be very hesitant to conflate the two or to entangle them in some way. It is unfortunately common, in my experience, however I hope you are looking for something else.
In my experience (20+ years of writing software professionally) I've never built an automated test. I've never used an automated test.
My preference is to write code and push it straight to production without even debugging it. tested afterwards, certainly, but if you're in such severe doubt that you're going to ruin the system, you need some serious code review.
My strong belief is that you cannot test your code into goodness, that is something that only a person can evaluate. By making myself better at coding, by not relying upon something else to make my code good for me, I am way more efficient than I could be otherwise. Given, this may limit the types of projects that I engage in, and certainly changes the project flow. However, when I look at my productivity as compared to others, I don't find any problems in my method.
Only human eyeballs can find some problems, despite how many cases you throw at something with automated testing.
> In my experience (20+ years of writing software professionally) I've never built an automated test. I've never used an automated test.
That has to be quite an outlier. How do you find teams and managers that accept working like that? What's the failure rate of bugs found in production, and how much value at risk are we talking here?
I've written plenty of systems where automated testing was infeasible or useless .. but we always did manual testing before shipping.
(At the other end I've done IC design where if a mistake isn't found it's another £25k at least plus staff time to do a re-spin, so obviously we had automated tests with near 100% coverage)
If you've taken the view that testing adds no value, based on no personal experience, it will be hard to convince you otherwise.
But it's pretty well understood that tests are not a substitute for code reviews and vice versa. If that's your impression of TDD advocacy, I'm glad I could update it.
Basically nothing down in database-land has changed, from what I can tell. Added features, but everything in those languages is designed to be backwards compatible (unless you're talking PL-sql, which has had some major shifts, to bring it in line with the rest of the world). And that's having done database stuff since Paradox for DOS and Access 2.0 (I think - might have been 3, but ... ancient days, anyway).
For the rest of my stack, it's mostly Visual Studio, and it's shifted a bunch over those 25 years:
VB5 -> VB6 -> VB.NET until .NET 2.0 -> C#
Whatever changes there have been in HTML & JS, I've gone through, plus some of the DHTML weirdnesses that came along the way.
I'm going to say that, other than databases, there's about the same amount of needed change. And even with databases, those do change, in that you might want to get a bit more of a life and use something other than MSSQL for a change, which amounts to such a shift as the others have been.
I am always conflicted when I see something in here linking to globe n mail, particularly when the article is basically utter garbage, without any amount of research involved in it whatsoever. While there may be truth in there, it is certainly not worthy of even scanning the piece.
I had been a consultant for a long time, started my own business, built teams, etc., but mostly independent. I decided to move down towards Silicon Valley & to do that I took a full-time job, rather than consulting.
The problems for me were the chaos and ambiguity, coupled with pressure.
I took on responsibility because there was nobody else to do the work & the work had to be done, but also because that's been my work experience: part of being that Principal Developer or Architect is being the backstop, to catch all the crap that the team can't handle.
I was told to 1) design and execute an ETL migration from the ERP system that they've purchased (and we're already about 6 months late), and 2) do an upgrade on a fragile system that'd been a piece of shit for the past 20 years, and which they expected to get done cleanly in a couple weeks.
I tried.
I worked over a month without rest, fun, friends, blogging, fiction reading, sex, church, or music ... waking in the middle of the night to start again, nap, repeat.
Naturally, while I was doing that, I was feeling like shit. But, I wrote it off as maybe just something off with my diabetes meds (repressing the issues rather than dealing with them). I developed gastritis. I had an endoscopy, colonoscopy, ultrasound, hoping to find some physical reason for this rather than this being me working myself to death.
There were more than one of me, at one point, and I'm still feeling like someone got into my head with a blender and just stirred it all up. For weeks, I was trying to figure out (at home) why the fuck I was so weird at work, and at work I was trying to figure out how to access information that I'd apparently decided I shouldn't have because it would upset me. I had compartmentalized, and created a persona to endure the misery that was work (but, hey: because it was made of me, it had some sense & started wondering why it was a fucking idiot).
I've been out for a month, on medical leave, seeing a therapist. I have chills, night sweats, hot/cold, tingles. My memory wanders. There are huge chunks missing, or ... hiding (and I'm letting them be, in hopes they'll come back). I have random panic attacks and - bonus! - I get one with every single meal, because of course the vagus nerve is in there somewhere, as is gastritis still (healing), and the vagus can do that sort of thing to you.
I get distracted and have to tell myself that, no, I'm not looking for a new job right now, that I need to take the time to heal.
I wake up at 3 in the morning in a panic and have to tell myself that, no, I don't have any work that I should be doing.
To come back from this? Lots of therapy, I fear. And time. And to figure out how not to be a workaholic.
Oh: the projects failed, of course. That's part of it, as well, because naturally I'm a perfectionist and an overachiever and a people-pleaser. So, yeah.
Nobody could have broken me more thoroughly.
Oh. Because I use different mental states to code, and I've built those to be triggered by music, I've helpfully got a whole music collection full of pain and misery, on tap!
I would ask whether they would like a future employer to know they'd Googled the address of a Marijuana dispensary. Or their employer to know that they'd looked at [insert kink here] porn.
Not mine, but one I ran into. This is on an automated testing rig for microwave devices, which are odd things - you don't have wires for microwaves, you have wave guides, which are basically tubes which you can pipe the microwave through, and which are incredibly fiddly to get situated properly. So, to test one of these things, you're likely to get a failure and not have any discernible reason for it failing - you'll tear it down and not find any problems, put it back together and it'll work just fine.
Well, the engineer writing the test code knew these devices were odd, and that sometimes they'd just fail. So, s/he put in an if block to the effect that, "if this fails once, run the test 30 times and, if it passes 25/30 times, call it a pass." So, every now and again, the entire automated testing line comes to a halt and sits there for 31x the amount of time it should take, and it's not a short test (maybe sat there 30 minutes each iteration).
With addons which disable user agents, referrers, and other details, and by disabling Javascript, you can nearly achieve this with Firefox and Chrome. I've noticed that some website refuse to serve content without a user agent.
The nice thing about doing it like this is that the file persists on disk so viewing a page is decoupled from fetching it (which is nice for a lot of reasons.)
Indeed. One addition to this: retirement isn't about quitting working, it's about having the OPTION to quit working, which means that you can pick and choose the kinds of positions that really interest you, or that have some social value, or whatever - you don't have to be a wage-slave any more. You can achieve this by following the Mr. Money Mustache thing & basically deciding that the you 10 years from now will like you a lot better if you do it.