I did not make the mistake of buying a big house on the promise that in the future I'd be able to afford it. A friend of mine bought his house and his neighbor's house to combine into a larger lot, but since the stock was going up he got jumbo loans and was selling stock periodically to make the payments. When things went south he ended up selling the neighbors house at a loss refinancing his own house at a lower rate to stay in it affordably. But I did make the mistake of not paying off my house when I could have using "bubble" stock (like that Sun stock). 2001 to probably 2006 were very wintry years.
I analyzed my behavior during the last dot com bubble and my biggest driver was tax avoidance. How stupid is that? I would say "sure this stock is 'worth' $500K but if I sell it I'm going to have to pay a huge amount of tax on it and that will net out to a smaller number." I was looking at "losing" 25% of the value of the investment by turning it into cash. Ridiculous right? Well now I think it is ridiculous.
Every 3 months I take a long look at my assets and debts and future plans and re-balance as necessary to avoid a single thing from killing me financially.
Very very rarely will you find yourself saying 100%. Act accordingly.
I know that in the fog of war, it's easy to get fixated on what could be vs. what you actually have NOW.
About 3 years ago I was holding a very large amount of stock in a startup. The primary investor and ceo offered to do some of the early employees a solid by allowing the primary investor to purchase some shares directly from the employees.
I decided to sell about 10% which gave me a nice payday, but I decided to hold onto the remainder because 'it could be worth so much more.'
Needless to say I'm sitting on some stock that is virtually worthless. While the company in question is still active and doing ok, the real value has dropped, there is no IPO in sight, no secondary market sales opportunity, and the long term prognosis isn't great.
If I'd only had asked myself that question then, I would have sold at least 60% or more.
Probably not; yet, they hang on.
What I'm suggesting is that that's the irrational part. They should be thinking about this decision as though it's an offer of a million dollars to move to Austin, TX (because it is).
If it's paid off, it's perhaps fine. But many people owe mortgages on those houses. They will be in for a world of hurt if house prices drop. I.e. The exact scenario we are discussing here.
Agree that holding mortgages that expose you to negative equity risk is a big gamble. Like stocks (real stocks, not options or non-listed equity) it's actually a good gamble if you will be able to cover a 5 year price dip. If you are likely to have to do a distressed sale at a stress point you are setting up a big loss - smart to take the risk if you are in your early 20's (the upside is great, you'll be ok if you bust) but dumb if you are >45.
 Yes some counties will allow you to "keep" your prop 13 tax rate one time.
Really, stepping up to an even higher level of abstraction I think the most important advice is to pay attention and think about your options. I think that far to many people fall prey to inaction and sticking with the status quo simply because it is easier.
It's far from obvious whether it's better to be 25% poorer with diversification.
Unless you think the tax rate is going to be lower in the future, once you've hit the long-term capital gains threshold, I don't see a reason to believe that paying taxes now and switching investments is worse than holding investments and paying all the taxes later.
I don't think I'm cut out for the startup world.
Reminds me of a stock options seminar I went to, presented by an actual Fidelity options trader. The question came up along the lines of "so something something, what would the tax implications be?" His answer was something that I remember to this day, and remind myself when I'm worried about "something something capital gains": "I'm the worst person in the world to ask about investment taxes. If I'm getting taxed, then I'm making money, and that's as much thought as I give it."
I couldn't even tell you the capital gains rates at this moment. If I need to get out of a position, I get out. And to quote the above professional options trader, if I take a tax hit then I made money. If I try to avoid the tax hit by holding on for a few more months to avoid short term capital gains, I might very well lose money in the interim. So I just don't pay any attention anymore and settle up with the government come April.
It is, and I won't even try and argue against that. However, short term capital gains are taxed at the same rate as my ordinary income. In the worst case, when I make money my tax situation is no worse than if I made the money working. That's good enough for me to just not spend the CPU cycles. Yeah, yeah, in some situations I'm leaving money on the table. I don't care because I'd rather spend the limited cycles I have for investing in finding the next good pick, not tax avoidance. At the very best, I can save 28% on taxes. Spending my time finding good companies, however, can do much better than that (see: TSLA, AAPL in the 2000s, et. al.). I'm also lazy, and find tax stuff boring in comparison to evaluating whether now is a good time to get into Lending Club.
Another way to look at it is with an eye toward always preserving capital. IOW, if I'm getting taxed I'm making money (and therefore not losing it). However, I could screw around with some tax avoidance scheme and end up losing money. I'd rather break even or slightly below than lose money; live to trade another day. So most of the time I set an 8% trailing stop and call it a day, let the machines worry about it.
This isn't investment advice, and even if it were there are a lot of unspoken assumptions that I haven't outlined. It's probably not even the smartest way to maximize gains. But for me, personally, it's the right combination of not overthinking it, not spending time obsessing over my portfolio, and still making positive returns. And last time I looked it up, I've had two negative years in the last sixteen. So it works for me (though at my age I need to start looking less at the TSLA's and more at those sexy, sexy bonds).
This is true, but if you are making money and getting tax, but if you are also losing money and not reducing taxes (because you are trading a lot and getting gains taxed some years but not saving on taxes in down years), you will hurt yourself.
Yes, but I want to sell off to diversify the kinds of chips I'm holding. At the moment, the tech stocks I'm holding on to as a result of work are doing quite well, but I'd like to insulate myself from risk anyways.
(Most of them are naturally short-term, but even LEAPS I thought were taxed as STCG.)
Not that ridiculous! Give yourself some credit. One of the reasons taxes work this way is to incentivize people to keep their money invested.
At the same time, many of them will not agree that taking out a HELOC so you can play the stock market is a good idea.
The two situations aren't really equivalent given liquidity, etc. But at the margins they're pretty much the same thing.
I'm not sure this is how fractional reserve banking works. Banks only supply a fraction of depositors money against a mortgage with the majority supplied by the fed. They basically make their money by investing other peoples money (including fed "imaginary" money) and by keeping a relatively low default rate.
The reason that that act creates money is that the money in the deposits can still be requested by depositors at any moment -- it's still fully liquid, and thus the depositors still have their money. But so does whoever borrowed money.
The effect is compounded a lot by the fact that the borrowed money will also end up in some bank account almost certainly, and be almost entirely lent out again, and so on.
Banks create the money when they create the loan. Assume the simple case where the buyer of the house has an account at the same bank as the seller. The bank puts an credit on its books for the loan and a debit on its books for the sellers account.
The money in the sellers account is newly created money. They didn't have to ring up the Federal Reserve or get permission. They got the permission when they got their banking license.
Let's assume the buyer now wants to move that money to another bank. He transfers his deposit from bank A to bank B. Bank B now has excess funds on its books and deposits it at the central bank. Bank A now has a deficit and goes to the central bank for a loan. The central bank loans money on deposit from Bank B to Bank A and everything balances.
Now let's say he wants to convert it to cash. He goes to Bank B and withdraws his deposit in cash. Bank B then goes to the central bank and requests the funds. The central bank then gives a loan to the central government for the amount of cash that it needs. Then it takes that loan to the central government which issues cash in the value of the loan. Bank B then exchanges its deposit at the central bank for cash and gives it to the customer. The central bank now has a deposit from the central government in the amount of the loan from Bank A and so everything, again, balances.
The only restriction that banks have on creating money these days is the ratio of equity against the entire size of their balance sheet.
Reserve requirements essentially mean that each bank has to have some amount of deposits at the central bank that is proportional to the size of it's balance sheet. In theory that limits the total amount of money to a multiple of the amount of base money which is controlled by the central bank.
In practice central banks have been moving away from reserve requirements as a way to influence monetary policy and some countries have eliminated reserve requirements entirely. In the US cash and reserves doesn't pay interest and so acts as a tax on the banking system. When market rates are high like they were in the 70's and 80's this tax can be significant and at some points lead to banks leaving the Federal Reserve System all together and the creation of non-bank competitors for deposits such as money market funds.
Today most banks balance sheets are limited by regulatory capital ratios rather than reserve requirements.
A history of reserve requirements can be found here that lays it out in detail. I highly recommend it if you find yourself unable to sleep on a plane. Skip to the end if you are interest in current history:
Unfortunately there is a lot of bad information (and conspiracy theories) about fractional reserve banking on the internet which in many cases is outright wrong and in the best cases no longer relevant.
With property tax and home owners association fees even with your house paid off you still basically have a permanent rent. I guess in some sense you're playing the housing market, but seems like having more options and ability to move is a pretty good deal. Renting also seems a lot cheaper (even with bay area rents).
Being long on your employer just seems like a really stupid idea. I don't consider myself likely to be fired for incompetence and I'm not high enough on the ladder to be fired for political reasons. If my income stream ever goes away, chances are it'll be because my employer stock is doing the same.
Otherwise, I totally agree with your statement here. Especially considering that your employer is not likely to be up-front with you when business gets bad (at least, not right away), you can wind up with the "corporate blinders" on and not notice the signs around you that your stock is about to tank. I've only worked for three different companies at this point in my career, but the quarterly "business group communications meetings" always felt much more like pep rallies than real status updates, meant primarily to boost morale rather than to inform. In this day and age, to place trust or loyalty in your employer is to misplace it, as employers are highly unlikely to place either of those things in their employees.
What I'm trying to say is: your logic here is sound, and your strategy is a good one, but be careful about ignoring corporate politics.
Often times I have "sold to cover" which is to say exercised the option, and immediately sold enough of the stock to cover the cost of exercising the option and paying the tax. At that point you have shares in your company in your brokerage account where the "basis" is the fair market price when you exercised them. A year and a day later (to convert to long term gains) I've sold half the shares.
When my RSUs at Google vested they would automatically sell some to pay my tax obligation, but I would instruct them to sell half as well. Same philosophy. Get some of the money diversified, keep a bit of skin in the game in case it had a gain.
There is no difference (except for a few bucks in broker transaction costs) between doing this and selling ALL of your RSUs as they vest ie "auto-sale" and buying Google shares on the open market.
Although the latter emphasizes the decision you are making to concentrate on a single issue rather than diversify.
How is that possible? After 1 year, you are in Long-term capital gains territory, so selling now vs later is tax neutral (except for gains on gains, but that's rather minor unless you think you are in a growth stock)
The only reason to delay selling for tax reasons is if you also have a high income (over $300K?) that boosts your Long-term capital gains rate
It's possible that the second requirement is what affected ChuckMcM.
Anyway, the meta question of whether or not to pay off my house was real (my mother in law advised against, after all you get the mortgage deduction). The endowment question is also good and I find myself in the Vancouver situation in a house that I probably wouldn't spend as much as its "worth" to live in it. Future risk/reward never goes away.
What about if you live in a state with high income tax and no capital gains relief from said rate, and you think that maybe at some point in the future you might leave that state for one with a lower income tax? For example, moving from California to anywhere else.
During the dot-com bubble, long-term capital gains rates were essentially the same for most brackets (only the absolute lowest bracket had a lower rate)
Ended up paying a bunch of taxes i likely could have avoided and got something out of it (but it was painful)
Now over 10 years on after the "corrections / bubble burst" I'm finally about back where I started ... oh well I guess. I have a house and a job and all my limbs ...
Lower your expenses.
Nothing gets you into trouble more than having a high expense load. Get as close as you can to spending nothing.
The next most important piece of advice is to build up cash. 6 months of your monthly burn is cutting it way too close. You should save until you have at least two years. What's more, you should save until you can actually invest some money.
These two bits of advice go hand in hand. The lower your expenses, the easier is to save 24+ months of runway up. And the reverse is true too.
Beyond that, you can do a couple other things to prepare yourself. You could join a larger, profitable company with no history of major layoffs. (Eg Google, Facebook, many others.) Or, you could take the opportunity now to start your own company, and maybe think about what sorts of businesses could benefit from an economic downturn when you do so. Focus on getting it profitable, rather than focusing on rapacious growth. Obviously, these moves (getting a job at a stable company or stating a company and getting it profitable) are more out of your control and harder to pull off. Which is why cutting expenses and saving as much as possible are the most critical endeavors.
Thing is, unless you plan ahead, almost everyone cuts expenses far too little and too late.
I'd add figure out your lines of retreat. If shit happens, what goes first - cable, phone contract, nice car etc.? If shit keeps happening what's next? When?
Figure it out beforehand with family whilst calm over a nice bottle of wine. You won't be making rational decisions after the shit hits the fanm and your partner is stressing over how you're going to keep feeding the kids....
Common scenario seems to run something like this. Lose job, burn normal money for six months or a year whilst "I'm bound to get a new job this week", and only then think about significant restructuring. Fast forward another six months and only now is cable tv or mobile contract being looked at. Hmm, maybe we need a cheaper car. "Sorry guys can't afford to go out this month". And so it goes until you lose the house.
I lost touch with a great friend and his family in the dot com fun who went through something like this. He looked increasngly ill and stressed until one day their phone no longer rang. Never did find out what happened to them. Couple of other friends went through similar, though rather less dramatically.
I went from a higher rate than I dreamed possible to unemployable for six months+ literally overnight. As a contractor at the time I was poison to the permanent market. (Brilliant interview, but we think you'll get bored... etc)
It is a little late to be doing this.
I have pretty bare-bones expenses (Fine, my apartment is 40% of my income) but I would struggle to save 24-months of expenses any time soon.
Unless you are making like $250k and living on $50k, I would say it is a little late to be stocking up to survive a downturn. I could do it if given probably 5 years, but I couldn't pull that off in 1 year.
Yes, the sooner you make the changes, the better off you will be. Just like getting healthier.
A huge part of it is mindset. If you are striving to build 24 months of savings, you'll have to think about income and expenses and figure out which ones matter, which ones can go away, and how to improve them in general. There may not be a single silver bullet but there can be a lot of little things that will help in the long run.
OK, now take that 30% and transfer it into a savings account before anything else. It doesn't exist. Your pay is what's left. Now budget expenses and life.
Start living when you have a little insurance. Even six months buys some peace of mind.
If you have a family you have to modify a little to ensure they can have a tolerable life meanwhile, and a little time out etc. but you get the idea.
If you keep this idea going even in good times you'll be buying rental properties with it eventually.
I have done it before and I know I can do it, but I don't see the point in inflicting abject poverty on myself just so I am vaguely protected.
I understand what you are coming from, but really isn't for me. (Maybe when my income grows / I don't live in NYC...)
If you're in the tech industry you can afford to save 30%+ of your income. We have a it a lot better than other sectors and make good money.
Take a small pay cut now for a large payout in the future. Don't sacrifice your future for a little fun now.
Sometimes while you are doing this you will die.
I had two really good friends who died in their early 30's, both would have made great family men, both saved carefully, got an education at great personal cost, one served in the military, both were austere and diligent in their lives. Their parents did not seem consoled by the large cash sums that they received from these men's estates.
I think that both of them would have been well served to have lived a little more before their time was up. What's the value of amazing maths skills and financial security when you are dead?
In our industry you can save enough money through your 20's and 30's to retire in your 40's. It makes far more sense to do that then to plan on dying in your 30's.
Every generation seems to have a big economic shock it has to weather through (or two or three). I think living on a percentage of your income with 6-12 months' salary in the bank is the only smart thing to do when you're able to do it.
They meant that you should have been doing that for years
Quit smoking. $12/pack * pack/day = $4380/year
Eating at home every meal (save one/week). Went from $10/meal out to $3/meal in (I don't eat breakfast usually). $5000/year
No drinking on school nights ~ $4000/year
That's a lot of after tax cash.
Tell that to the nearly 50% of Americans who live month to month and would not be able to produce an extra $400 in savings to cover an emergency. The average American consumer is a powerful spending workhorse that keeps our economy running, but it is dangerously close to running out of gas.
Are you suggesting farming ?
For students, maybe, especially if they're entry level jobs. However, for anyone even mid-level, I don't think this has been good advice for several years. Perhaps in SF it's been fine, but even for many mid-level (and certainly sr folks) I know, finding another job "on monday" has not been the case. (getting an interview, especially via a recruiter, has still been relatively quick, from what I hear).
Employers have been far more picky than I think many people expect. Compounding this is that they sometimes have suboptimal folks in particular roles, and those people tend to exacerbate the problem when interviewing/finding new folks.
In any event, glad to see somewhat balanced view, vs the extremes we normally see.
The solution is to avoid these companies. There's a huge world outside SV. These may be known as "boring" (banks, insurance, etc.) but they will not have the stupid ageist algorithm games known as "technical programming interviews". And they respect experience. And they won't have an ageist culture, it will be ok to go home early and be with family.
I used to work at Google and I did a lot of interviews. I loved when we finally got an experienced engineer in to interview. I could stop asking the toy algorithms questions and actually talk about design.
But maybe they only want to hire fresh college grads? The company is sorely lacking in experience. I wouldn't be surprised if the reason they can't find experienced engineers to interview is that everyone with experience who is qualified to work at Google either works there already or doesn't want to.
Maybe you're in that camp of not wanting to work at Google. That's fine. I enjoyed it for a while but it wasn't for me. Just having it on my resume has opened a lot of doors.
Bear in mind at the time I had 8 years experience in non-trivial roles, including some mgmt and architecture, and they were the ones who reached out to me.
I had a google recruiter call, we spoke, then set up a longer interview. I asked about pay, and was told they don't talk about it until after an interview, which meant travel and time away from current projects. It's not that I couldn't do it at all, but it meant some schedule shuffling and I wanted a ballpark - just a ballpark or ...minimum floor. She wouldn't give me any info.
I then asked another question which she didn't know the answer to ("no one's ever asked that before!") and told me she'd have an answer in a couple days. That was ... Aug 2013? I'm still waiting.
I told the story before and someone said "well, that's no way to get a job!" as I described my questioning the recruiter. "I didn't apply for a job - they called me - they can answer a couple of my questions if they want me to take time out to come visit them".
First interview was a cold call from a bored sounding engineer-turned-recruiter. The guy asked me some questions and some I didn't know at the time, but since my experience was pretty solid, they scheduled an interview anyway.
They forgot the first interview. No call, no email, no answer from emails, etc. It's not a first, so I took it as, "shit happens".
They forgot the second interview.
The third interview finally happened, but the engineer on the other end of the phone was ~extremely~ uninterested from the beginning of the call. How in the hell am I supposed to be excited for the interview or even working with someone like that?
To make matters worse, all three interviews required me to leave work early. Because that's obviously not suspicious. Never got a call or email or apology after that ordeal.
"Welcome to Google, we hate our lives, want to hate yours, too?".
Problem is the club doesn't seem to want any new members above a certain age.
I don't think it's age but attitude and skills that distinguish people who can get "in the club." If the attitude is "SHOW ME THE MONEY" when Google is well known for paying way above market rates, or if the attitude is "WHY SHOULD I KNOW THESE CS PROBLEMS!?", when it's well known that Google cares about those problems...well, then no, you can't join the club.
At this point I've interviewed at Google but turned them down when they could only offer me what sounded like a glorified accounting programming position (in the Boulder office, which doesn't have as many teams as in Mountain View). I might have fun working at Google on the right team, but I have other options (including Amazon) that also pay well and are very attractive for other reasons, so why not?
Which is precisely the problem that was being pointed out earlier - how meta! :)
Also I have worked for Google in NYC and London so feel free to ask any questions.
I'm not being snarky; everything I've ever read, heard, and experienced with Google interviews is that these trivia algorithms questions compose the majority of the on-site interviews.  
You appear to be different, but please don't claim your interviewing style as representative of even 1/4 of Google interviewers.
> [maybe] everyone with experience who is qualified to work at Google either works there already or doesn't want to.
If memorizing algorithms is a necessary condition of a senior engineer being qualified to work at Google, that is fine. But it is disingenuous to claim otherwise, since clearly many have found it is algorithm memorization that has been the gatekeeper from getting an offer at Google, not non-abstract large systems design, linux systems internals knowledge, concurrent and asynchronous programming, etc.
 http://www.nakov.com/blog/2007/12/27/overqualified-to-work-i... "Trust me, a 15 years old schoolboy who is a good programming contestant (e.g. some of the Bulgarian National champions) can pass these questions without having any experience in commercial software engineering. I expected more software engineering questions about software design and architecture, large-scale databases and information systems, Internet applications, information security, parallel programming, threads, synchronization, development process, software quality, testing, life-cycle, software project management, agile development, etc. but the interviewers didn’t even mention any of these topics. I applied for senior position and it was normal to expect serious software engineering and technical questions, but this didn’t happen."
 https://www.glassdoor.com/Interview/Google-Senior-Software-E... (the typical response is some variation of "they asked me a question that was similar to a problem in Cracking the Coding Interview while not offering a single question about my previous accomplishments or potential culture fit."
>>stupid ageist algorithm games known as "technical programming interviews"
Unless you are in "exam mode" all the time. Spending away all your life in the pursuit of the interview preparation. This kind of interview preparedness isn't possible anyway.
when it comes to work this has a very destructive effect. team-building exercises that require people to choose between spending time with their families and participating are, in my opinion, at the least cruel and at the most nefariously aimed at driving a culture wedge between you and the company.
your children only grow up once. no second chances.
your elderly parents deterioration and eventual death only happens once. no second chances.
most of us will work the majority of our lives, occupying several roles at more than one company. in my mind this amounts to numerous 'chances' to do things better/differently/more carefully/more thoughtfully/ etc etc etc.
When I said yeah, and I was planning on commuting from NJ, he said "well I don't want to break up a family, so see you later" <end of interview>. I thought it was rude at the time, but here I am 3 years later and damn if he wasn't right. Dodged a bullet that only he saw was coming right at me.
It is not. (Like most questions that people think are illegal to ask in interviews, its merely ill-advised to ask because it asks specifically about something on which it is illegal to discriminate in hiring, and asking about it in an interview is -- on its own, weak, but still -- potential evidence of its use in a hiring decision.)
(Cargo cult HR helps perpetuate the myth that these things are illegal to ask.)
After reflecting a bit on what I may have done or said wrong, it hit me. This place had the typical startup perks: catered lunches, stocked kitchen (with plenty of energy drinks), and a younger demographic (I'm 40). My conclusion is that "More Passionate" is actually code for "willing to work 14 hour days."
"I have 14 years of commercial experience overall, with recent emphasis in high-demand technologies like RoR and Node.js"
and so do reams of magnetic tape around the Beltway
who will maintain old code? you?
So 14 years ago, she would have worked with a technology that is now slightly more than 14 years old--I'd guess C#, which is now 16 years old. Maybe 9 years ago, she worked with Ruby on Rails, which is now 10 years old. Maybe 6 years ago, she started on Node.js, which is now 7 years old. Even now, she is likely keeping an eye on HN to see what would be most useful to learn next.
In other words, she has been continuously jogging on the technology treadmill, rather than staking out a niche to ride out until retirement.
This is likely the only way to avoid moving to progressively stodgier and less interesting companies as you age. The young and hip companies use the young and hip tech stacks. Established companies wait to see whether the new thing can cut costs or increase revenues before migrating, and part of that equation is not paying a premium for specialist developers that are currently in high demand.
As humans, people can parse this sentence and infer the thinking and meaning behind it.
The related part of the problem with this the difficulty in finding a position is that computers and compilers cannot infer meaning - the statement must be exact (not precise, not accurate, exact). And for a programmer, making such logical gaffes is detrimental to speed and quality of a particular piece of work.
Could be unfair in assessing one as such, but a line of reasoning here does exist that I believe to be testable and valid. And life isn't fair.
Perhaps a piece to help you in finding a position better is to form the idea first, then reword it for the right audience (for programmers, be exacting, don't leave room for interpretation).
Skills are skills. Even if you don't have the latest iPhone or Android flavor TangoUniformVoo 8.9.
Considering that i'm a bit rusty (no allusion intended), if i'm certified in Sun's Java 1.5/5.0, can i still program in OracleJava, and what about Google'sJava? ....Though maybe it takes a little bit of elbow grease and sharp elbows to push the script-kiddies currently in HRManagement aside.
> I don't know why you've been grayed out.
Because we oldtimers know that ruby on rails and especially node.js hasn't existed for 14years. Ruby on rails had it's first stable release about 11 years ago.
Actually used to be a recruiter joke/meme : young rails wizard wanted, minimum 10 years experience (back before 2005 :-)
That said, I didn't downvote, but I suspect this is the reason.
Edit: removed this, I might have misread the post as pointed out by others -> (not being careful with facts, massive hyperbole)
_I have done one major project with Node._
She was talking about details of NodeJS, in particular "all the latest packages".
(please re-read the original article.)
I think there are problems with the current model, but is ageism really one of them?
Most people I know spent time studying by themselves outside of class/class material.
Interviews tend to go the following way: pass the initial interview, pass the programming test, pass the technical interview and never hear back (even after a couple of following up emails and/or phone calls). This grind really wears down one's self-confidence and outlook. It's been a depressing summer.
I have over 12 months of living expenses in my savings account and a very supportive wife, so I'm going to do a startup and see how far I can take it. It feels like a better use of my time and promises some new learning experiences compared to more interviewing.
Good on you. The family support is key during this - have been unemployed and non-productive, and family support helps tremendously to get through that period.
What sort of skills do you have, and what are you looking for (email me if you'd like)
It definitely can get very wearing on your self-confidence. Good luck to you!
I think going for a startup is a great idea, and it's awesome you have the family support to do this. Any ideas on what the startup will be yet? Lots of friendly people here who are willing to help in whatever ways they can!
You have to come in guns hot.
No offense, but hasn't your experience shown that, regardless of how strong your skills are, they are clearly not in demand?
I've got almost 2 decades of experience as a programmer, project manager and product manager, and I still estimate that, given the job market these days, it would take 1-6 months to line up another job if I started today. I've not seen an environment where you could "get another job on Monday" since 1999.
Most of the 'older' tech folks I know take a while to get new jobs - took a friend of mine more than 9 months. This has nothing to do with actual skills/abilities, it's (at best, being charitable here) perception of skills/abilities.
You're 17 years older :)
Official reports herald 1-2% GDP growth rate, but if you realize the inflation is more like 5-6% rather than the official 2% , the economy has, in reality been contracting.
Source: I worked on these forecasts for 2 years.
- If you want somebody who will work 14-hour days, well, that eliminates most people over 40.
- If you want to pay appropriate to someone who's 25, well, that eliminates most people over 40.
- If your company is a pit, if your management is insane, if your coworkers are psychopaths, well, most people over 40 have seem that enough times to not go there.
I've seen companies advertising for "senior software engineer". They want 5-7 years of experience. I've got 30. They don't want to pay for 30. Is that ageism? Or am I just too expensive? Or does my experience exceed the hiring manager's ability to correctly value?
I'm not saying that ageism doesn't exist. But I am saying that there are some reasons other than ageism that older software engineers find it harder to get hired.
The marginal return to experience is minimal after a decade or so, particularly when it comes to the average software job. If you have decades of experience, you need to be in a higher leverage position (either consulting or management) to get appropriate pay for the position.
This doesn't make tech ageist. My local grocery store also doesn't pay the senior cashiers any more than the high school ones.
In web programming? Maybe not so much...
If all you need is someone with a few years' experience, the younger candidates are probably going to be willing to work longer hours, for less money, than the older candidates.
In other words, why pay a 20+ year veteran a lot of money to do Rails programming when a recent college grad knows enough to do a decent job, and can be paid an entry-level salary? Not every engineer on a team needs to be senior.
I suspect this is also good career advice: if you don't want to compete with entry-level programmers for jobs, specialize in an area where more experience makes you a more desirable job candidate.
I don't have enough data/experience to confirm that, but it seems plausible.
Embedded systems programming is far more architecture and device specific than web applications are, thankfully. Embedded systems programming requires a much large body of knowledge: chipsets and their features, device-specific options, the behavior of the RTOS (if there is one), esoteric configurations in the cross-compiler or build tool, ability to interactively debug (read the instruction set, use the interface (JTAG, etc), cope with interrupts), ability to thrive with extreme resource limits, and write comprehensive tests with a nearly-exhaustive test plan; since a final release can't be rolled back once customers have purchased it.
This isn't because of some inherent superiority or prestige of embedded systems programming (salaries are lower across the board compared to backend applications programmers), it's just plain more complicated.
A 20-year senior backend programmer should really have progressed to an architect or principal engineer role at that point in her career. An embedded systems developer with 20 years of experience is more typical because of its inherent complexity.
That is absurd. That kind of bullshit talk is why ageism exists and what perpetuates it.
People know it's a problem. Whether or not they actually do anything about it is a different story. Like any "ism."
"Uncle" Bob Martin once gave a talk where he asked for a show of hands of "How many of you have been programming for 5 years? 10 years? 15? 20?". The results in his audience roughly correlated to his thesis, that the number of programmers has roughly doubled every 5 years since programming was a thing.
Are there fewer older programmers at a given company because of ageism? I'm sure that's part of it. But don't forget that there are far, far fewer programmers with 20 years of experience than with 5 years of experience.
Programming is actually a very permissive industry. There are corporate environments in which you can be barely competent and still keep your job - if not gain promotions.
That's the key to getting a job with 20 years of experience. You need to be able to convince the hiring manager that you're worth the extra money in that job. (And then the hiring manager needs people above him that will let him spend the extra money.)
The only candidates I see regularly wearing suits to interview are executives and college junior/seniors. I'm hiring you to code, not model. I couldn't care less what you're wearing as long as it's clean and reasonably respectable.
That's an ageist statement.
Based on conversations in some of our tech groups, yes, it is seen as non-existent by some.
"On average between 1989 and 2007, the unemployment rate of workers under age 25 was 2.2 times as high as the overall unemployment rate. [...] In March 2015, the overall unemployment rate was 5.5 percent, and the unemployment rate of workers under age 25, at 12.3 percent, was 2.2 times as high."
It's frightening since I'd imagine that these things I implement now may be irrelevant 10-20 years from now and would imagine myself butting heads with the next gen of kids as an older guy.
I guess we will have to see if ageism becomes irrelevant as time goes on and the current generation of 20s kids that become the hiring managers 20 years from now lose their bias as they age. I'm hopeful as tech has had a lot of growth and the current 20-30s technologists value the older folks.
Being in "regulated" finance makes for a lot of guys who have golden handcuffs. Great salary and benefits and no strong desire to ruffle the bureaucratic obligations placed on them. A very common theme is, "Hey can you work on this X feature? Would be really useful." "That sounds like a great idea! But sorry, I can't unless there is a billing code dictated by the business for that idea"
Most companies tend to judge a programmer's ability by checking if they can solve the 4 latest questions on their favorite programming algo puzzle site within an hour.
No amount of work prepares you for this.
If it's about Bash, then basic questions about variables, exit statuses and such are asked. Surprisingly, so many people's resume accomplishments don't line up with what I'd imagine would be the type of knowledge they should/would carry based on the accomplishment.
If the candidate is out of college, then I am a bit more forgiving since I wouldn't expect them to know the intricacies of certain software stacks, but for someone working with something for 2-3 years can't really explain what they put on their resume, it's a big red flag and plays a very large part in disqualifying the person based on their technical merit alone even without getting to the "does this person play well with others" aspect of interviewing.
 If you don't know what you are doing, you have no business giving an interview. That's another big problem this industry has.
I noticed that the recruiting firm that got me my current job is that the candidates that they send aren't that great. I only met this firm because a friend passed the gig on to me. They just send anyone and hope that someone sticks. But once they find someone that sticks and is doing well, they keep on coming back once the headhunting contract limits are off.
The term 'Preparation' is a misnomer here.
That process literally involves living your life on sites like TopCoder, HackerRank etc. You will likely be spending any time you can spare on such sites, to 'prepare'.
You can be the most productive person in your current job. That doesn't prepare you for these interviews.
In the same way that keeping up with current events means living your life on sites like CNN, Reuters, NPR? The same way learning a language means staring at DuoLingo all day?
Most people don't require 100% time allocation to learn something.
With very few exceptions, a job where you're doing useful work, is not going to prepare you for those sorts of data structures/algorithms memorization questions. Libraries exist, you should (generally) be using them, not rewriting them every day. And yet I've been interviewed several times for roles where my actual work has turned out nothing like those interview questions. It's merely a way of trying to check "do they have a good enough memory and grasp of the basic concepts to work things out" as a (lazy, IMO) substitute for trying to see if they have relevant, immediately-useful skills that will complement your team. The less training and onboarding you want to have to burden yourself with, the less you should be asking those questions.
Fortunately, on my current team, I had the flexibility to change up our interviewing approach. And then other teams made comments along the lines of "how did you hire such good senior people who grasped our problem space so quickly?!" :)
Something you spend time on to do better in interviews is work as far as I'm concerned. Brushing up on algorithms is work in this context. So is doing programming puzzles if you expect to see those.
> It's merely a way of trying to check "do they have a good enough memory and grasp of the basic concepts to work things out"
It's generally not about memory. That's a factor but not the intent. Programming puzzles are about finding out if the candidate has a sufficient grasp of technical basics (i.e. if you don't know what a hash table is, or if you don't know Big-O notation, that's a big concern), and yes, whether they can work through a problem. If you can't work through a problem, that's also a big concern. It could mean you just don't interview well, and that's a problem I don't know how to solve. It could also mean that you just aren't able to think through complex issues.
Toy problems are not completely representative of real work, but I find it odd when people claim they don't do anything like this in their work at all. I use Big-O to discuss work and give code reviews with some regularity. I work on problems that require juggling some moderately complex state to solve correctly, that require good choice of algorithm and data structure to solve efficiently. That's definitely not most of my work, but it's a part.
I try really hard to ask questions that someone with good grasp of fundamentals can solve, though. I stay away from questions that are dependent on a clever trick (find a loop in a linked list with two pointers) or esoteric/trendy knowledge (use circular hashing and a bloom filter!).
On the other hand, "brain teaser" puzzles seem mostly to be pointless, but I've not personally been asked one of those in a real interview and I don't know anyone who uses those.
> as a (lazy, IMO) substitute for trying to see if they have relevant, immediately-useful skills that will complement your team.
I don't generally care if people I'm hiring have immediately-useful skills beyond the fundamentals. I don't care if they're well-versed in our stack or languages or whatever. It's a bonus if they are, but I care far more that we hire smart people who can learn.
I haven't seen many interviewers (as candidate or as a fellow interviewer) who truly value "talking knowledgeably about Big O notation" or "knowing what a hash table is" anything near as much as "wrote a whiteboard implementation of topological sort quickly enough." It's the latter part that I object to.
The areas where I've found looking for immediately-useful skills helpful are (a) to ship specific projects in new areas where I'm not an expert fast and (b) to verify that someone has the patience/diligence to go deep in at least one area. Friend of mine is at a place that seems to need this desperately: about 15-25 "smart people who can learn" mostly straight out of school, but a culture that's mostly the-blind-leading-the-blind and rediscovering known solutions (or worse, rediscovering practices with known issues). He's currently trying to sell them on the value of having automated regression testing, but that's not the type of skill learning they were selected for.
It is a factor but not the purpose. Yes, if you don't remember how to do something, you'll have a hard time doing it unless you can derive it from first principles. There is literally nothing you could ask in an interview that would not involve memory, though. "How would you reverse a linked list in C"? Definitely some memory there. "How would you implement a hash table?" Also requires memory. "What did you work on at your old job?" Again, memory.
> And if you're talking a 45-min or 1-hr one-or-two-question phone screen, companies are putting a lot of value on that quickness.
Eh, maybe. I think studying up on interview problems is a good idea in general, because it gets you practice thinking through problems and recognizing similar situations. However, I don't consider it a positive to see someone burn through the "right" solution with no apparent thought. If you've seen the problem and don't say so, I have to lean toward no-hire, because pure rote memory is not interesting. If you have clearly done the problem recently but deny it when asked, I have to question your ethics, too. You might just be a genius, but them I expect you to seem like a genius when we discuss technical matters and not just when solving interview questions.
> I haven't seen many interviewers (as candidate or as a fellow interviewer) who truly value "talking knowledgeably about Big O notation" or "knowing what a hash table is" anything near as much as "wrote a whiteboard implementation of topological sort quickly enough." It's the latter part that I object to.
I don't ask questions like that and most of the my colleagues don't either. I do ask technically difficult questions and expect code, but I don't expect perfect code. I expect candidates to work through a reasonable solution out loud and write at least part of it in code that could work with a little polish. If you write terrible code and leave off-by-one errors everywhere and can't recognize them when prompted, it's probably a no hire.
> Friend of mine is at a place that seems to need this desperately: about 15-25 "smart people who can learn" mostly straight out of school, but a culture that's mostly the-blind-leading-the-blind and rediscovering known solutions
Your friend works somewhere with poor staffing practices, then. If you don't have some senior people promoting proper dev culture and practices, it's going to be a mess of poor engineering and reinventing the wheel.
I won't lie. Interviewing is tough. I've been involved with some bad interviews from both sides. I wish there was a better way, but I'm not convinced that any of the alternatives typically proposed are actually better.
I gave some interviews when I was at Yahoo that I recognize in retrospect were pretty terrible. Questions with clever/trick answers, trendy topics, etc. The only thing I never did was the pure brain teasers (a fox, chicken, and farmer need to cross a river...). I try to do better now. :\
Some tricky way of traversing a tree, or expecting you to know the complexity of every sorting algorithm that exists out there. There is so much of material out there, you'd pretty much be on top of it all the time to 'not forget' stuff with the passage of time.
Then again, it might be because I'm mainly a contractor; I didn't try to get employed full-time.
I bet that's most of it. Can't speak for Ireland, but almost every country has a lot of extra burdens and regulations that come with "employees" vs "contractors".
It's the first time in five years I'm withouth permanent work. I think I might give it a try to do a bit of freelancing or contracting for a change.
Where does one even get started though?
Don't stop at the first "no", send a few dozen applications and see what answers you get.
This is pretty much the easiest thing you can do; I'm happy with the results because my income expectations are lower (being from Eastern Europe) than those of a native British. Meet-ups, investigating companies' needs and everything else that @patio11 describes are needed for much better results.
There's plenty of startups up there working on trying to improve the state of hiring, but little has changed so far.
Being several times on the hiring end of that conversation, there's a class of great people that are very hard to identify over an interview. It feels quite bad to suggest a no-go in those cases, but living through such choices, sometimes for years, increases the fear of mishaps.
These days I mainly look at track record. Involvement in projects, conversations, issues filed, quick hacks, etc. Often language or tech doesn't even matter, as long as there's flexibility and an ability to talk over problems.
Probably not much will change, because it's an internal culture thing, not an external "wish we had this tool" sort of thing. Yes, some tools/services can reduce friction to make it easier, but if someone still has a policy which is counterproductive, and will not remove the policy, you won't get the necessary change.
Is it even internal? This just occurred to me so it's not even well-formed in my head, but I would posit that the policy is (or appears to be) shared even if it's subconscious. Systematic bias is a thing and nobody thinks they're the bad guy, but emergent behavior can be mistakenly attributed to "internal culture" while nothing gets better. Blinders.
There are a lot of commonalities in the anecdotes in threads on this topic, and if it was code being analyzed by a programmer they might say these shared behaviors could be pull-up refactored (or extract superclass, or...) from a scattershot of presumed-local traits ("policy") into characteristics of the entire system.
A nitpick: it's not the companies that are interviewing without intent to hire, it's the 3rd-party recruiters that are blasting you. Developer time is expensive and typical companies don't waste that.
I think "get another job on Monday" is a euphemism; 1-3 months would be pretty representative of the current market in the SF/SV and Washington, DC areas.
The hot jobs with modern skills are paying the most and also desperate to find people. It's people who favor older stacks who have trouble finding a job and get paid less.
The implication is that this advice has been good historically, but is "going away". In the article he argues to value jobs over job prospects.
"Make small convex investments. Learn a little bit of a lot of things–machine learning, internet of things, virtual and augmented reality, 3D printing."
I find a lot of advice to be diametrically opposed to this. Many other people advise you to "go deep" in a single topic and be the expert on that topic. (It also seems to contradict the point above it, but only if they are both read a certain way.)
So which is better advice? Is there a study out there?
To be especially valuable and impactful, it's easier to be very good at two things and own the intersection than it is to be the best at one thing.
Now just to find out where the intersection of my skills are. Right now, I'm not entirely sure what that would be.
Thus, anecdotally at least, my company (and I) advise our staff to become 'T-shaped' - have one area of deep competence, but familiarize yourself with other areas at least to the extent that you can have an intelligent conversation on the topic. This leaves you desirable for your knowledge but not forever tied to that one area.
I know you wanted a study, and the above is anecdotal, but it's based my experience recruiting and many discussions with candidates.
It seems that outside a few safe areas (compilers, operating systems, etc) it's really hit or miss on whether your skills are adaptable to the evolving tech landscape.
1. Novell Networks.
7. Visual Basic.
10. Freeway Engineering (if you were in California in the 1970s).
11. Nuclear Engineering (if you were anywhere on Earth after 28 March 1979).
There's an old saying, "Jack of all trades, master of none." Less well-known is the rejoinder: "though ofttimes better than master of one".
The point being that finding yourself with a single competency can be narrowing. Multiple points of expertise give you leverage and pivot capability. The balance is in sorting where and how to develop expertise.
"T-shaped skills" or whatever you want to call them + the capacity to learn is quite powerful.
- become a senior with one topic (you don't have to be the ultimate master on this)
- have mid-level skills on topics surrounding that one main skill
- have a junior-level skillset on the outlying topics
- have some knowledge of anything beyond that
For example: a back-end developer should be really good at back-end development but they should have a very good understanding of the front-end, DevOps, and DB as well. They should have some rudimentary understanding of how UI/UX works and system administration as well. Beyond that, they should have basic ability to understand what's being discussed regarding product development, marketing, how the OS works on bare-metal, etc. etc.
I feel like that makes a more well-rounded employee that has an easier time moving around their space, understanding their co-workers, and, worst comes to worst, shifting to a new topic when it becomes relevant.
Too much focus and you can't see the forest for the trees. Too much general knowledge and you're a jack of all trades, master of none.
Finally, note that "balance" is subjective. It's the balance that works for you and where you want to go. Deep, focused experts are valued. Generalists are valued. Find your niche.
Going wide also has benefits as you'll stumble across things that have surprising application in the areas where you've gone deep.
Why is the better than being n or m shaped (great at 2 things; fairly good at 3 things) and so on?
It seems the point about the deep skill going obsolete still stands.
Personally I like the octagram !!!
Become an obsequious corporate yes-man, but be resourceful enough that management will value you as a "self-starter" and "independent thinker".
Be quirky enough to seem creative to management, but synch up perfectly with whatever process is already in place no matter how bizarre or soul-draining. If you rock the boat too much, you -- not the process -- will be considered the problem, as it's easier and cheaper to fire you than it is to implement real change.
If all these things seem self-contradictory, welcome to the mindset of Corporate fucking America. You should see the correct answers to the Unicru tests which are actually used as employee screening for low-level retail positions.
1. Sinking too far into a rut, getting to the point where you have a narrow specialty (fine) but identify with it and are uncomfortable with even thinking about anything outside it.
2. Trying to do everything. With all due respect to Heinlein, specialisation exists for good reason. There will be zillions of worthwhile things you never learn much about because you can't spare the time, and that's okay.
In other words, being I-shaped is a problem when circumstances change, and being rectangular is a fool's errand; that's the context in which we recommend being T-shaped.
The value of the "T" depends. If you have real strong expertise in areas like identity or some security practices, those skills are super valuable and you really need a great deal of expertise to even know that the super deep sub-disciplines are. Unless you chose unwisely, a "T" skill set in most things means you'll have a 95th percentile or higher income with a two income family.
IMO, if you "go deep", and make yourself a world-class expert in something you should be deciding to be a contractor and know who the customers are who care. FTEs with deep expertise get screwed in terms of compensation and screwed worse if the winds change and you have to leave involuntarily -- nobody will believe that you are actually an expert if you were an employee. If you want to be and employee, going deep is a waste of time.
With some luck, you can turn it into Ш-learning later.
The type of person who follows this advice will have no problem going deep on the stuff you really like, that will just happen because you find things you love doing. It's much more likely you'll need the push to broaden your interests, especially after you get used to being good at a few things. You'll end up with both a balance of general and specific knowledge and know more about what you personally can do long term.
Of course, it all depends on what your goals are. Self-improvement? Money (specialization is risk, how much are you willing to take on)? Happiness? Fulfillment? Power?
So I guess the idea is to be ready to position yourself as an semi-expert in a variety of technologies that haven't gotten big yet, but could.
Just my own view on this as someone with the 'luxury' of already being 'expert level' enough in certain tech to be able to look at new things.
I assumed that readers had one strong skill already, hence the emphasis on broadening.