Tagged: should Toggle Comment Threads | Keyboard Shortcuts

  • jkabtech 12:53 pm on October 23, 2019 Permalink |
    Tags: 'treacherous, banker, , , Europe, , , , promises', should   

    Europe should ignore ‘treacherous promises’ of Facebook’s Libra currency, says central banker 

    Could undermine the European Central Bank’s ability to set monetary policy. Facebook’s proposed Libra currency could undermine the European Central Bank’s ability to set monetary policy and Europe should ignore its siren call of “treacherous promises” ECB board member Yves Mersch said has warned.Facebook announced Libra — a new digital coin backed by four …

    Hi! You’ve reached one of our premium articles. This is available exclusively to subscribers.

    It’s free to register, and only takes a few minutes.

    Once you sign up you’ll have unlimited access to the full catalogue of Australia’s best business IT content, as well as a daily news bulletin delivered straight to your inbox.

    Register now Already have an account? Log in to read this article.

    Got a news tip for our journalists? Share it with us anonymously here.

    View the Original article

  • jkabtech 4:17 am on July 14, 2018 Permalink |
    Tags: , , default, Immediately, , , should,   

    Windows 10: 7 Default Settings You Should Change Immediately After Install 

    Released on July 29, Windows 10 is the newest desktop operating system from Microsoft that is now running on over 110 million devices. It comes with a plethora of useful new features including a revamped Start menu, digital assistant Cortana, and Action Center. Also, in terms of functionality and performance, the new operating system offers substantial improvements. But a number of annoying things Microsoft has set Windows 10 machines to do is just plain absurd. Here are those settings, alongside a simple guide on how to fix them.

    1) Stop automatic updates
    When Microsoft released Windows 10, it didn’t provide Windows 10 Home users with the ability to pause or skip any updates. Later on Microsoft backtracked a little and gave Home users the ability to stop automatic app updates, but it still doesn’t offer any option to users to pause, or stop Windows updates. There are a couple of workarounds, however. See our step-by-step guide on how to disable Windows 10 automatic updates for more.

    2) Stop automatic restart
    If you don’t have an issue with the automatic updates that Microsoft is sending in your way, you will perhaps still appreciate if your system didn’t reboot immediately every time it installed an update on your computer. To reschedule automatic reboots, follow the steps:

    Open Start menu and search for advanced update and choose Advanced Windows Update options.Under this, select Advanced options and on the top, change the settings to Notify to schedule restart.

    View the Original article

  • jkabtech 8:17 pm on February 4, 2018 Permalink |
    Tags: , , , should, , Stick!   

    I Need Something Cheap So I Can Learn To Drive Stick! What Car Should I Buy? 

    Tom McParlandYesterday 1:47pmFiled to: What Car Should You Buy?WCSYBmanual transmissionCar Buying55715EditSend to EditorsPromoteShare to KinjaToggle Conversation toolsGo to permalink

    View the Original article

  • jkabtech 12:17 pm on January 5, 2018 Permalink |
    Tags: , Feet!, should   

    I Need A Cheap Ride To Help Me Get Back On My Feet! What Car Should I Buy? 

    Tom McParlandToday 1:30pmFiled to: What Car Should You Buy?WCSYBCar BuyingCheap CarsCommuter Cars1994EditSend to EditorsPromoteShare to KinjaToggle Conversation toolsGo to permalink

    View the Original article

  • jkabtech 8:17 pm on December 20, 2017 Permalink |
    Tags: , should, ,   

    How Much Should You Worry About Your Tap Water? 

    Beth SkwareckiToday 10:00amFiled to: dose of realitywaterhealthhydrationewgchemicalscontaminantswater filterbottled watertap watersafetyenvironment471EditPromoteShare to KinjaToggle Conversation toolsGo to permalink

    View the Original article

  • jkabtech 4:17 am on August 25, 2017 Permalink |
    Tags: , , should,   

    I Need Something Cheap That I Can Work On With Friends! What Car Should I Buy? 

    Tom McParlandToday 10:47amFiled to: What Car Should You Buy?WCSYBCar BuyingProject Car HellProject CarsWrenching3928EditPromoteShare to KinjaToggle Conversation toolsGo to permalink

    View the Original article

  • jkabtech 8:17 pm on August 22, 2017 Permalink |
    Tags: , , , govt's, should   

    Why you should care about the govt’s encryption crackdown 

    And why the new laws are unlikely to make a difference.

    There’s an argument that tends to rear its head every time there’s a debate about privacy in the digital age: if I’m not doing anything wrong, what do I have to hide?

    It was promoted by advocates of the national data retention regime before it came into law, and it’s resurfacing now that the government wants to force technology companies to help it get access to encrypted communications.

    The problem is, encryption and online security is about so much more than privacy. It’s fundamental to the way we operate on the internet. Confidentiality and an individual’s right to privacy is important, but so is keeping malicious actors out of your banking transactions, your online accounts, your personal devices.

    It’s what ensures no-one can tap into your online purchases and nab your credit card details or sensitive personal information.

    This is no hypothetical situation: just this week the chief of a security company was declared bankrupt and subsequently removed from his job, without even knowing it.

    Even the leader of the crusade against encryption, Prime Minister Malcolm Turnbull, has HTTPS deployed on his own website.

    “The focus on encryption at the moment seems to be all around it being used for terrorism, neglecting the fact that there are many really important aspects of encryption we’re using every single day,” security expert Troy Hunt says.

    “Encryption wasn’t built so terrorists could use it. I don’t think people appreciate just how much of a fundamental component encryption is.”

    This debate is raging because the government wants to impose an obligation on encrypted communications providers to assist law enforcement in accessing decrypted messages.

    Terrorists are using these channels to communicate, the government says, leaving citizens at risk because law enforcement can’t monitor their messages and prevent attacks.

    It hasn’t published its proposed legislation yet, so we only have vague and at time at-odds public statements about the government’s intentions.

    But Turnbull and co have made it pretty clear that where the government can’t get what it wants by politely asking the likes of Facebook, Apple, and Google to help it access messages, it will bring down the heavy arm of the law.

    There’s a strong indication the Australian government will follow the UK and NZ models, where tech companies are required to ensure they have the technical capability to decrypt communications, should law enforcement come knocking with a warrant.

    However there’s no indication the government will specify exactly how this should be done: Turnbull on Friday said tech companies had built the platforms and now needed to help governments ensure they aren’t exploited.

    The problem this creates is: end-to-end encrypted communications providers aren’t able to crack these codes. That’s the entire point of their business model. The keys that are needed to decrypt messages sit with the user of the service to ensure full security.

    It’s why many have criticised the UK – and now Australia – for giving companies no option but to build backdoors in their systems.

    Can it be done?

    Encrypted messages are scrambled and and translated through a set of keys, one public and one private, that need to be used in combination to decrypt the message.

    The private key is stored on an individual’s own device, and neither that key or the plaintext message is ever available to the operator of the service.

    Technology companies could potentially restrict the range of keys an encrypted messaging app can generate, according to Monash University software engineering lecturer Robert Merkel.

    The longer the key is, the harder it is to crack – a 56-bit key, for example has 72 quadrillion possible combinations.

    Restricting the length of this key would make it much faster to scan through the range of potential combinations, find the right one, and access the message, Merkel says.

    The US government did this briefly in the 90s, a decision that ended up being responsible for the damaging FREAK attack discovered in 2015.

    And if we’ve learnt anything else recently, it’s that secret government backdoors don’t stay secret for long, meaning it’s not just going to be the good guys exploiting these weaknesses.

    Other public comments by various members of government suggest it is considering targeting the sender and receiver ends of the communication; introducing a lawful interception capability for endpoint devices so messages can be grabbed before they’re encrypted.

    But Hunt argues that weakening a company’s encryption would simply drive both criminals and legitimate users to other platforms the government can’t get into.

    Take open source encryption technologies like PGP: it’s extremely simple to encrypt a message locally on your own machine and send it to someone for them to decrypt without using any commercial services.

    “I doubt they’ll get value out of forcing big providers to compromise privacy when there are so many other options they have no jurisdiction over,” he says.


    Many of the companies likely to be caught up in this encryption crackdown – Apple, Facebook, Google, and Signal operator Open Whisper Systems – aren’t located in Australia.

    This makes it somewhat difficult for the government to make them comply; they could simply decline a request for assistance.

    LIV-accredited specialist in administrative law Katie Miller expects the impending draft legislation will include some form of fine or penalty for non-compliance.

    “The thing with compulsive powers is it’s always open for someone to say ‘no’, but there are consequences for doing so,” Miller said.

    “Governments traditionally have had a lot of trouble with this where there’s a jurisdictional question; how do you fine an overseas company and enforce it? You’d probably need the co-operation of the country of origin.

    “You could also set out rules of operation for that service in your country, and say ‘if you don’t follow these rules we’ll just ban you’.”

    There’s also the legal test of what “reasonable” and “assistance” mean.

    Miller says the ‘reasonable’ term allows the court to take into consideration the context surrounding a particular case.

    “It’s likely that everyone will agree reasonableness will be limited in terms of time and money. If the only way to break encryption is to run supercomputers for decades at the cost of millions of dollars, the court is fairly unlikely to find that reasonable,” she said.

    “Where the dispute will be is: is it reasonable for a company to develop a patch or update to create a weakness or backdoor?”

    It’s difficult – based on the limited information the government has provided on its plans, whilst considering the stance firms have previously taken – to see this ending up anywhere else but the courts.

    Facebook has already said weakening encrypted systems for Australian law enforcement would mean weakening it for everyone, including attackers.

    Miller suggests it would be a matter of “who blinks first” should an overseas tech company deny a request for help.

    “I think the Australian government would end up in a similar position as the FBI was

    View the Original article

  • jkabtech 1:51 am on July 28, 2017 Permalink |
    Tags: , Expectation, , should   

    How Much Should Expectation Drive Science? 

    Dark Matter March 2017 Answers to the biggest mysteries may lie well outside traditional paradigms. By Claudia Geib

    In December 2015, particle physicists were buzzing with excitement: The Standard Model—which has dominated physics for 40 years and defines the basic constituents of matter and how they interact—had a new challenger. At the Large Hadron Collider in Switzerland, physicists announced evidence of what appeared to be a new particle. Known colloquially as the

    View the Original article

  • jkabtech 11:54 am on March 2, 2016 Permalink |
    Tags: , , Negotiation, Searching, should   

    What Developers Should Know About Job Searching and Negotiation 

    Patrick McKenzie is the CEO and Cofounder of Starfighters whose mission is to “unbreak dev hiring.” He’ll be speaking at SIGNAL, our developer conference for communications May 24-25th in San Francisco. If you’d like to come to Signal and meet Patrick along with 2000 other developers, register here and use the promocode PATIO11 for $100 off your ticket.

    Last week, Patrick graced us with his presence on Twilio Radio. This is a transcript of the latter half of that conversation. Here’s the full audio: 

    Many parts about the way the tech industry and many other employers of developers do hiring are unsound, unserious, probably unsafe. There’s many other “uns” you could put in front of them. Unfun. It’s just a frustrating process from beginning to end.

    What typically happens is that people are screened into a hiring process on the basis of what’s on their resume. Then some crazy percentage of resumes are discarded at that point and never seen again, no matter how much raw talent the people have. It gets compressed and filtered down into a resume, and then those resumes are screened by, in most cases, non-technical people, just on the basis of the keyword scan. That already throws a lot of the baby out with the bathwater.

    Then people are given interviews. The interview process at most tech companies is enormously stressful for the candidate. They’re asked to do tasks which are very unrepresentative of what we actually do as engineers, like, “Oh yeah, you’ve been writing web applications everyday for the last five years. Great. Can you please go up to a blackboard and using chalk write out how to reverse a binary tree?” Which I can guarantee you there is no practicing engineer in the entire United States of America or the entire world whose primary choice for an IDE is a blackboard and chalk, which is not how we operate. It’s like saying, I don’t know, juggle bananas instead of balls. Then just juggle bananas so that we can extract signal about your engineering talent. Has very little to do with the work.

    The false positive rate for hiring is absurd. The false negative rate for hiring is absurd. Rather than fixing the underlying problem, people instead make hiring more of a hazing ritual with the idea hopefully discouraging some of the people who would otherwise get through it. This has a variety of negative impacts on the industry. Candidates hate the hiring process. Every company is causing many good candidates who would otherwise interview with that company to not interview with that company, simply because they dread the hiring process so much. People who are incredibly talented get selected out of the process very early on, simply because they don’t have the right university on their resume or because their last several jobs don’t read as software engineering jobs. For example, someone who’s spent time in network administration, and then systems administration, and actually has quite a lot of skill in, say, writing Python will generally not receive a call back for an interview at a software engineering position, simply because the people who are making the comparison say, “Oh, no relevant software engineering experience.”

    This is crazy. Rather than measuring proxies for talent, [at Starfighter] we just decided to try to measure talent directly. Hopefully we can go to our clients and say, “Look, Matt, for example, is someone we introduced to a client in the last week. I know this person, technically speaking, has never had a software engineering position before. I know they have an educational background which is not associated with many software engineers in Silicon Valley. I know that there is the other thing that people try to hire for is demonstrated experience in open source project. I think there’s a variety of reason why that’s a little bit problematic. We found someone who had a background which is not well represented among backgrounds of people who work at high-flying Silicon Valley startups.

    I was able to tell a hiring manager, “Look, I understand just if I start to read through the resume, it doesn’t look like the most promising candidate, but when given a very complicated engineering task, which involved both security research, and then a complicated open-ended data analysis task, they not only successfully solved the task, but produced a deliverable which could literally be published in a research journal, in terms of what the thought process was to do the number crunching and data analysis to find the task, including three different theories of independent approaches that one could take to do the data analysis, given a variety of world preconditions and what that would do to the strength of the analysis that one could perform.”

    I tell the hiring manager, “Clearly this is someone who is worth an hour of your time to get together and talk about bringing in for a group internally which does a lot of programming that involves data analysis.” An interview, and I got a call back from the hiring manager like, “So that candidate that you referred to us, yeah. Do you have clones? Can we have 10 of them, please?”

    It’s not rocket science. I think that many, many companies could do something similar, if they were willing to take a little bit of a risk with what they do for hiring practices. At the moment, a lot of companies feel like they’re firing on all cylinders for doing the other parts of the business. We’re kind of taking a risk on the hiring process for them.

    I’ll give you my most important piece of advice first. This is something that goes against, I think, a lot of our inculturation. Is that a word? That the expected habits of middle class Americans. That is we think that the job search process starts out by sending a formal application or formal resume into some place which is labeled “deposit formal applications and resumes here”. Then if the company is interested in you, then they take the next step. This is not how people successfully get jobs. Underline that for emphasis. Sending in resumes is not how people get hired for most jobs. What you do instead is find someone within a company who has hiring authority and convince them that they want to hire you. Then the formal interview process starts, but with an internal champion who is invested in bringing you into the company. In many cases, an internal champion who has full or partial decision making authority on the decision to bring you on.

    What that looks like in practice is you somehow find that an engineering company is hiring, which by the way, every company that has more than 10 engineers is going to hire engineers this quarter. If you go to a meetup and someone says that they are working on a company that has 30 people on it, they are hiring engineers right now, regardless of what their job site says.

    Important lesson number two: you ask them are they team leader or higher in their company. If they say yes, they either are a hiring manager or they know who is the hiring manager. Then you just talk to them like you would talk to any other person, geek out about subjects which are mutually interesting to you, whether that’s Python or MongoDB or whatever it is, ask, “What are you doing with your company these days? Oh, that sounds really interesting. We should talk about that a little more.” Then just try to, at the end of that conversation say, “I really like what you guys are doing. I think I might want to explore being part of it.” Have them get the ball rolling on a job application.

    This is something that you’re going to have to do more times than you’re comfortable with, because the job search process should generally be performed in parallel for a few reasons. Go out to meetups, meet people, get introduced to five people who have hiring authority, have five talking dates, turn three of those into ongoing job applications. Then do that the next week, and then do that the next week, and then do that the next week until you find a job which you feel meets your criteria, whatever those criteria are.

    People who do consulting or freelancing for a living might realize this is isomorphic to getting consulting engagements. It really is. It’s fundamentally running a sales process for yourself, which is a really weird skill for a lot of engineers, and it’s something that people in our community unfortunately don’t value enough and are often times actively discouraged from becoming better at. It is transformatively life changing if you realize that a job search is not a series of terrible events that just happens to you, but rather it’s an algorithm that you can optimize for.

    Every company’s hiring process is a little different, but at some point in the process you achieve something which I describe as “yes, if” rather than “no, but”: “Yes, we want to work with you, if we can come to a mutually satisfactory offer,” which is distinguished from, “No, we don’t want to work with you, but we might work with you if it turns out that you’re disgustingly cheap.”

    After you have agreement in principle from the person that is hiring you that, “We want you to work here. What’ll it take to make that happen?” Then and only then do you start talking about money. People will ask you about money and other various negotiation related topics before that in the process. Your job is to stonewall that question. I know many developers don’t exactly have huge reserves of internal confidence, which is okay. Fake the confidence here. If they say, “What are your salary requirements?” You say, “Well, it’s really too early to talk about salary. I just really want to make sure that we’re a great fit for each other. If we’re a great fit for each other, we can work something out. If we’re not a great fit for each other, it doesn’t matter. We shouldn’t work together no matter what the numbers are.” Whatever you need to say, just do not answer the salary question until you’re actually negotiating.

    After the negotiation part, they’re going to say, “Okay, we want you to work here,” which is great. You’ve crossed the biggest hurdle. “Now what’s the number?” Most developers will do something like say, “Okay, I hope to get $100,000.” That might or not be a realistic number in your neck of the woods, but let’s say their number is $100,000. That’s unfortunate that the developer just threw out a number there, because they’re never going to get more than about 105,000 to 110,000 as a result of that negotiation now, no matter what the company’s actual hiring scale is. Instead ideally the developer came in with an idea from their peers of that company what the company’s scale looks like. If you don’t know anybody at the company, you’re connected to the Internet. You can find people’s Twitter accounts. You can find their email addresses. You can find their information on LinkedIn.

    It is well worth your time to take another developer out for a hamburger and say, “Hey, tell me a little bit about the company. Do you guys pay …” Don’t go directly to salary questions, but ask about the working environment, ask whether they like it or not, and then at one point in the conversation ask a fellow peer line engineer, like yourself, “Hey, salaries over there, what’s the range look like?” Surprisingly often people just flat out tell you that, which is now information that you can use in the interview.

    When they ask you the salary, you turn the question back on them and say… There’s a variety of ways to dodge it, but one dodge I like is, “You do this conversation with lots of people. You have a great idea of what each engineer is worth to the company. This is the first time I’ve ever had a conversation with you. I’m not in a great position to tell you what my value is to you. You tell me. What number do you think is fair?” Then they name a number. Then you say, “That number is interesting.” Now that number is now your floor for the negotiation. Absolutely nothing you say from this point on means that you get a result lower than that number. You can only go higher. Then you start going higher by asking for more of whatever it is that you must.

    Money, in most cases, you can always ask for more money, and then turn that into an ask for something you actually care about, but money’s the primary thing that they’re keeping in their head for this conversation. For example, if they say, “For someone in your position, we feel like the approximate range is 110 to 125.” Then you say, “125,000 is a very interesting number. I think we’re very close. I’m very interested in working with you. Could you do maybe 135,000?” Then the negotiation processes kicks in in full, but eventually where that negotiation is going to settle is probably something in the 130,000 range, and then maybe some slight concessions on other things in the offer, like you get a little more vacation, if you’re smart about it and can negotiate that.

    Notice how much better that is for your life than just throwing out the number, “How much money do I need? 100 would be great.” The company really doesn’t care whether they pay you 100 or 130. I know that sounds like a crazy thing, but as someone who runs a business, let me tell you. Businesses have more money flowing around in them than any developer can … The normal human brain is not calibrated to understand the amount of money that flows through a business that’s operating at that size. The difference between 100,000 and 130,000 is ultimately not that big for a business. It’s basis points on a [inaudible 00:52:58] after two weeks. The difference between 100,000 and 130,000 for an actual human though is pretty huge. That could be the difference of whether you’re able to afford a house, for example. Given that the company perceives very little difference between the two, and you perceive quite a lot of difference between the two, negotiate aggressively. Negotiate like a confident, restrained professional who understands that they are worth whatever number that you can successfully extract out of the company.

    By the way, it feels like it’s a conversation between two people, because it’s just you and the hiring manager in there talking about the salary, or you and the HR director, whoever your counterparty is. Ultimately, the money isn’t coming out of their pocket. It’s just coming out of a budget somewhere. There’s a cell on a spreadsheet in a spreadsheet that has 68 other cells in that column. The cell is going to be different by a little bit by the standards of the spreadsheet. Just work hard at getting that cell to be the highest number you possibly can.

    I’ve written a blog post a few times about developer sort of career design and things. One post is called Don’t call yourself a programmer and other career advice for engineers. Another is called Salary Negotiation for Engineers. I’m the top of the Google search results for that. That’s me. In terms of people who write very interesting stuff about careers generally are Ramit Sethi, who’s at http://www.iwillteachyoutoberich.com, consistently gives some of the best career advice I’ve seen, particularly for people who are younger and very highly driven. He also has some paid courses available, but the free blog posts are pretty good on that, too. He’s been interviewed on my blog a few times. We’ll link up the posts in the description. Another gentleman wrote a book on salary negotiation, which I read recently. There are the likes of maybe Josh Doody [Fearless Salary Negotiation].

    Then there exists lots of stuff written on this subject. Unfortunately I feel like — not that our industry and our time is completely unique — but many people who are, say, in another industry or another generation have a very different set of cultural expectations with regards to work, to careers, to the nature of a career path, which makes their advice, perhaps, not maximally relative to us.

    For example, my parents, I love them very much, they have always suggested to me that I get into a nice, safe job at a big mega corp, and stay there for my entire career receiving regular promotions every three years, which I’m at the early end of the millennial generation. Man, I hate that word. Whatever. It exists, I guess I have to deal with it. The nature of careers for us is just working for 40 years for IBM and then receiving a gold watch  is something that very few of us are going to be able to successfully do, and that frankly, I’m not even sure I want. Actually, I much more than not sure I want. I’m sure I do not want, do not want, do not want.

    I think for the average developer, you’re probably going to be going through quite a few jobs in a relatively compressed period. I would expect your first job as a developer to likely last on the order of two to three years. Then you’re going to do several stints of roughly two to three years prior to really understanding what you know, and focusing in on a particular problem or a particular tech stack, or what have you. You could even potentially go through many more jobs, if you happen to do something like working in start-ups where they get shot out from under you every 18 months. Reading advice that’s written for people whose schema of a successful career is attaching themselves to a large organization and growing with the organization is probably not maximally in your best interests.

    I’m going to primarily be talking about the ins and outs of doing job searches for engineers. Very similar to the topic we’ve been talking about here, but more about the nuts and bolts details of:

    how one connects a search for positions which are openhow to present yourself to an engineering managerhow to know whether you’re a good fit for a position prior to investing a lot of time into applying for ithow to conduct yourself in a negotiationhow to use the fact that you have multiple offers on the table to optimize for what you care to get with a particular negotiation.

    If you’d like to meet Patrick at SIGNAL, register here and use the promocode PATIO11 for 20% ($100) off! 

    View the original article here

  • jkabtech 4:52 pm on January 17, 2016 Permalink |
    Tags: , , negotiating, , , should, ,   

    Things you should know about stock options before negotiating your offer 

    Are you considering an offer from a private company, which involves stock options? Do you think those stock options might be worth something one day? Are you confused? Then read this! I’ll give you some motivation to learn more, and a few questions to consider asking your prospective employer.

    I polled people on Twitter and 65% of them said that they’ve accepted an offer without understanding how the stock options work.

    I have a short story for you about stock options. First: stock options are BORING AND COMPLICATED AND AWFUL. They are full of taxes, which we all know are awful. Some people think they’re fun and interesting to learn about. I am not one of those people. However, if you have an offer that involves stock options, I think you should learn a little about them anyway. All of the following assumes that you work for a private company that is still private when you leave it.

    In this post I don’t want to explain comprehensively how options work. (For that, see how to value your startup stock options or The Open Guide to Equity Compensation ) Instead I want to tell you a story, and convince you to ask more questions, do a little research, and do more math.

    I took a job 2 years ago, with a company with a billion-dollar-plus valuation. I was told “we pay less than other companies because our stock option offers are more generous”. Okay. I understood exactly nothing about stock options, and accepted the offer. To be clear: I don’t regret accepting the offer (my job is great! I ? my coworkers). But I do wish I’d understood the (fairly serious) implications at the time.

    From my offer letter:

    the offer gives you the option to purchase 114,129 shares of Stripe stock. [We bias] our offers to place weight on your ownership in the company.

    I’m happy to talk you through how we think about the value of the options. As far as numbers: there are approximately [redacted] outstanding shares. We can talk in more detail about the current valuation and the strike price for your options.

    This is a good situation! They were being pretty upfront with me. I had access to all the information I needed to do a little math. I did not do the math. Let me tell you how you can start with an offer letter like this and understand what’s going on a little better!

    The math I want you to do is pretty simple. The following example stock option offer is not at all my situation, but there are some similarities that I’ll explain in a minute.

    The example situation:

    stock options you’re being offered: 500,000vesting schedule: 4 years. you get 25% after the first year, then the rest granted every month for the remainder of the time.outstanding shares: 100,000,000 (the number of total shares the company has)company’s current valuation: 1 billion dollars

    This is an awesome start. You have options to buy 0.5% of the shares of a billion dollar company. What could be better? If you stay with the company until it goes public or dies, this is easy. If the company goes public and the stock price is more than your exercise price, you can exercise your options, sell as much of the stock as you want to, and make money. If it dies, you never exercise the options and don’t lose anything. win-win. This is where options excel.

    However! If you want to ever quit your job (in the next 5 years, say!), you may not be able to sell any of your stock for a long time. You have more math to do.

    ISOs (the usual way companies issue stock options) expire 3 months after you quit. So if you want to use them, you need to buy (or “exercise”) them. For that, you need to know the exercise price. You also need to know the fair market value (current value of the stock), for reasons that will become apparent in a bit. We need a little more data:

    exercise price or strike price: $1. (This is how much it costs, per share, to buy your options.)current fair market value: $1 (This is how much each share is theoretically worth. May or may not have any relationship to reality)fair market value, after 3 years: $10

    All this is information the company should tell you, except the value after 3 years, which would involve time travel. Let’s see how this plays out!

    Okay awesome! You had a great job, you’ve been there 3 years, you worked hard, did some great work for the company, you want to move on. What next? Since your options vested over 4 years, you now have 375,000 options (75% of your offer) that you can exercise. Seems great.

    Surprise! Now you need to pay hundreds of thousands of dollars to invest in an uncertain outcome. The outcomes (IPO, acquisition, company fails) are all pretty complicated to discuss, but suffice to say: you can lose money by investing in the company you work for. It may be a good investment, but it’s not risk-free. Even an acquisition can end badly for you (the employee). Let’s see exactly how it costs you hundreds of thousands of dollars:

    Pay the exercise price:

    The exercise price is $1, so it costs $375,000 to turn your options into stock. Your options go poof in three months, but you can keep the stock if you buy it now.

    What?! But you only have 300k in the bank. You thought that was… a lot. You make an amazing salary (even $200k/year wouldn’t cover that). You can still afford a lot of it though! Every share costs $1, and you can buy as many or as few as you want. No big deal.

    You have to decide how much money you want to spend here. Your company hasn’t IPO’d yet, so you’ll only be able to make money selling your shares if your company eventually goes public AND sells for a higher price than your exercise price. If the company dies, you lose all the money you spent on stock. If the company gets acquired, the outcome is unpredictable, and you could still get nothing for all the money you spend exercising options.

    Also, it gets worse: taxes!

    Pay the taxes:

    The value of your stock has gone up! This is awesome. It means you get the chance to pay a lot of taxes! The difference in value between $1 (the exercise price) and $10 (the current fair market value) is $9. So you’ve potentially made $9 * 375000 = 3.3 million dollars.

    Well, you haven’t actually made that, since you’re buying stock you can’t sell (yet). But your local tax agency thinks you have. In Canada (though I’m not yet sure) I might have to pay income tax on that 3 million dollars, whether or not I have it. So that’s an extra 1.2 million in taxes, without any extra cash.

    The tax implications are super boring and complicated, and super super important. If you work for a successful company, and its value is increasing over time, and you try to leave, the taxes can make it totally unaffordable to exercise your options. Even if the company wasn’t worth a lot when you started! See for instance this person describing how they can’t afford the taxes on their options. Early exercise can be a good defense against taxes (see the end of this post).

    I don’t want to get too far into this fake situation because when people tell me fake situations, I’m like “ok but that’s not real why should I care.” Here’s something real.

    I do not own 0.5% of a billion dollar company. In fact I own 0%. But the company I work for is valued at more than a billion dollars, and I do have options to buy some of it. The options I’m granted each year would cost, very roughly, $100,000 (including exercise prices + taxes). Over 4 years, that’s almost half a million dollars. My after-tax salary is less than $100,000 USD/year, so by definition it is impossible for me to exercise my options without borrowing money.

    The total amount it would cost to exercise + pay taxes on my options is more than all of the money I have. I imagine that’s the case for some of my colleagues as well (for many of them, this is their first job out of school). If I leave, the options expire after 3 months. I still do not understand the tax implications of exercising at all. (it makes me want to hide under my bed and never come out)

    I was really surprised by all of this. I’d never made a financial decision much bigger than buying a $1000 plane ticket or signing a lease before. So the prospect of investing a hundred thousand dollars in some stock? Having to pay taxes on money that I do not actually have? super scary.

    So the possibilities, if I want to ever quit my job, are:

    exercise them somehow (with money I get from ??? somewhere ???).give up the optionsfind a way to sell the options or the resulting stock

    There are several variations on #3. They mostly involve cooperation from your employer – it’s possible that they’ll let you sell some options, under some conditions, if you’re lucky / if they like you / if the stars are correctly aligned. This post How to sell secondary stock says a little more (thanks @antifuchs!). This HN comment describes a situation where someone got an offer from an outside investor, and the investor was told by the company to not buy from him (and then didn’t buy from him). Your employer has all the power.

    Again, this isn’t a disaster – I have a good job, which pays me a SF salary despite me living in Montreal. It’s a fantastic situation to be in. And certainly having an option to buy stock is better than having nothing at all! But you can ask questions, and I like being informed.

    Stock options are very complicated. If you start out knowing nothing, and you have an offer to evaluate this week, you’re unlikely to be able to understand every possible scenario. But you can do better than me!

    When I got an offer, they were super willing to answer questions, and I didn’t know what to ask. So here are some things you could ask. In all this I’m going to assume you work for a US company.

    Basic questions:

    how many stock options (# shares)vesting schedule (usually 4 years / 1 year “cliff”)how many outstanding sharescompany’s current valuationexercise price (per share)fair market value (per share: a made-up number, but possibly useful)if they’re offering ISOs, NSOs, or RSUshow long after leaving do you have to exercise?

    Then you can do some basic math and figure out how much it would cost to exercise the options, if you choose to. (I have a friend who paid $1 total to exercise his stock options. It might be cheap!)

    More ambitious questions

    As with all difficult questions, before you accept an offer is the best time to ask, because it’s when you have the most leverage.

    will they let you sell stock to an outside investor?If you can only exercise for 3 months after leaving, is that negotiable? (pinterest gives you the option of 7 years and worse tax implications. can they do the same?)If the company got sold for the current valuation (2X? 10X?) in 2 years, what would my shares be worth? What if the company raises a lot of money between now and then?Can they give you a summary of what stock & options other people have? This is called the “cap table”. (The reason you might want to know this: often VCs are promised that they’ll get their money first in the case of any liquidation event. Before you! Sometimes they’re promised at least a 3x return on their investment. This is called a “liquidation preference” .)Do the VCs have participation? (there’s a definition of participation and other stock option terms here)Can you early exercise your options? I know someone who early exercised and saved a ton of money on taxes by doing it. This guide talks more about early exercising.Do your options vest faster if the company is acquired? What if you get terminated? (these possibilities are called “single/double trigger”)

    If you have more ideas for good questions, tell me! I’ll add them to this list.

    I think it’s important to talk about stock option grants! A lot of money can be at stake, and it’s difficult to talk about amounts in the tens or hundreds of thousands.

    There’s also some tension about this topic because people get very emotionally invested in startups (for good reason!) and often feel guilt about leaving / discussing the financial implications of leaving. It can feel disloyal!

    But if you’re trying to make an investment decision about thousands of dollars, I think you should be informed. Being informed isn’t disloyal 🙂 The company you work for is informed.

    The company making you an offer has lawyers and they should know the answers to all the questions I suggested. They’ve thought very carefully about these things already.

    I wish I’d known what questions to ask and done some of the math before I started my job, so I knew what I was getting into. Ask questions for me! 🙂 You’ll understand more clearly what investment decisions might be ahead of you, and what the financial implications of those decisions might be.

    Thanks for Leah Hanson and Dan Luu for editing help!

    View the original article here

  • jkabtech 2:04 pm on January 10, 2016 Permalink |
    Tags: , should, Ultron   

    Automation should be like Iron Man, not Ultron 

    Automation Should Be Like Iron Man, Not Ultron – ACM Queue body {font-family: jaf-bernino-sans, ‘Lucida Grande’, ‘Lucida Sans Unicode’, ‘Lucida Sans’, Geneva, Verdana, sans-serif;color: #333;}div.container p {line-height: 1.65em;}h1 {font-size: 32px;}h3 {font-size: 18px;}h4 {font-size: 14px;}div.container {margin-left: auto;margin-right: auto;}div {margin: 64px;max-width: 640px;position: relative;}img { max-width: 100%; height: auto; width: auto\9; /* ie8 */}a {color: #009;text-decoration: none;}a:hover {text-decoration: underline;}hr {margin:64px;}label {font-size: 0.8em;color: #666;}input {color: #999;}/* NAVBAR */.navbar {//position: fixed;background: #EEEEEE;top: -64px;z-index: 10000;width: 100%;clear: both;padding: 0px;margin: 0px;padding-top: 10px;padding-left: 10px;padding-right: 10px;}/* SECTIONS */.section {clear: both;padding: 0px;margin: 0px;}/* COLUMN SETUP */.col {display: block;float:left;margin: 1% 0 1% 1.6%;}.col:first-child { margin-left: 0; }/* GROUPING */.group:before,.group:after {content:””;display:table;}.group:after {clear:both;}.group { zoom:1; /* For IE 6/7 */}/* GRID OF THREE */.span_3_of_3 {width: 100%;}.span_2_of_3 {width: 66.1%;}.span_1_of_3 {width: 32.2%;}/* GO FULL WIDTH AT LESS THAN 480 PIXELS */@media only screen and (max-width: 480px) {.col {margin: 1% 0 1% 0%;}}@media only screen and (max-width: 480px) {.span_3_of_3 {width: 100%;}.span_2_of_3 {width: 100%;}.span_1_of_3 {width: 100%;}}.span_2_of_2 {width: 100%;}.span_1_of_2 {width: 49.2%;}/* GO FULL WIDTH AT LESS THAN 480 PIXELS */@media only screen and (max-width: 480px) {.span_2_of_2 {width: 100%;}.span_1_of_2 {width: 100%;}}
    Current Issue   Past Issues   TopicsThe Nov/Dec issue of acmqueue is out!

    acmqueue is free for ACM professional members

    Download the app from iTunes or Google Play,
    or view within your browser.

    More information here

    Development  Download PDF version of this article

    October 31, 2015
    Volume 13, issue 8 Automation Should Be Like Iron Man, Not Ultron The “Leftover Principle” Requires Increasingly More Highly-skilled Humans.
    Thomas A. Limoncelli

    Q: Dear Tom: A few years ago we automated a major process in our system administration team. Now the system is impossible to debug. Nobody remembers the old manual process and the automation is beyond what any of us can understand. We feel like we’ve painted ourselves into a corner. Is all operations automation doomed to be this way?

    A: The problem seems to be that this automation was written to be like Ultron, not Iron Man.

    Iron Man’s exoskeleton takes the abilities that Tony Stark has and accentuates them. Tony is a smart, strong guy. He can calculate power and trajectory on his own. However, by having his exoskeleton do this for him, he can focus on other things. Of course, if he disagrees or wants to do something the program wasn’t coded to do, he can override the trajectory.

    Ultron, on the other hand, was intended to be fully autonomous. It did everything and was, basically, so complex that when it had to be debugged the only choice was (spoiler alert!) to destroy it.

    Had the screenwriter/director Joss Whedon consulted me (and Joss, if you are reading this, you really should have), I would have found a way to insert the famous Brian Kernighan quote, “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”

    The Source of the Problem:

    Before we talk about how to prevent this kind of situation, we should discuss how we get into it.

    The first way we get into this trap is by automating the easy parts and leaving the rest to be done manually. This sounds like the obvious way to automate things and, in fact, is something I generally encouraged until my awareness was raised by John Allspaw’s excellent two-part blog post “A Mature Role for Automation” (http://www.kitchensoap.com/2012/09/21/a-mature-role-for-automation-part-i).

    You certainly shouldn’t automate the difficult cases first. What we learn while automating the easy cases makes us better prepared to automate the more difficult cases. This is called the Leftover Principle. You automate the easy parts and what is “left over” is done by humans.

    In the long run this creates a very serious problem. The work left over for people to do becomes, by definition, more difficult. At the start of the process, people were doing a mixture of simple and complex tasks. After a while the mix shifts more and more towards the complex. This is a problem because people aren’t getting smarter over time. Moore’s Law predicts that computers will get more powerful over time, but sadly there is no such prediction about people.

    Another reason the work becomes more difficult is that it becomes rarer. Easier work, done frequently, keeps a person’s skills fresh and keeps us ready for the rare but difficult tasks.

    Taken to its logical conclusion, this paradigm results in a need to employ impossibly smart people to do impossibly difficult work. Maybe this is why Google’s recruiters sound so painfully desperate when they call about joining their SRE team.

    One way to avoid the problems of the leftover principle is called the Compensatory Principle. There are certain tasks that people are good at that machines don’t do well. Likewise there are other tasks that machines are good at that people don’t do well. The compensatory principle says that people and machines should each do what they are good at and not attempt what they don’t do well. That is, each group should compensate for the other’s deficiencies.

    Machines don’t get bored, so they are better at repetitive tasks. They don’t sleep, so they are better at tasks that must be done at all hours of the night. They are better at handling many operations at once, and at operations that require smooth or precise motion. They are better at literal reproduction, access restriction, and quantitative assessment.

    People are better at improvisation and being flexible, exercising judgment, and coping with variations in written material, perceiving feelings.

    Let’s apply this principle to a monitoring system. The monitoring system collects metrics every five minutes, stores them, and then analyzes the data for the purposes of alerting, debugging, visualization, and interpretation.

    A person could collect data about a system every five minutes, and with multiple shifts of workers they could do it around the clock. However, the people would become bored and sloppy. Therefore it is obvious that the data collection should be automated. Alerting requires precision, which is also best done by computers. However, while the computer is better at visualizing the data, people are better at interpreting those visualizations. Debugging requires improvisation, another human skill, so again people are assigned those tasks.

    John Allspaw points out that only rarely can a project be broken down into such clear-cut cases of functionality this way.

    Doing Better

    A better way is to base automation decisions on the complementarity principle. This principle looks at automation from the human perspective. It improves the long-term results by considering how people’s behavior will change as a result of automation.

    For example, the people planning the automation should consider what is learned over time by doing the process manually and how that would be changed or reduced if the process was automated. When a person first learns a task, they are focused on the basic functions needed to achieve the goal. However, over time, they understand the ecosystem that surrounds the process and gain a big-picture view. This lets them perform global optimizations. When a process is automated the automation encapsulates learning thus far, permitting new people to perform the task without having to experience that learning. This stunts or prevents future learning. This kind of analysis is part of a cognitive systems engineering (CSE) approach.

    The complementarity principle combines CSE with a joint cognitive system (JCS) approach. JCS examines how automation and people work together. A joint cognitive system is characterized by its ability to stay in control of a situation.

    In other words, if you look at a highly automated system and think, “Isn’t it beautiful? We have no idea how it works,” you may be using the leftover principle. If you look at it and say, “Isn’t it beautiful how we learn and grow together, sharing control over the system,” then you’ve done a good job of applying the complementarity principle.

    Designing automation using the complementarity principle is a relatively new concept and I admit I’m no expert, though I can look back at past projects and see where success has come from applying this principle by accident. Even the blind squirrel finds some acorns!

    For example, I used to be on a team that maintained a very large (for its day) cloud infrastructure. We were responsible for the hundreds of physical machines that supported thousands of virtual machines.

    We needed to automate the process of repairing the physical machines. When there was a hardware problem, virtual machines had to be moved off the physical machine, the machine had to be diagnosed, and a request for repairs had to be sent to the hardware techs in the data center. After the machine was fixed, it needed to be re-integrated into the cloud.

    The automation we created abided by the complementarity principle. It was a partnership between human and machine. It did not limit our ability to learn and grow. The control over the system was shared between the automation and the humans involved.

    In other words, rather than creating a system that took over the cluster and ran it, we created one that partnered with humans to take care of most of the work. It did its job autonomously, but we did not step on each other’s toes.

    The automation had two parts. The first part was a set of tools that the team used to do the various related tasks. Only after these tools had been working for some time did we build a system that automated the global process, and it did so more like an exoskeleton assistant than like a dictator.

    The repair process was functionally decomposed into five major tasks, and one tool was written to handle each of them. The tools were (a) Evacuation: any virtual machines running on the physical machine needed to be migrated live to a different machine; (b) Revivification: an evacuation process required during the extreme case where a virtual machine had to be restarted from its last snapshot; (c) Recovery: attempts to get the machine working again by simple means such as powering it off and on again; (d) Send to Repair Depot: generate a work order describing what needs to be fixed and send this information to the data center technicians who actually fixed the machine; (e) Re- assimilate: once the machine has been repaired, configure it and re-introduce it to the service.

    As the tools were completed, they replaced their respective manual processes. However the tools provided extensive visibility as to what they were doing and why.

    The next step was to build automation that could bring all these tools together. The automation was designed based on a few specific principles:

    • It should follow the same methodology as the human team members.

    • It should use the same tools as the human team members.

    • If another team member was doing administrative work on a machine or cluster (group of machines), the automation would step out of the way if asked, just like a human team member would.

    • Like a good team member, if it got confused it would back off and ask other members of the team for help.

    The automation was a state-machine-driven repair system. Each physical machine was in a particular state: normal, in trouble, recovery in progress, sent for repairs, being re-assimilated, and so on. The monitoring system that would normally page people when there was a problem instead alerted our automation. Based on whether the alerting system had news of a machine having problems, being dead, or returning to life, the appropriate tool was activated. The tool’s result determined the new state assigned to the machine.

    If the automation got confused, it paused its work on that machine and asked a human for help by opening a ticket in our request tracking system.

    If a human team member was doing manual maintenance on a machine, the automation was told to not touch the machine in an analogous way to how human team members would be, except people could now type a command instead of shouting to their coworkers in the surrounding cubicles.

    The automation was very successful. Previously whoever was on call was paged once or twice a day. Now we were typically paged less than once a week.

    Because of the design, the human team members continued to be involved in the system enough that they were always learning. Some people focused on making the tools better. Others focused on improving the software release and test process.

    As stated earlier, one problem with the leftover principle is that the work left over for humans requires increasingly higher skill levels. At times we experienced the opposite! As the number of leftover tasks was reduced, it was easier to wrap our brains around the ones that remained. Without the mental clutter of so many other tasks, we were better able to assess the remaining tasks. For example, the most highly technical task involved a particularly heroic recovery procedure. We re-evaluated whether or not we should even be doing this particular procedure. We shouldn’t.

    The heroic approach risked data loss in an effort to avoid rebooting a virtual machine. This was the wrong priority. Our customers cared much more about data loss than about a quick reboot. We actually eliminated this leftover task by replacing it with an existing procedure that was already automated. We would not have seen this opportunity if our minds had still been cluttered with so many other tasks.

    Another leftover process was building new clusters or machines. It happened infrequently enough that it was not worthwhile to fully automate. However, we found we could Tom Sawyer the automation into building the cluster for us if we created the right metadata to make it think that all the machines had just returned from repairs. Soon the cluster was built for us.

    Processes requiring ad hoc improvisation, creativity, and evaluation were left to people. For example, certifying new models of hardware required improvisation and the ability to act given vague requirements.

    The resulting system felt a lot like Iron Man’s suit: enhancing our skills and taking care of the minutiae so we could focus on the big picture. One person could do the work of many, and we could do our jobs better thanks to the fact that we had an assistant taking care of the busy work. Learning did not stop because it was a collaborative effort. The automation took care of the boring stuff and the late-night work, and we could focus on the creative work of optimizing and enhancing the system for our customers.

    I don’t have a formula that will always achieve the benefits of the complementarity principle. However, by paying careful attention to how people’s behavior will change as a result of automation and by maintaining shared control over the system, we can build automation that is more Iron Man, less Ultron.

    Further Reading

    John Allspaw’s article “A Mature Role for Automation.” (http://www.kitchensoap.com/2012/09/21/a-mature-role-for-automation-part-i).

    David Woods and Erik Hollnagel’s book Joint Cognitive Systems: Foundations of Cognitive Systems Engineering. Taylor and Francis, Boca Raton, FL, 2005.

    Chapter 12 of The Practice of Cloud System Administration, by Thomas A. Linomcelli, Strata R. Chalup, and Christina J. Hogan.(http://the-cloud-book.com)

    LOVE IT, HATE IT? LET US KNOW feedback@queue.acm.org

    Thomas A. Limoncelli is an author, speaker, and system administrator. He is an SRE at Stack Overflow, Inc in NYC. His books include The Practice of Cloud Administration (the-cloud-book.com) and Time Management for System Administrators. He blogs at EverythingSysadmin.com

    © 2015 ACM 1542-7730/15/0500 $10.00


    Originally published in Queue vol. 13, no. 8—
    see this item in the ACM Digital Library

    For more articles and columns like this, check out the latest issue of acmqueue magazine
    Tweet!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);

    (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = “//connect.facebook.net/en_US/all.js#xfbml=1”; fjs.parentNode.insertBefore(js, fjs);}(document, ‘script’, ‘facebook-jssdk’));
    FB.Event.subscribe(‘edge.create’, function(targetUrl) { _gaq.push([‘_trackSocial’, ‘facebook’, ‘like’, targetUrl]);});Related:

    Tyler McMullen – It Probably Works
    Probabilistic algorithms are all around us–not only are they acceptable, but some programmers actually seek out chances to use them.

    Kate Matsudaira – The Science of Managing Data Science
    Lessons learned managing a data science research team

    Phelim Dowling, Kevin McGrath – Using Free and Open Source Tools to Manage Software Quality
    An agile process implementation

    Ivar Jacobson, Ed Seidewitz – A New Software Engineering
    What happened to the promise of rigorous, disciplined, professional practices for software development?

    CommentsSteve | Fri, 11 Dec 2015 07:48:30 UTC

    Thank you for the article. These are really great observations. Does it follow that if you create a script or program that just does one thing and does it really well, that you can take a bunch of these “one” scripts and use them as in the article?

    Leave this field empty

    Post a Comment:

    Comment: (Required – 4,000 character limit – HTML syntax is not allowed and will be removed)

    © 2015 ACM, Inc. All Rights Reserved.

    View the original article here

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc
%d bloggers like this: