Since Google died I've been using selfoss. I haven't / hadn't been able to find the social features, and selfoss was just straightforward and solid.
HN user
davimack
http://stackoverflow.com/users/6850/david-t-macknet http://www.linkedin.com/in/davidmacknet/ http://hobbitsabroad.com/ http://www.flickr.com/photos/wishiwerebaking/
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 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.
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).
A truly obfuscatory browser: one in which everything sent to the server looked the same, regardless of which user, region, etc.
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.
I've had friends move to the Netherlands & definitely they have more disposable income than I do. I've also worked in the UK (Scotland) where I made a hell of a lot less but where health care and prescription drugs were 100% free - that bit right there saved me 25K / year.
If they've established a corporation on their end of things (known as a "sole trader" in the UK), then you can just send them a 10-99 as per usual, because you're paying a corporation, not a person. I have done this with a contractor in the UK and my corporation is in the US and had no problems with it.
--edit: this is my personal experience and may not be used as tax advice in the legal sense--
Responding to the contractor vs employee thing: I've run into people who manage to remain employees while doing the digital nomad thing, but they maintained "residency" back in their home country. It just requires that your employer be in your home country, not elsewhere.
Well, personally, I tried to escape by going and getting a Master's and a PhD. Unfortunately for me, I didn't bother to really LOOK at academia as a career path, so when I finished and started looking into it ... well, it's pretty crap, being an academic, no matter which country you're considering. Also, academia only considers the work you've done post-PhD as being of any worth, so I'd be competing with kids who'd gone straight through, rather than those who'd spent 20 years in industry first.
I've considered a wide variety of things, but always come back to this: if I keep on saving at my current rate, I can not have to make any profit whatsoever, whereas if I start out now with something (a bakery, say), then I'll need to keep on making a profit, so that I can retire some day. I've got another 10-15 years in software and then I'm done and can do whatever. Check out http://www.mrmoneymustache.com/2012/01/13/the-shockingly-sim... to figure out where you land on that scale.
I love how this conversation devolved into pedantry, honestly. Worry about the a/an usage, don't address the root issue, why don't you. Yup: programmers are grammar nazis.
Domain gets tagged as distributing malware by my work's security system, FYI. Dunno what list it's gone on, but it's there.
About 200 different feeds, so knowing what you're looking for would be good.
I use Brief on FireFox with Live Bookmarks. Let's me control frequency of downloads, navigate using keyboard, etc.
A Microsoft Access 97 database (written in 1997) is still the "system of record" for all instrument wiring diagrams within the biotech plant. I was recently asked to review it (19 years after I wrote it) and to develop a step-by-step for how to add reports to it. To put this in perspective, this biotech is the largest in the SF Bay Area, and the plant represents roughly 1/2 of the world manufacturing capacity of this type. And its single source of truth for how things are put together is a Microsoft Access 97 database.
So, on the basis of once having taken an IQ test that you found not problematic and after which they hired you, you feel good about them. That's great. Sample size of 1, obviously it must be unquestionably a good thing.
If developers aren't evaluated as people, but as units who are expected to hit some threshold of "intelligence," then that says something about the company asking you to take the test.
If everybody who tested well included everybody who was intelligent, or able to code well, you might be able to use it as a proxy. If not, you're missing out as a company.
The students who achieve the highest grades in school aren't those at the peak of the IQ range - they're the ones who actually have to put in the study time to learn the material, rather than cruising on previous knowledge. Do you want the person whose IQ score is better, or do you want the one who will do the work? If you want the better IQ score, what will you do to get them to perform when asked to do what might be regarded as drudgery?
Or are you saying that they give IQ tests to screen out the really bright bulbs, so as to isolate those who are willing to slog through whatever they're given?
"If they give you an IQ test or similar, run."
Amen. IQ tests, or tests to see if you're psychologically a "good fit for the organization," are a sign that they haven't a clue what they're looking for, they don't trust their own judgment, and couldn't identify a good developer in a million years.
As a proxy for developer performance, IQ tests are utter crap - but IQ tests are something that's intelligible to your run-of-the-mill idiot manager, so they get done.
Psych tests are similar - they're saying that they can't figure out by talking with you whether you're a nice person or a psychopath. Which, OK, to be fair, psychopaths might hide it fairly well ... but if so they'd hide it well enough on the test, as well.
Totally agree it's down to how human they are towards you. If they're willing to see you as an individual vs. whether they want a new part of their machine.
I would actually approach this differently. I'd go back to whomever the authority is with regards to what the function is supposed to do, or to the spec, and then rewrite it from scratch. This won't ensure that it behaves as it does now but with a little bit added - it will ensure that it behaves as per the specification / user requirement. If the function is that huge, with just if's, it's very likely that it's buggy and that those bugs haven't been addressed. They won't be addressed if you duplicate the functionality in a refactor unless you can get a handle on the purpose of the thing to begin with. Scrapping it and rewriting it is not a bad thing - frequently, you'll make something much tighter if you do that.
(note: would be happy for you to have left the "offensive" word in - 2,000 lines of code for a single function screams for a refactor, and says that the original dev had no clue how to write good code. if the code makes you want to cuss, well....)
After having been asked this several times, I've begun to make it clear that I will only engage in these tests if I'm compensated for the time. It's a delicate thing to do, really, telling someone that, no, you're not going to work for free, just on the hope that you might get a job.
But it doesn't only happen in this industry: my niece is a graphic designer & has been asked to provide samples of her work on projects ... to the interviewer's specification. She's done it, because she really needed the work, but felt terribly taken advantage of, and I'd agree: it's predatory.
I have the luxury of telling people that, no, I won't take their 1) IQ test, 2) Personality Test, or 3) their Coding Challenges. Not everybody does, certainly.
The appropriate thing to do is to either state up front that you'd need to be compensated for your time, or acknowledge that you're giving away work as a way to possibly get in the door & just write the best solution you can write - not leaving it incomplete, necessarily, either, as that is a sort-of halfway position that makes you look bad.
Firstly, is this about the tactical objective, or what you'd do if you managed to get there?
If it's just the tactical objective, you'd need to find someone on the inside who would be willing and able to convince everybody else that you were the person for the job - and that includes the HR end of things as well. It would be easier, actually, for that person to sell a new position than to get you into a position which has the requirement of a PhD.
If it's the long-term you're considering, though, some of the other posters have pointed it out: you don't acquire the skills simply by reading about the subject (although reading about the subject is an immense part of the PhD). You must also contribute something to the subject, in a particularly rigorous manner - that creation, in other words, will be measured not simply by its outcome but by the process used and the documentation of that process produced.
The PhD isn't about understanding a field (that's a Master's). Rather, it's about understanding how to conduct research in a particular field, on top of having that mastery of the field. What you're seeing when you read papers is only the content of the field, not the process by which that was generated.
You have essentially said, "I've looked at a lot of paintings, and I really like paintings, and I know about different styles of paintings" ... but you have not painted.
Looks like the domain is fine. If this was intended as a joke, it lacked any humor whatsoever.
There's a fundamental difference: Billable Hours.
For a lawyer, if they put in 100 hours to come up with a 2-page letter, they charge for those 100 hours. The next time a client comes to them with a similar problem, they charge for 100 hours.
Software developers charge for time actually spent working on a particular project. If they reuse code, they don't (typically) charge anything. If developers were to charge for the number of hours spent writing that code they're reusing, they'd be more like lawyers.
Totally agree (also a successful English major / developer from the first boom).
A lot of what fascinated me was the underlying grammar and syntax of language and how, if you knew how to manipulate those symbols ("words") through the use of an appropriate tool (diagrams, but not the ones you remember from when you were a kid learning to write sentences) you could manipulate sentences almost like they were tree-structures - without changing the meaning.
That said, to _succeed_ as a developer, I felt compelled to go out and get a Master's in Information Systems ... but that was about career success (nobody wanted an English Major to be their IT Project Manager, for some reason).
1) When scrolling is erratic (due to the mouse, the browser, or what have you) and reading a long article, I highlight a word in the last-read paragraph to allow me to scroll that paragraph up and not lose it.
2) When pages have low contrast, but I don't want to say View / Style / No Style (alt+v, y, n - in firefox), I'll select the whole page.
3) When pages have extra-wide text lines without sufficient spacing between lines (i.e., they do not conform to typographical rules for reading ... for example, Hacker News comments), I'll select individual lines in order to better follow the length of the line.
4) When interrupted in reading a lengthy article, so as not to lose my place, I'll double-click (middle wheel button is keyed to double-click) my reading position to highlight just that word.
I wouldn't attribute the change to "agile" ... but would attribute the problem to poor design. Subtle difference, but you get the same garbage in agile stuff - just depends on the PM, really.
I'm in a similar situation, although I actually bought a GPS, just 'cause I'd been out of country for so long that the roads had changed.
I've a Blackberry, but with no services active except for voice and text, via AT&T's GoPhone plan - pay $2 on the days you use the phone, and get unlimited text and voice on those days; pay nothing on the days you don't use it.
It's an immense savings, and I'm by no means in a low-wage job or a college student - I just look at it this way: why pay for a plan which would otherwise fund a round-trip for two to Europe, every year?
What's next, then, "real names" a la Google? No, thank you.