Comment Re:Who wears a watch these days (Score 1) 290
As an expat living in the 'States, the only times that I miss 240V is boiling water and the fact that the flymo will never seem to exist over here. Mainly boiling water.
As an expat living in the 'States, the only times that I miss 240V is boiling water and the fact that the flymo will never seem to exist over here. Mainly boiling water.
If there weren't any problems, they wouldn't need to hire you...
That's likely to fail, because your conditions have nothing to do with your value. Your best-world case should, if you have the track record and experience to justify it, include the fact that with you along they're likely to ship that new product 6 months faster producing an extra $2mm in cash flow next year (or whatever the scenario is), making hiring you at a high rate something that's actually good business sense for the company. You'll find that people are far more willing to talk about compensation under those terms than you might think.
If you're going to just be another cog in a big machine with no real direct impact as to whether or not the company earns back your salary
So in this scenario you'd also be getting a different titleor pay grade, which would include public recognition that the company does indeed consider you better than those who in the current situation are seen by people on other teams as your "peers". Is that so bad?
Are you kidding? Hiring, especially in the high-tech space, is really hard. Finding good people takes a very long time and can be painfully expensive, in actual costs, training costs, and opportunity costs while you don't have someone in that space. I'd much rather pay someone a few thousand more and let them use whatever gear will make them most productive than nickel and dime them so that they can be lured away by someone willing to respect them.
You do realize that you can change the tab width in your terminal emulator, right? Hint: man 1 tabs
That's something that you can set in your terminal emulator - either in your settings if its a GUI one, or by using the tabs(1) command in your
That's why tabs should be used for leading indentation only - if you want to arbitrarily line something up intraline, use spaces, that's what they're for.
Better yet, don't do that - doing so introduces a really annoying problem in which anyone making a tweak either has to change all the other lines (showing a big confusing diff in source control) or leave something ragged (which defeats the entire purpose).
With autocomplete in most rational editors working well, there's no reason to ever do "var x
If you have a lot of expertise in a particular vertical or solving a particular class of problem well, and build up a track record in related projects, you may well find yourself getting well-paid to scratch that particular itch, and solve it well, bringing you the first major customer as well (unless you're truly the only person to ever have it, that is).
On a bicycle you absolutely have to move your leg up and forward with each pedal stroke. It cannot get there any other way. Now, the leg may be moved there by the effort of the other leg or it may not, but either way the energy comes from you and nowhere else.
Ooh, here's an idea to improve bicycles forever! Your gluten are really good at pushing down but you're right, pulling up and over is a weakness for many people. What if - I know its crazy but stay with me here - what if we connected the two pedals so that instead of being independent, a tiny amount of the force that you push down with your big muscle groups could be used to help the other leg get into position for the next stroke?
I'mma gonna patent this right now. It'll make million$!
That's why the article didn't suggest not using them. It suggested only using a few of them at a time, backfilling with boring, well-understood technologies, so that you're not betting the farm on a house of cards when nobody's making you do that.
The odds that your business problem requires or can even benefit from a brand new language (that you can't hire for), a new storage system (that you can't find dev-ops support for in your data center), the latest methodologies (that nobody knows, hello training cost), et cetera, all at once, is just ridiculous.
And indeed, when MongoDB first came out it had all sorts of issues living in production environments. Now, on the other hand, its well-understood, the serious bugs are fixed, and its ready for casual users. How long would it have taken you to get everyone (including dev-ops) up to speed on MongoDB as opposed to actually building product over MySQL until (as it is today) a competitive solution was stable and "boring" enough?
If handling data elegantly is your company's selling point, then maybe its worth innovating on your storage engines and being on the "bleeding edge". If that's the case though, the article is suggesting that you don't simultaneously innovate in your development language, source-code storage system, and business model. That's all.
Yes, and I'm actually on board with that (although I'd have picked Salesforce if I'm just blind-picking out of a hat).
If you're just the average 20-80 person software shop - somehow refusing to believe that the (literally) millions of businesses running on platforms like Lotus Notes or Salesforce are doing alright and that your business is so terribly revolutionary that its better to spend hundreds of hours deciding-on, deploying, customizing, and supporting your own specialized CRM is a better use of your organizations time than spending those hundreds of hours on making better products and selling them to people for money, well then, I suggest that you're part of the problem.
It's the same reason that your own small company should be trying to implement its own CRM (assuming that's not its core business), or drastically changing the way that it considers sales compensation. Being revolutionary in one area is hard enough - don't make anything even harder than it has to be.
Seriously. Good, readable names for everything make code far more self-documenting than otherwise, don't cost the compiler a single cycle, and make it far easier to understand when someone comes across it five years down the road.
Other than that, I'd add methods that only perform one action, with no side effects, and that only work at one level of abstraction.
Finally, code that matches its method name - don't say "if thing.checkValues()", say "if thing.isValid()" - and if isValid() does anything like trimming whitespace it should do it on its own transient copies of things, since its not obvious that the method would ever change state.
And so on. It all boils down to code that doesn't surprise you.
"Most people would like to be delivered from temptation but would like it to keep in touch." -- Robert Orben