Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What huge mistake did you make early in your career?
303 points by jamestimmins on June 19, 2021 | hide | past | favorite | 476 comments
We’ve all been there — a seemingly huge mistake as an intern or Junior developer that you were sure would get you fired. What’s your story?

Mine: I nearly took down production by joining multiple large tables on non-indexed columns. Every time a product was updated on the site, MySQL would run my query and join across millions of records.

Infrastructure folks couldn’t figure out why the DB servers kept rubbing out of memory, and I very nervously made the fix. Thankfully the team was understanding (and appreciated that the person reviewing my code had messed up), but it was a terrible day.




My biggest mistake, that I made again and again, was not leaving a job when it was time. I thought I had something to prove, but there was never any point to it. You don't owe anything to an employer. You can't prove anything to an employer. They have absolutely no loyalty to you, and care less than nothing about what is right or wrong, wise or foolish.

So: If you ever think things might not turn out as well as you hoped, move on. There is so much else going on in the world that is at least as interesting as what you are doing, where you have a much better chance of making a difference, that spending time on things that you might not end up proud of is a terrible waste of your short time on Earth.


Every time I've left a job, I've been uncertain and conflicted. every. time. Then, after being in the new job for a short while, I thought, "wow! I should have done this sooner!"

Related, I remember a friend telling me a story. It wasn't so much about leaving, but how to leave.

She was in a job that was just a mess. Finally one day during a spectacle of mismanagement, she just quit in disgust. She said it was a mistake. If she could have done it again, she would have just shut up, quietly gotten a job, and quit in a stable, predictable way.


I was inexperienced and moved from one job to another and it was absolutely AWFUL. I feel like I got fed a load of bullshit that I believed and left within 2 months. The first place I worked was great, and the second and third place I worked were churn and burn code monkey houses that were absolutely awful. My fourth software job was (is) great, though, and better than the first one.


Yep, never ever quit with a list of what you did not like. You gain nothing from it.


I don't know about this one. Sometimes it's important to take a principled stand. I was at a stocks company for all of two weeks, hired by a former friend. The very first day I was told not to email the security team directly and that all my emails from then on must be approved by my team lead. Within a week, I was told to lie to the security team. I spent most of those two weeks either in meetings or as a glorified page.

I really felt abused, devalued, and a tool for the shitty ethics of the corporation. So one day I pull my team lead and the other lead into a Zoom meet and unload and quit. I get myself on LinkedIn, canvas a few available jobs and within two weeks get a new job. In the interviews I made it crystal clear that I valued transparency and that I would not be forced to lie to anyone. Turns out that's one of their cultural pillars (transparency is an entire slide in their slide deck).

I have a manager I can honestly engage with. He knows what happened at the last company and he values that I spoke up.

These principled stands are not for nothing. We have to be able to believe in our own ability to have a social impact, however small. Shutting up and inoffensively walking away just buttresses shitty people (or shitty corporations, which are just egregores that have been hijacked by shitty people).


To attempt to reach synthesis, I would say it could be valuable as a therapeutic exercise for yourself. However, my own experience is that choosing to vote with your feet doesn't really effect change that often. I've done it twice and while it felt good, life just kind of went on at the places I left behind.

The remaining people/mgmt will either do nothing, see it as a squeaky wheel thankfully now being gone, or maybe even add "we need to do something about attrition" to quarterly goals but not actually change anything meaningful.

So even if you get past the "oh they were just disgruntled" justifications, I find that companies are more likely to add ping pong, beer fridays, or even bump compensation before significantly trying to change the culture.


This is not good advice for most people. You should always leave on good terms regardless of how much you hate a job. As an employee you often don’t know the constraints or risks of a project so you can’t make a firm judgement on ethics or transparency. It’s a small world and you’ll likely run into former colleagues again or rely on them for a reference (even without your knowledge). Under game theory there is no advantage with being a being a difficult leaver.


It's our duty to our fellow human beings to construct a world we all want to live in. That can sometimes mean pushing back on bad behavior when it occurs. The only way we get a world that respects human dignity and values honesty is by holding each other accountable for our actions.

Game theory has no ethical compass. I can't think of a worse instrument to apply to human society.


I appreciate this advice, and generally agree, but game theory doesn't take externalities into account. If your employer is particularly toxic and hiding it, a noisy exit might bring extra scrutiny that could help other people who stay with the organization, though maybe not. Plus, sometimes the previous employer makes leaving on good terms impossible, like if your employer is being criminally investigated for tax fraud.


Telling the uncomfortable truth plainly is a reward, a grace to someone. Why would give this favour to a bad employer? Don't lie but let them sort out why you (and other valuable people) left. Find a friend to vent to.


Because that's not compassion. The mercies we offer are chances for redemption. My team lead was young and inexperienced. I hope, with wisdom, he learns that telling the truth maximizes good outcomes.


Sure, that's a nice thing to share with people. But im not sure you should give such favour to a (bad) company.


Exactly - it's a judgment call.

When the compassion & effort of providing the info looks like it may possibly have a good effect, and is likely to be reasonably safe (e.g., minimal retribution/fallout effects, and is delivered with kindness - it can be good for all.

But one should first consider the consequences. Sometimes it really is best to just get away while the getting away is good.


You also don't know who your boss knows or who you'll run into again. Burning bridges is satisfying but I'm sure I was turned down for at least one job based on the circumstances under which I left. Even though it was all supposed to be confidential.


That's really hard to do, but I agree. It's a bit like, "Don't tweet about some controversial topic when you're angry and drunk".

I do make that list. Alongside the negatives I include positives. If I decide to resign, then the list has served is primary purpose. There is no sense burning bridges or trying to trying to change everyone's priorities to your priorities.

Similar to the list, is the exit interview. One of my regrets is that I gave that list verbally in a rant to a HR member during my exit interview. (Not ranting at the HR person - I was very polite and made it clear that my comments were about my team's management). But I still regret it. You never know who is going to read it, take offence and encounter you later in your career. War stories are for the pub.


Why was it a mistake? What happened?


She put herself in a position where she didn't have a job, and the jobhunt and interview process had a pay-rent-and-feed-myself urgency.


Counterpoint: I consistently leave jobs too early when I could have instead stuck around and made larger impacts during restructurings or just sat around and done nothing and gotten paid. Would I be better programmer? Who knows ¯\_(ツ)_/¯ But would I have gotten paid and had a more intact career? Certainly.


As long as you hung around long enough to figure out how to work with difficult people, and learn how your design decisions and code actually run in production (ie: you got to fix your own bugs) then you probably didn't miss much. I worked with one person who had an impressive string of senior roles at big companies, but my personal experience was that they implemented a dumpster fire using the latest hot new thing, and quit after it blew up production a few times.


What do you mean by having an "intact career"? Did leaving too early harm your career, and if yes, how so?


Depends on the company you’re interviewing with and (IME) region you’re looking for work. In my 26 years since graduating university, I’ve had 13 jobs. So an average of 1.8 years per job. My longest was 6 years at Amazon (ironically enough considering they have such a high turnover) and my shortest was 3 weeks (I knew during the interview it wasn’t a good fit, but I was young and they threw a stupid amount of money at me).

Where I am now (Seattle area), it isn’t really seen as a that big of a red flag. I always had good reasons for leaving. Other than 2, I’ve tried to never burn bridges intentionally and was even a rebound employee at 1 place (never tell HR during your exit interview what you really think of them).

I grew up in the South and moved back there for a brief period of time. It was very hard to find work down there because they called me a “job hopper” (which I was/am). I was asked several times “You’re going to give me a year and then be gone. Why should I hire you?”. Never had a good answer when I was in my 30s. Now that I’m in my 40s, I have a pretty good one.

That’s been my experience. I’m at a place now where I can see myself staying for awhile. I’m not curing cancer or doing machine learning or scaling things to gagillion requests per second. But I like the people, like my boss, and the problems are meaty enough to engage me during the day, but not so complicate that I work on them in my off hours.


> (never tell HR during your exit interview what you really think of them).

I'll offer a corollary: have already said everything you think before you quit. That way, there is nothing else to say during the exit interview anyway.

There are two reasons for saying what you think while you're still employed:

1. How will anything improve unless you voice your concerns? (Not saying they will when you do, just that they definitely won't when you don't.)

2. You are paid to think and then communicate your thoughts. If they only wanted your body, they could have bought a robot -- no, they're paying money for your brain too. Give it to them.


I agree with you. I generally don’t hold anything back in my 1:1, skip level 1:1, etc. But if you’ve communicated effectively, it makes no difference to rehash it to HR on the way out the door. HR, usually, doesn’t care.

And I’ve left positions where the company pivoted, and I didn’t agree with the pivot. Told the powers that be, but the pivot was done. No reason to dredge it up again.


> “You’re going to give me a year and then be gone. Why should I hire you?”. Never had a good answer when I was in my 30s. Now that I’m in my 40s, I have a pretty good one.

What's the answer?


As someone who has a number of short stints on his resume, I usually go with, "There's a big difference between ten years of experience, and one year of experience repeated ten times. I have experience with a wide variety of frameworks and architectures. I've done real work in both front-end and back-end codebases. I've worked in Windows environments and Linux environments. I've even done some DBA work. I can bring knowledge of a wide variety of best practices to bear on any problem that I'll encounter at this current role."

The other thing I've found is that the companies that make a really big deal about "job hopping" and "employee loyalty" aren't really ones that you want to work for anyway. They're paranoid about employee loyalty for a reason, and rather than look at their own management to see why employees are leaving after short stints at that firm, they blame the employees, usually with some absurd generalizations about "millenials" or "gen z".


That doesn't answer the question at all. You were asked "how do I know you won't leave in a short time frame?" and you answered the completely different question "what benefit (to you) have you got from having lots of jobs?". If anything, it suggests you view leaving companies after a short time as a positive thing you'd want to do again.

By the way, I don't agree that if a company would like employees that tend to stick around then that indicates some sort if weird cult-like behaviour. It's more like a recognition that productivity naturally is lower in the months after someone joins than after they've been there for a year or two. Choosing people that are able to stick at a job for a few years is just a sensible business decision. Admittedly it does have social benefits too i.e. there's a better work environment for everyone if you get to know other people over a period of time (in spite of some HN commenters' views that we're all robots that shouldn't care about interactions with coworkers). But, in my view, even that is reasonable justification.


Keep in mind that the answer was not written by the OP of that comment.


You can also mention how companies encourage disloyalty by paying new starters significantly more than existing employees. I’ve seen great people working hard towards a promotion, putting in the hours, playing everything right - only to be passed over for a promotion due to management politics and a boss that was looking out more for herself than her team. Meanwhile, another employee simply just left and walked into another job with a £25k pay increase. As long as companies continue to be myopic with regards to salaries, it incentivises people to jump ship every couple of years.


Probably better off responding more along the lines of:

I bring a wide array of industry experience, that you'll benefit from. I'm hoping for a longer term engagement, but even if it's a shorter one, I typically leave them better than I found them.

In your own words, ofcourse.

P.S. I suspect your statement will get you rejected from companies that know they have the same problem but can't fix it. If you don't need a job, be as honest as you want, if you do, you're better off going with the positive spin.


Yup, this. We took temporary pay cuts last year, which was more or less understandable, business was down. But I did a couple of interview rounds and got offers that were 15-20% above my pre-cut salary. And people were shocked that I was leaving.


To be fair: the company might not have a need for the skill level which allows for a drastic pay increase.


Usually say it with more tact, but it is along the lines of - “Yes. I’m a professional new guy. I’ve seen and worked on a lot of different types of technology, and I come up to speed quickly. I’m not afraid to ask ‘dumb’ questions when I can’t find what I’m looking for.”

Something along those lines. I lean into it. But as I said, it doesn’t come up too often in the PNW.


I mean, that’s cool, but you haven’t actually adressed the problem, which is that I’ll spend 3 months training you, only to have you quit after 9 more. That’s not really a good investment


His point is that it will only take a month to get him up to speed, not 3.

But I agree that a better answer would probably be something along the lines of "I have so much experience that I deliver in a year what the average guy would give you in 5; and if you're good to me, I might well stick around as much as I did at X", or something along those lines.


If he's getting hired, it's obviously good enough.


Depends on how often they’re hired versus not.


How about “I leave subpar companies quickly and stay in great companies like Amazon for many years”?


"You're gonna have a good year"


GP here, responding directly. I've been told by a ycombinator company that they want to see 2+ years at an engineering heavy company. I also just regret not making more conventional career choices that you don't have to struggle to explain during interviews. Far easier if you have an unbroken line of employment. But alas.


hahaha, so true. But now a days having a career that is more than 3 years is considered weird !


It depends hugely on job location market company and myriad other circumstances. Again, HN average experience is not necessarily worldwide average experience :).


> They have absolutely no loyalty to you, and care less than nothing about what is right or wrong, wise or foolish.

This is why one should choose opportunity over loyalty -- have no loyalty to location or corporation. Be an absolute opportunist, doing whatever is best for future in the current situation, unbound by the past.


> My biggest mistake, that I made again and again, was not leaving a job when it was time

This.

My OH's currently moving jobs and we have been discussing how overdue this move is. Somehow once you make the decision to leave it brings all the blur of past injustices/lunacy* into proper focus.

The last time I left somewhere, after a fairly long relationship, they went into insolvency proceedings within a year**

* For my OH's move: her old lot couldn't even get the announcement of her departure right - it was announced by accident by a senior manager on a conference call, two weeks before she'd even seen, never mind signed the new contract, or given notice ... <rolls eyes>

** not my fault, honest


I made this mistake once in my first proper job. It took me 2.5 years to leave a place where I was really unhappy.

So, move on from bad jobs, move on from meh jobs, and be quick about it. Eventually you'll find somewhere you enjoy and you can stick around for a while.


This. Your working career is actually pretty short - for many of us in tech each year is at least 2 percent of your total working life. And hit 40 and it might be 5 percent a year. Do you really want to waste 5 percent of your working life/opportunities/salary doing a job you hate?


I can only second it so many times!! I can't say i made SO many mistakes in my career, but i have left my then utterly dead-end first job too late, in 2007 while things were abundantly clear about it by 2005 already and i wasted two extremely frustrating years trying to keep it afloat. Lives of everyone who stayed were ever more destroyed than mine was.

I was young, and was making more than literally every single person i knew, i bought an apartment in a year in cash. I thought it was once-in-a-lifetime job which will never happen to me again.


I agree, but just a note: it doesn't do your career any good to hop a lot. I won't hire someone that looks flaky. If you find yourself at a bad job, sure, move on. But work on sussing out the good from the bad so you don't put yourself in a bad situation repeatedly.


Last I checked, nearly everyone in tech hops jobs frequently. In fact that’s common advice for comp advancement. In my personal experience that advice holds true, even though I change jobs much less frequently than most of my peers (which means my comp tends to lag behind theirs).


In my experience, it is hard to tell the difference between someone who killed it at a job for 1 year and moved on from someone who couldn't hack it and moved on. Promotion at a company signifies that they were well received and able to adapt and meet milestones. Same job title in and out reads to me to believe that they couldn't hack it and were no goes development opportunity.

IMHO, a promotion before you leave confer s legitamacy to your tenure.


What if there are no promotions to be had? My longest tenure at any one company was 8 years and I never got promoted because it was all remote and I was technically an independent contractor. No one got promoted.


I am not saying it is a perfect system, but that would a red flag for a full time employee.


I've refused to hire people who job-hopped every year or two.

With a record like that, there's zero reason to expect they're going to stick around. Why invest in bringing them up to speed if they're just going to leave?


Use this One Weird Trick to keep employees: pay them money.

With the exception of my current gig, my early career was hopping non-stop. My shortest stint was literally 4 days, my average was probably about 1 year. Each time, pretty simple, you look at the paltry 2-4% increase being offered by your current employer versus the 20%+ increase from hopping literally anywhere else, and, well, you surely see why people hop ship all the time.

Your "investment" means very, very little when it's not backed by the thing that actually matters (the money).


Exactly. I'm happy where I am but I've currently got companies willing to increase my salary by 2-3x if I leave my current employer. I'm totally going to use that as leverage in negotiations for a raise. I'm due for one.


But that really only helps low pay was the reason for hopping. The comment that sparked this discussion talks about a bad environment etc. as a reason for hopping. Wads of cash won't help retain an employee that's obviously bad at judging whether they'll be a good fit at an employer.


Just to point out. At my current workplace I got a huge pay increase only in one situation. „When I said I quit”..

Employer runs a business and will do w/e is best for him money wise. If ppl want to work for 50% what they are worth - employer will alow it (bad employer).

Ppl tend to quit such places because they see no options to advance.

Employers rarely learn from such cases. For me its the issue of poor middle management not managing career of pupils correctly.


Because maybe they’re just looking for the right environment, and maybe you’re it. Hiring is like dating, after all. This reads instead like an egregious case of the fundamental attribution error, and one that’d I’d view as quite the blunder by my management team, since the real consequence is limiting our access to the talent pool.

Even aside from the FAE, this kind of attitude also systematically reinforces structural discrimination within an industry, since candidates from unusual or unprivileged backgrounds are less likely to have been offered major career opportunities, or been obliged to juggle many life priorities along the way, and thereby more likely to have taken whatever they could get, or could realistically manage. Yet these can be some of the most interesting hires, thanks to their diverse/alternative perspectives, and may also be top-tier outliers when it comes to resilience, self-management, and self-directed learning.

It’s also a failure of values since there’s an underlying assumption that people are interchangeable widgets, which is both false and dehumanising.

For my own account, I hopped a lot in my early career before finding places where I felt I could belong and stay for years, and this pattern has repeated. So you’d likely have taken a pass on me whilst I went on to become senior this and principal that elsewhere, en route to starting my own firm. Go figure.


> Hiring is like dating, after all.

Past behavior is a pretty good predictor of future behavior. If you're dating someone whose previous 3 spouses died in mysterious kiln explosions, I'd stay away from the ceramics factory.


Well I think that’s an absurd and extreme example, so the reductio ad absurdum is self-limiting, since serial killers are, hopefully, not the common case.

How about this analogy instead, being more in the realm of the applicable and commonplace: I broke up with many girlfriends, and had many short- and medium-term partners, before meeting my wife of over a decade now, who continues to knock my socks off to this day.

In practice, past performance is not a guide to future outcomes. How many times have we heard this caveat applied, in far more predictable markets than hiring and/or dating? Past performance of employment candidates is a subjective and observational assessment; relying upon it (especially in a negative framing) is to invite not only ones own biases to take center stage, but also those of others; see earlier point re. reinforcement of structural discrimination.

At most, someone’s past successes qualify them for my interview shortlist, but there are many other green flags besides, and I’ll save my type 2 errors for the back half of the hiring funnel, after assessing someone’s potential.


I'm not the person you're responding to, but I'm fairly certain that this was one of those so-called "jokes" you may have heard of.


Perhaps, but jokes can convey meaning, and I think this was the case.

[Dying is easy / Comedy is hard]


Man, I love Hyperion.


> whose previous 3 spouses died

Employment is not marriage.

Hiring someone who has hopped jobs 3 times is more like dating someone who has dated 3 other people before you.


And considering that, someone who has only held long stints at previous jobs probably gets a red flag for not being desirable enough to more companies or just plain lack of curiosity.


> Because maybe they’re just looking for the right environment, and maybe you’re it.

Maybe, but they obviously also have a track record of being a poor judge of environment, since they got it wrong so often.

> It’s also a failure of values since there’s an underlying assumption that people are interchangeable widgets, which is both false and dehumanising.

Well, job hopping (in my experience) often signals that the candidate thinks of employers as interchangeable widgets, which is just as false and dehumanizing. Employers are but a group of other humans. It's a different kind of interpersonal relationship than between friends or family, sure, but it's still just as much an interpersonal relationship.

That said, sometimes things aren't what they seem, as you say. It becomes a question of judging the risk and the reward.

As a tool, there's also the interview, where one is supposed to try to figure this sort of stuff out.

----

Note that I'm not saying you should stay at a crappy job. In fact, I came in here to post specifically that my biggest mistake may have been staying at a crappy job for too long. (May have because you never know -- maybe that's what made me value a good job so much.)

I'm just saying that despite agreeing with most of your comment, when I'm making the hiring decision of someone, I will read the implied "cannot pick an employer they fit with" in a job hoppers resume. I will try to work past that bias, but candidates are rarely able to defend that very well. What they say usually ends up being a roundabout way of saying "so far I've not been very good at picking an employer I fit with."

And that is going to weigh into the decision.


If someone says:

> "so far I've not been very good at picking an employer I fit with"

then the only inference one can draw, is that they're bad at self-promotion, since there are zillions of ways to present the same kind of facts with a more positive spin. My view is that marketing instincts are not super relevant except when hiring directly for the sales/marketing function, and speaking as someone who is absolutely terrible at marketing, you can even make CEO without it.

> but they obviously also have a track record of being a poor judge of environment, since they got it wrong so often.

I recommend reviewing an article (even the wikipedia entry will do) on the Fundamental Attribution Error, because this statement is a perfect illustration of the FAE. That is, there's nothing intrinsically obvious about track records, and in particular, assuming negatives such as this, is a great way to miss out on great people.

As I've said elsewhere, I suggest biasing a hiring funnel for Type 1 errors early on, and Type 2 errors later.

> employers as interchangeable widgets, which is just as false and dehumanizing

Well, no, employers are, for the most part, companies, so they're not humans; that's certainly distinct from bosses, of course; but nevertheless, the power gradient between employer and employee is steep, sometimes incredibly so, which is why the overwhelming majority of industrial relations law is essentially protecting the individual from employer abuses.

To look at that another way: it's much more impactful on someone's quality of life for them to seek a new boss, than it is for a boss to seek a new staff member. I've never appreciated the fiction of "we're like a family", a paper-thin deception that doesn't survive past one bad earnings quarter, and I don't inflict it on my own crew.

Curiously, one of the goals of much collective bargaining is to make employees and employers nigh-on interchangeable via standardized agreements. Corollary: the unions of today would make Adam Smith proud.


This comment grew way too long. Tl;Dr: I agree with most of what you say. However, I think employment is way too complex a multi-way relationship to be considered interchangeable by any party. By that I mean it's possible to do so, but at a great cost of productivity for all involved.

That means employers shouldn't instinctively fire employees in any situation; first, they should make a reasonable effort at fixing the issue while retaining the employee. (Be it through training, changing their role, whatever it might be.) Anything else is a great hidden cost of productivity.

It also doesn't mean employees shouldn't leave bad jobs -- it just means they should make a reasonable effort at "changing their employer" as someone put it. If that fails, quitting is necessary, but also that is at a great hidden cost in the complexities of employment.

----

> then the only inference one can draw, is that they're bad at self-promotion, since there are zillions of ways to present the same kind of facts with a more positive spin.

They do try to spin it, of course. But their longer message boils down to "somehow I keep ending up at jobs where I don't feel like I belong."

That doesn't have to be bad, but if it seems like they just keep shooting from the hip and just hoping to end up somewhere good, then there's very little to reassure me that they will. If they show me they are working actively on fixing the problems (whatever they are) that put them in bad places, then that's a completely different matter.

> I recommend reviewing an article (even the wikipedia entry will do) on the Fundamental Attribution Error,

I strongly believe people's actions are primarily responses to their historic and present environment, so while I do worry about FAE-type problems in general, this is not one of the situations where I think it applies too much.

You're right in a sense, though: I did use the wrong phrase. It's not that I believe the candidate is bad at picking employers, only that a history of repeatedly ending up with the wrong employer leads me to require more evidence than usual that this is also not one of those unlucky circumstances where they somehow end up with the wrong employer -- maybe through no fault of their own. (Accidentally speaking of correlation as causation is a big problem, and I readily admit this was a huge mistake of mine in the previous comments.)

I am worried about one common inferential error, though: the people who don't have resumes full of job-hopping could very well have just the same propensity of ending up with the wrong employer, only they don't take action on it. Is that situation even worse? Maybe. Probably. How likely is this confounder? No idea. It certainly makes the problem much more complex.

> Well, no, employers are, for the most part, companies,

Technically, yes, an employer is nothing but a legal entity with some accounting rules to follow.

That's not the sense in which I view employment, though. It's also a set of co-workers, it's processes through which work gets done, it's perks, it's insurance, it's the actual jobs to be done, it's consumer desires, it's supplier knowledge, it's future prospects, it's social status, it's connections and a network, and so on and so forth. Reducing it to a legal entity is an over-simplification. If it were that simple, then sure, they'd be exchangeable. (Maybe this is my fault for choosing the wrong word again; would it have been more clear if I said employment instead of employer?)

I don't contest we have an awful history, present, and future of employers abusing workers. I don't think that makes employments interchangeable -- if anything, it's the opposite.

> I've never appreciated the fiction of "we're like a family"

Neither have I, and I think I said as much in my comment too.

> Curiously, one of the goals of much collective bargaining is to make employees and employers nigh-on interchangeable via standardized agreements.

I do admire the efforts of collective bargaining that have gotten us this far (I live in a country that was strongly shaped by this process, and it's on many international scales one of the best places in the world to live and work.) I can't really say many negative things about it.

I don't think commoditisation of employers and employees is a way to prosperity. There is a lot of hidden complexity in the relationship between employee and their employment and the employer that is incompatible with commoditization and interchangeability.

Just as I cannot take whatever I have learned (technology, processes, co-workers, consumer desires) and productively apply it blindly in a new employment, my employer cannot take another developer of similar demography as me and expect them to know the technology, processes, co-workers, and consumer desires the way I know them after so-and-so many years working hands-on with continual improvement.


> Well, job hopping (in my experience) often signals that the candidate thinks of employers as interchangeable widgets, which is just as false and dehumanizing

Really? In my experience it signals that most humans recognize that the vast majority of employers are not interchangeable (hence looking around). And I'm not going to be upset by dehumanizing corporate organizations that are not human in nature in the first place.


Frankly speaking you really shouldn't be hiring anyone with the expectation that they'll be in their role more than a year or two. Ideally, you're working with them to move into a position with more responsibility and then you need to backfill their position anyway. What does it matter if their next role is with you or somewhere else?

It's a lot to ask for every company to have a role available for every employee when they're ready for more responsibility, and expecting them to just hang around waiting for their chance is pretty naive, I think.


I'm seeing this with my current employer. I'm helping out the hiring manager with interviews and technical assessment. He's trying to target people who will stay with the company for 8-10 years. It's ridiculous. (Almost) no one does that. Especially when you can make a whole lot more by changing jobs regularly.

Personally, I don't care about working on cool technology. I care about getting paid. I can't afford to buy an absurdly overpriced house without getting paid.


Most of the other people we hired back then lasted 5+ years if they lasted one.

This chap had about 10 jobs on his resume, 6 to 18 months in each, on average less than a year.


I jumped every 2 years and tripled my salary in 10 years. I started way under paid and made it to average to slightly higher than average pay. Guess what the employers were happy to underpay as long as they could get away with it.


Well, I think other people hire them because there’s high demand for talent and that kind of churn is expected.

If you’re not having difficulty hiring while rejecting those candidates, that suggests you’re probably attracting people like me who stick around longer (for better or worse all around) or something about your offer is appealing to talent who have a knack for finding good long term opportunities.


Conversely, I've worked at places where the people who had been there for 5-10 years were just coasting, the product was stagnant, and constantly hiring new people was the only way to get out of a rut. They were paying these people for maintenance and to hold on to institutional knowledge, but everybody was so comfortable that very little got done.


> With a record like that, there's zero reason to expect they're going to stick around. Why invest in bringing them up to speed if they're just going to leave?

People don't job hop for fun, they do it because they find better opportunities elsewhere. The way you say it, it sounds like you're holding back everyone you employed from getting a better deal.

If you truly offer competitive compensation and work conditions, than that person wouldn't have a reason to leave, but if 2 years down the road you didn't keep up with what others are offering them, I mean, the question is, why wouldn't they hop?


Because employees enjoy making more money.


What is "frequently"? I'd like to see a minimum of three years ahead of a transition, and a decent story why. Often the contract ends, the company is sold and the new policies are draconian, etc. Fine.

Given the level of effort involved in bringing someone on, my outfit cannot afford to be staffed like a fast food joint.


From memory: last I heard the average is 18 months. I don’t know if that was accurate then or still is, nor how much it varies regionally or by any other criteria (I can look it up later but had a quick moment to reply and HN moves fast and might fill in the gap before I can take more time to look).


What is an acceptable duration for someone to stay at your outfit?


Plenty of career people at this consultancy. Also transplants. I just passed 5 years.


Consulting is a little unique in my experience - if there's a steady stream of work, you never really stick with the same client full time for the full 5 years. It's a lot easier to keep your skills fresh and move around to find interesting challenges


Does your employer offer its people the 10-20% annual salary increase so they do not have to look elsewhere for what the market is willing to provide? I ask this seriously.


No, that sounds a bit excessive.

If you're growing the business at a healthy clip, maybe those sorts of raises are sustainable.


I’m sorry but I very much disagree. Each hop netted me much better work-life balance and much higher pay, and actually broadened my horizons and whag I bring to the table because I have experienced a wide array of corporate cultures and team styles.

What DOESN’T do wonders for your career is thinking/hoping/praying that sticking it out at a subpar company year after year will magically bring you those same benefits, if it’s not already happening and you’ve already asked politely for it to be resolved.


I'd just like to say, sometimes moving on is within your company. If you're somewhere that's good about letting folks try out different parts of the business, it can be good to stay.

Make a career change and get a new set of folks around you without having to leave everything behind


I got a good client and he kept giving me more work. 15 years later it was the only thing I could list on my resume. More variety also means experiences and learning.


Somewhat similarly, I took a job I had a bad feeling about (I was in my early 30's) and things worked out accordingly.

Basically taking jobs I knew I wasn't a good fit for because I needed them.


I've adapted my mindset to think of my job/role as a car lease . Expires in 3 years.

I don't get too comfortable, not too attached, tend to live in the moment, enjoy the good parts, ignore the bad ones, think of the next person in my role, stay on the lookout for my next job/role, but not overdo it.

I've been able to stick to this, but haven't come up with a ways to enforce it.


Seems this is more common than I anticipated. That said, I've only done that at my first job, not so much because I felt like I owed my employer anything but because it was my first full time job as a developer so I questioned every descision.


I really love your comment. Too few people realize this.


Brilliantly put


This is largely true but I know there are employers who do care and who are loyal to their employees. It's all a matter of people and who you are dealing with.


That's my experience too. As a junior, however, I couldn't tell good employers from bad so I tended to pick bad ones (they vastly outnumber the good ones, after all) and then stay with them for far too long.

I mean, I value continuity and a healthy long-term relationship with a reciprocating organisation more than most, but the first few years I spent at a crap shop for crap pay and with only fear of my superiors motivating me? I think I could have gotten the same experience but better in a few other places I've been since.

(On the other hand, maybe that first experience is what made me so picky in selection of employers after that?)


The problem is where to find these companies. Job review sites are either turfed by companies who tell their employees to leave a good review, or by disgruntled leavers who want to unload.


At my first real technology job I worked at an early web hosting company. Cutting edge stuff in 1996. We hosted full domains for $60/mo and tilde domains (e.g.; domain.tld/~myname) for $25 or $30 per month.

We hosted on BSDi, a proprietary BSD and every domain customer had their own sub-directory with user and group ownership.

As an aside, BSDi would happily let you run `rm -rf .` and would walk up to root and back down through every sub-directory deleting everything on its way.

One day, probably a month or two into working at what was my dream job, I accidentally ran `chown -r zelphyr .` in the parent directory where we had all our domain customers instead of my personal domain directory. (I can’t remember why I was doing that.)

Instant panic. I just knew I was going to be fired. I sheepishly went to my boss, Todd, and told him what happened. He grinned and exclaimed, “Cool! A challenge!” and had me sit next to him while we wrote a Perl script to look at the paths in /etc/passwd and chown that directory back to its original user.

I’m eternally grateful to Todd for being such a great boss.

Edit to add: in reality, my biggest mistake early on was not learning fundamentals. How binary and processors work, how machine language works and how higher level languages compile down to machine language. I would be a much better programmer had I done so sooner.


I had a similar screwup, different outcome.

Was working for a brokerage as an intern, IT gopher stuff, pretty much my first office job.

A month in, I’m told by my boss to delete a directory on the file server. Which I do. I scurry off and rm -rf it, think it’s taking a while, so saunter out for lunch.

Turns out that that directory was an active mount point for the root of the filestore on which they kept all of their user drives, legal documentation, everything. rm had got about halfway through wiping it before they pulled the plug on the machine.

Turned out they didn’t do backups, because “nothing like this ever happens”.

My boss’s boss flipped his desk over the incident, hurled a monitor tree at me like a battleaxe while purple and screaming, incandescent with rage. My direct boss of course fired me. I was literally booed out of the office by the traders, who chucked cups and bottles and crap at me as I did the walk of shame. Grown-ass men. I was 18.

I learned then that most people everywhere just want someone to blame for their own shortcomings, and being that person can be a valuable service if correctly structured.

Edit: I lie. I learned no such thing at the time. It dented my confidence and gained me a reputation in the city - and not a good one. It was however one of the formative experiences that led to me starting my own business, and never, ever treating anyone (or allowing anyone in my business to be treated by anyone else) in the fashion I was treated.


SO many lessons here for a lot of people.

1. Always do backups. REMOTELY. OFFSITE.

2. Check your backups regularly. Make sure you can restore from them if needed.

3. Don't ask Interns to run delete commands casually. Heck, don't run deletes casually at all.

4. See #1.

5. Don't be a dick. This was really bad for the firm but having worked at investment banks myself, people can be dicks especially in high pressure environments like that.


6. What people tell you they want done and what they actually want done are often completely different.


Never test backups, always test restores.


I did something just like that early in my career, working too long hours with little sleep. Someone was fired... the head of IT who was responsible for backups and didn't have one. Felt really bad about that. I was dressed down in front of the company like a scene from full metal jacket. I wasn't let go, but I took a hit which from which I never recovered and I left eventually a couple years later.


What a bunch of scumbags. There a are so many things wrong with the company and its workers under the light of this story...


You lost me somewhere between "I’m told by my boss to delete a directory on the file server. Which I do." and the rest of the story.

Did you misunderstand? I don't see the logical conclusion


In that type of company, shit flows downhill - very alpha male chest thumping workplace, lots of cocaine floating around. The IT guy was a buddy of the owner, and was clearly ashamed of the situation but wasn’t about to stick his neck out for the PFY, and I was basically there to run trunk cabling in plenum spaces and get some real world Linux sysadmin experience. Someone’s head had to roll, and it was mine, as it was a very cheap and disposable head to lop off.


Thats disgusting behavior


A monitor tree?


A desk mounted vesa armature with four LCD monitors on it in 2x2. 2002, so would have cost an absolute fortune.


Totally random story:

I was one of the beta testers for BSDI, in 1990 (long before Linux or FreeBSD). They sent me QIC-40 tapes that I used on my fancy new 386/33 with a SCSI tape system that I bought just for this purpose. The problem was, I kept getting weird data corruption - compiling anything would spit out random errors that obviously weren't in the source files.

After a few months of this, I gave up and installed OS/2 instead (from floppy!). It failed on install with a cryptic error message. I called OS/2 support, gave them the error code, and they asked "Do you have different speed memory modules installed?" Bingo, that was it. I never did install OS/2, but the install process was invaluable.

I didn't end up using BSDI much. Most of my work was on the CSC department's Pyramid timesharing system, so I just used a terminal on Windows (3.x). RIP polyslo.calpoly.edu.


Would you mind elaborating on how you went about learning the fundamentals? I think id benefit from the same.


Check out the online course Nand2Tetris. I took it my senior year of college as a business major (but had a SWE internship/full-time offer). It was an interesting course and definitely filled the gaps in my knowledge OP describes, but didn’t really make a difference for me as a SWE.


“ Code: The Hidden Language of Computer Hardware and Software” by Charles Petzold and “The Elements of Computing Systems” by Noam Nisan and Shimon Shocken are both a great introduction.


+1 for Code, fantastic book especially for self taught developers


I have both books but yet to finish

The latter book you recommend is Nand2Tetris I believe


I've read both books and done the Nand2Tetris course.

I think Code by Petzold is decent in that it's a book you can read in bed etc. but it spends a long time discussing mechanical relays as an analogue and later discusses various processors in depth.

I think Nand2Tetris is slightly better in that it focuses on what I'd consider to be the most important stuff, but it's an actual course and requires significantly more effort.

Nand2Tetris is probably the best course I've ever done though, including my university studies in Physics and ML. It's fun and you learn loads.


I agree somewhat with your assessment of “Code”. I read it first and then “Elements of Computing Systems” and I found reading them in that order was great because the latter puts into practice what the former simply describes.


While you should definitely check the links from other commenters, and targeted resources like that are great, what has worked wonders for me is to just apply a general curiosity. Any time you get a chance to dive into a fundamental topic, do so. Start at wikipedia pages, and before you know it you'll have your bases covered.


Try Computer Systems: A Programmer's Perspective. - https://csapp.cs.cmu.edu/


Held too many strong opinions for really no good reason other than technical "virtue signaling" of sorts. At the time, it felt so right. I had all the perfect, rational arguments.

Years passed, experience and nuance decayed the strength of my opinions, and it was fascinating to realize -- even where I was perfectly right, I was mostly only right accidentally, my arguments were just a story to fit the narrative, never really fully internalized.


This is frequently still beneficial for the organisation, even when you're doing it for the wrong reasons, and is almost a necessary stepping stone towards achieving true understanding. It's hard to identify nuance until you discover some strongly held belief doesn't apply as well you once thought.

But I suppose if you could go back and do it differently, you would, so I can appreciate why you consider this to be a mistake.


One important distinction is between holding strong opinions personally vs being in a position of authority and forcing those (strongly held, weakly justified) opinions on the rest of the team. That’s a quick way to erode morale.

Flip side of the coin: having strong opinions but being open to discussion and reconsidering your position in the face of new evidence is a great way to earn respect.


“Strong opinions loosely held”. I learned this at about the 15 year mark of my career. Made the next 10 much easier.


> Held too many strong opinions for really no good reason other than technical "virtue signaling" of sorts.

Oh my god this is so true for me too. I had really strong opinions on so many things that if I put aside my ignorant opinions about them, I / my life / career would have been better. Strong opinions I had included I don't need to use OOP in PHP (had to until too late), Bitcoin is worthless who would ever invest in it (had to until too late / costly), NoSQL is just useless, what's so wrong with PostgreSQL (had to swallow my words until I used Redis), so many more. The current opinion I am holding is "who needs Kubernetes" when individual VMs do the trick and slowly but steadily I feel these words will be regretted too.


Is Redis really "NoSQL" in the hype sense? Redis is a great, in memory key-value store, but no one's arguing it replaces a relational database for relational models.


I think this has changed in the other direction for me over time. I used to always question my own opinions, accept that others might have the better idea, only to see things spectacularly fail.

Now I assume I’m right until someone proves me false.

Still willing to accept other people’s opinions when I have no clue, but evidence seems to point towards my gut feeling being a better indicator of viability than whatever method those other people use.


Great phrasing!


I was a teenage intern, and my software engineering team was crunching in the evening on a project, when there was a problem on a workstation.

The sysadmin was gone for the day, so I was asked for help.

I saw the root filesystem was full, partly due to a bunch of junk files in `/tmp/`, including some files/directories that started with `.`...

You might guess where this is going, when someone hadn't yet developed good intuition for what was safe and not. At some point in cleaning up (and not having filename completion in that shell), I cavalierly typed:

    rm -rf .*
When the command was taking too long, I got a sinking feeling, and hammered Ctrl-C, while in parallel realizing exactly why it was taking so long. (Spoiler: `.*` matches `..`, so `rm` went up the filesystem tree, to `/`, and then tried to go depth-first traversal through the entire tree.)

It gets worse. This wasn't just a workstation -- this was a Sun Workstation, in the era of "the plethora of NFS dependencies is the computer". IIRC, either `rm -rf` started following the NFS automounter symlinks, to delete files from servers that it could, or an ad hoc NFS server had been set up on that workstation for some team purpose. Either way, `rm` hit files shared by multiple people, who were already working into the evening on a project.

It was the fault of the intern, who was both inexperienced and overconfident, and my team was really nice about it. Maybe they knew I regretted it so hard that, if I survived the next few minutes, I'd still regret it many years later.


Out of all the stories I've read in this post so far this one filled me with anxiety the most. If this happened to me I don't think I'll ever forget it.


I've had to clean up after some incidents like that. There was one where an accidental recursive delete was running for several hours traversing a bunch of mounts. root was mapped to nobody so it could only delete from world-writable directories but that was bad enough. It was on Netapp filers so it wasn't too hard to restore from snapshots but it took us a while to find the culprit. There was a lot of traffic from many machines so it wasn't trivial to figure out where the REMOVE calls in question were coming from.


As an aside, I've never used '-f' in 'rm'. I've lived a happy life without it.

Of course I know of its existence, but it was just never necessary in any of my usecases.


What I do is run ls with the same wildcard expression and see what's listed before running the rm command.


Thought that I could replace lower-than-average communication skills with higher-than-average technical skills.

The story goes that software engineering is about knowing how to design a system a build it.

The truth is: you also have to know how to _sell_ your design, how to document your decisions, how to push forward with your agenda. You won't go anywhere without a team that values you. This means that interpersonal and communication skills should be valued much more than what I thought they'd had to be.

The most important part of a person is their relationships (you're not convinced? Try this exercise: describe yourself without mentioning any single relationship or its effect on you. What remains?). This is true both outside and inside your job. Value building strong and good relationships.


Similarly, I've tried to power through issues and leverage my ability to focus and grind through hard problems rather than communicate the problems and my situation.

Sometimes it impressed people that I 'got things done', but that isn't as great of a gain as the inverse is damaging. People could become frustrated about delays if I didn't manage to power through it in time, or they'd be confused and/or concerned that I never thought to communicate events with them.

Part of this, at the fundamental layers of this failure, was a desire for everything to always be alright. I didn't want people to think I was struggling, or to think I encountered issues due to my own faults. That in itself is poor communication, both with myself and other people. I really didn't want to think I was failing, let alone that others thought I was.

Ironically, people tend to like it when you communicate your problems or struggles so they know where you're at and what to expect.

After 15 years I've encouraged countless coworkers to follow this advice – I have a great eye for it now – but of course I still struggle with it.

Communication is a big part of working smart. Don't sacrifice communication and work harder as a result.

In tech it can be hard. It's easy to think everyone else knows what the hell they're doing. The truth is, most of us are winging it at least half the time. Like running simulations until something works, then examining it to be sure it works for the reasons we think it does. That's bizarre. It's fine if you struggle, (almost) everyone gets it.


I think a lot of reluctance to communicate problems is due to a lack of trust. If you are building an environment where management supports staff and mentors them, I believe it creates a culture where staff are also more likely to do the same with each other.

In my experience this type of culture is quite rare, and I think it's great that you are encouraging this in your own organization.


I completely agree that it’s a matter of trust – I really like that observation.

At my current company I find the people I work with to be exceptionally good at support and mentoring, and it’s a real luxury. I can comfortably admit I’m rusty on some math or find certain tasks in Rust challenging, and I’m just met with support and encouragement. We might hit a whiteboard or share strategies to solve types of problems, and there’s no moment of wondering why I’m not already proficient.

Even if I struggle with a problem in my area of focus, where I’m expected to know the most, they never treat me like I should know better or like they’re somehow disappointed.

So while I hope I contribute to that culture of support and mentoring, I can’t help but point out that my team makes it effortless and I’m very fortunate for that. Like you mentioned, it really is rare.


Do you have a blog//email address?


I used to blog on https://steve-adams.me, but stopped due to time and energy constraints. You can find me by emailing steve @ that domain, though.


This goes for pretty much everything in life. People generally won't care how competent you are if they like having you around.


Like, the reply makes sense, but

>The most important part of a person is their relationships (you're not convinced? Try this exercise: describe yourself without mentioning any single relationship or its effect on you. What remains?). This is true both outside and inside your job.

Doesn't seem to check out to me. If someone is highly skilled, their list of accolades sell themselves. "built x or y application", "functioned as Q or Y for B years" etc.


Who would give anyone accolades without respect for how they carry themselves or without knowing about them at all? Unless you sell yourself or have an established reputation with people who know you, it's your manager who built that application. Not that skills don't matter, but I'd say they usually only matter in context.


I created a 2x10 gigabit loop directly to the data center core of a regional health system on the consolidated virtualization rack that held ~80% of the applications back in 2012. It also took out the PBX. Thankfully it only took me just about 5 minutes to realize what I had done and run from the office area to the data center (in the same building thankfully) to set it back.

I thought for sure at minimum I was at least going to end up in a high pressure meeting about root cause and so on... no doctors complained, no ticket was ever created, the only mention that was ever made to me was "heh, was it you that broke things?" as the SAN guy was heading to his car and I ran past him.

Apparently 4:25 PM is a better time to break everything in a hospital system than the 2:00 AM change windows they schedule and nobody is going to bother calling support when things are working again by 4:30 and they just want to end the day. Service desk guy laughed at me when I apologized and he said he had 0 calls about it by 5:00.


ahaha, good one!

NB: Hard to call the service desk to complain... when there's no PBX to route the call ;-) just joking, yes it was restored :-)


Even worse - internal PBX down means all of the calls for that hosted service desk line would have been redirected to their on-call cell numbers instead of forwarded to the internal desk phones!

Upside - company paid for their phones and service. Downside - their phone fell apart ringing in such scenarios (well, except at 4:25 PM apparently lol).


So many. But it all boils down to not understanding how commercial software gets built.

I changed careers and did a 4-month “boot camp”. All the real learning was after that, the hard way.

My first job, I was left to work on a government project by myself. Everyday was mild panic. My only interaction with my boss was a weekly email saying what percentage of the project was complete. No one ever looked at my work, or cared to look. So I bumped it up a few percentage points every week. I declined a permanent position after the contract was over to spare the embarrassment of the state of the project I was building.

After that, I got hired by a consulting company. Over and over again, my total lack of experience was causing issues with clients, and I was in a daily state of stress and anxiety for 2 years until I was let go.

Finally, I got a job building enterprise software, with a well-defined lifecycle, and got my career on track. Eventually I became team lead. Now I work on the Standards and Framework team, building foundational components, libraries and templates for the other teams.

You will make mistakes. They are valuable to you.


Tying my identity to the company I worked for. Tech-corporate culture incentivizes you strongly couple your sense of self with your company, which was frankly disastrous for me and for anyone else I've known to fall into the trap.

I could see my company struggle and fall behind, and I desperately wanted to help turn things around (after all, this company was part of who I was). I overextended myself, made bad engineering and interpersonal decisions, and burned out. Worse, I stayed at the company for far too long, thinking that I could really make a difference in the trajectory.

Reading the article about "keeping your identity small" helped me greatly in not making the same mistakes.



Pragmatically this is why I stick to consulting now. Had my heart broken a few times and it's good to have a level of separation from the core product and company. From the client's side it's also good to have impartial eyes.


Thanks for sharing the article. It was great!


Perhaps it's not a huge mistake, but I definitely did not think through the pros and cons of getting a PhD. There have certainly been some benefits (e.g. being able to move from my home country to one I prefer), but the amount of forgone earnings and time working on problems all by myself (where I don't get the advantage of mentorship so much; profs really have checked out on coding since before y2k in the most part) is something I hadn't considered, especially considering how well situated I was having gone to a top school in the bay area for undergrad.

The advice I've learned and that I hope someone could use is this:

only do a PhD if you can't NOT do a PhD, or if you know some specific job that needs it.

Unless your curiosity and desires line up with a great research group, you put yourself in precarious situations, e.g. it's easy to just bounce from one crappy job to another, but trying to go from one advisor to another (especially at a different institution) is incredibly difficult and usually looked upon with suspicion (e.g. whether the original prof is unloading a crappy student).

Don't do a PhD for some external recognition, because it probably won't come unless you are near the top end of consistently top-tier publications every year (e.g. those mad men and women who publish multiple papers at OSDI / SOSP in a given year!). Far more likely you'll find yourself toiling on something to appease your advisor, and in those cases the end result is very underwhelming. Some institutions literally just ask you to hand in your office keys when you turn in your thesis to get your diploma and basically say "thanks for the years have a nice life!".


I disagree with your conclusion but think your advice is good to consider. A PhD lets you be an expert in whatever you want for the rest of your life, if you want. Do it for selfish, ego-satisfying reasons (e.g., loving science, wanting to become a real expert in an area) not for the academic career path. Have fun with it, but don't drop out. Get the damn degree. Get it and get on with your life.


> e.g., loving science, wanting to become a real expert in an area

This is good advice, and sort of what I meant as a test to see if you want to do a PhD. Sadly, a lot of grad students did not use the time effectively and ended up anxiously trying to appease their advisor as somehow a proxy for getting accolades from their parents. Although I didn't know it, I, too, fell into this camp to a moderate degree.

In other words, going to grad school to /prove/ something to the world (e.g. "See, Dad, I am smart I AM A DOCTOR!") is a recipe for misery.

Despite not getting into a phd for the right reasons, it was a good lesson in learning how to salvage things. Research not working out? Well, try a different thing (thankfully my advisor was exceptionally great as a manager and adjucator of adequate progress). It was a great way to learn to persevere against a sea of disappointing results and learn to make progress on your own knowledge while being able to ignore the disparities from your own knowledge and the eminent researchers in the field (to whom its unlikely one will ever be comparable to on a research level).

Basically it was a kick in the ass to actually get it together mentally that I don't think I ever would have been able to do without those external forces foisting it upon me; I probably would've been miserable in silicon valley trying to buy things to grasp at happiness. Moving to a foreign country, having to learn the language and customs, being an 18 hour flight from my parents, etc, was the final set of straws that kinda forced me to either address my anxiety / depression, but it could have broke me. I consider myself lucky because I saw many other grad students who just couldn't take it anymore (due to absolute asshats of advisors mostly) and quit.

Still it's nice to now have the ability to live and work in a place that is nowhere near teetering towards being a failed state than where I grew up, and I certainly wouldn't have been able to get a visa to live and work here had it not been for this phd program.


I can totally relate to the piece about it being a kick in the ass to pull myself together. I also got into the PhD partially to prove that I am smart enough. I think I needed to play that pattern out one way or another, it was something that would have come out in other ways in a different situation. But I did learn something about myself by confronting this issue so directly in the PhD, even though it’s difficult to articulate what exactly I got out of it.

Actually I came around to the point of view that most people get into the PhD for “the wrong reasons”, but that the process of being confronted with those wrong reasons helps you grow. Similar to “nobody is ready for marriage, marriage makes you ready for marriage.”


I think you can also partially think of it as a gamble (similar to doing a startup).

For example, I did a machine learning related PhD that propelled me into my dream job, earning about 3x more than I would have otherwise.

My motivation wasn't money though, and that's probably the mindset you need, but it's not guaranteed to be a bad outcome financially :-)


I am also getting a PhD related to Machine Learning. Can I ask what your dream job turned out to be?


I did a PhD in physics and it was fantastic. I knew I would not stay in academia (and actually moved at the very end of my PhD).

Money is not everything, there is also the joy of doing science (and in my case - teaching), many of my best memories are form that time.

My PhD did not really helped me (I work in a completely unrelated field), but neither it was a problem.


Same here. I met some great, great people and had a great time intellectually. But I never needed anything I learned there in my career and basically "lost" 5 years compared to peers.


I worked in a large corp you know about in California.. as a loner with few colleagues, I was deep in some assembly language and other nerdy topics, and not great with culture and certainly still a visible rebel. Meanwhile, my colleague from Big School Nearby was hired as staff engineer. There was serious IP on the table and security was an issue always.

It turns out that my colleague had an appetite for money beyond his paycheck as a starting engineer, and was talking to certain third-parties that sold peripherals and such out of Silicon Valley; not massive money by today's standards, but not nothing either. My colleague it turns out was somehow providing inside information to whomever. I was not interested in all this sort of stealing and whatnot, but I showed my 'rebel' flag as a cultural thing at that young age and was viewed with suspicion by the security people for sure.

So the Senior Engineers of the department figured out that there was a serious leak one day, and my clean-cut colleague and I both had access to it. The engineering management literally stormed my office, but I happened to be out. I was called to the main office later and it was serious. I denied involvement (TRUE) but they could see I was not telling them everything. My clean cut colleague .. no idea, but I think he worked there for more than a decade after that, with raises. I was put on a secret black list and didnt last much longer.

I never told on my colleague, and he has a house in Marin now. I am certainly unhappy telling this story. Reflecting on it - that story is probably part of why I chose this nick on YNews.


Extroverts can be incredibly ignorant and dangerous when they encounter introverts. They seem to operate on very simple heuristics.


What an over-generalized and incredibly strange comment.


I think it's great if something I said made you self-aware, if you think you may have been in error and are asking for clarification, but what is making you pipe up? It seems like you want to be included.

I'll reciprocate. - If I'm understanding what I am reading, at the stage of life OP seemed to be when he had his experience these would have been relevant social categories. They are highly generalized like you say, but none of us were born with perfect reckoning. This comment is not strange, because I am showing that there are others who suffered the same and we don't have to be silent about it.


Oh wow.. Why didn't you tell them? And if you could go back, would you tell on him?


Twice I have built entire full-featured applications and then not shipped them out of embarrassment(fear of failing I guess?). Both times, a few years later similar applications became very popular. Very recently one of them showed upon the front page of HN to high praise.

It's a mistake I'm still making, I guess, which is to assume that it could never "be me". It can be anyone. Just ship the damn thing.


Overcoming this 'mistake' is very hard. I have faced it many times. As long as I am an engineer on something it is never good-enough for me.

I am now trying a different approach that seems to work - the essence is that after some time to give up ownership of the code. I am involved in day-to-day dev decisions, but play more of the role of the Product-Manager - talk to potential customers for pilots, and define tight scopes so that the pilots and subsequent launches are successful.


Don’t feel too bad. My grandfather had the opportunity to buy some land in Atlanta in the late 60’s/early 70’s and turned it down because it was shanty town and the guy offering him the opportunity was a known crook. Shortly after that it became CNN Center.


This kind of feeling isn't really helpful to anyone: https://en.wikipedia.org/wiki/Hindsight_bias

It's better to stay in the present moment: What should you be doing now, to be/stay fulfilled?

Your best successes are likely to be random, very hard to foresee and not what you expected at first, anyway.


When thinking about this, I always come back to the scene in "The Office" with Michael's Golden Ticket idea.

Long story short; Michael loses the company a bunch of money on a foolish marketing scheme, and gets Dwight to take the fall. David Wallace drives down to presumptively fire Dwight. Instead, when Wallace shows up, he gushes that Dwight is a genius because it appears that although the marketing campaign has cost an immense amount of money, somehow it worked out and Dunder Mifflin is, in the end, far in the black.

The moral of the story is judge decisions in the future by the information the person had at the time of making the decision. A stupid choice that happens to work out is still a stupid choice.


Kind of reminds me of lots of 50:50 stupid remarks in recent year, that 50% pan out for the wrong reasons. Hindsight bias could make a cult out of that.


The only part I feel bad about is not really "learning" from these mistakes. I don't worry too hard about things I cannot change, so those two opportunities came and went. The part that bothers me is the fact that I haven't been swinging harder at ideas that I've thought about pursuing. There's _some amount of evidence_ that the ideas I'm having in this particularly industry are valuable and others would want.

After a long day at (usually at least mildly frustrating) work, it's just hard to work up the energy to just keep coding.


If you really want to learn from the mistake, it sounds like you need to ask for a personal leave for a few months and really take a bet on one of your ideas. There's not much to lose, in the worst case you learn from how it went and can decide whether you may want to raise the stakes and quit.


I feel the same about bitcoin sometimes. I heard about it on /. when it first came out. If I'd gotten into mining in the early days I'd be rich by now. Assuming, of course, that I still had my wallet and everything.


As my grandfather told my Dad one time (California) “Why would I pay good money for worthless dirt in La Jolla?”


My dad has a similar story about being stationed at Moffett in the late 70s and turning down the chance to buy property in Mountain View because he was a bit short on cash at the time.


You might enjoy a blog post I wrote on this topic [0] :-)

TLDR - ship it and welcome all negative feedback which is actually a great outcome! The usual outcome is no feedback at all as nobody cares.

[0] https://davnicwil.com/negative-feedback-is-positive/


Ah, self sabotage. I know this all too well.


Ha, I've had this experience recently. I was working on a private pototype of automated dependency updates in GitHub repos before it was a thing that was widely available. Ended up abandoning it. Of course, a few years later....


My biggest mistake for most of my youth was that I valued technical complexity over business utility. As a result, I kept moving from one trendy thing to the next one in technology, skills and domains.

Very late did I realize that putting simple php scripting to good and right use is enough to make the same money as trendy job and skill hopping. (on average ... i.e. ignoring outliers)


Can you tell me more about simple php scripting? I enjoyed php when I was new to the industry a while back, but do you mean that someone can be good at php and just work contractually and actually get by still? That’s pretty incredible and tempting tbh.


Sorry ... the message I was trying to convey was to focus on business value from any technical skill and figure out a smart way to monetize it. The technical medium isn't particularly relevant.

A small script can (has) paid $1K in an hr due to the business value. This is an outlier and isn't repeatable due to the limitations of the approach. So, skill selling isn't particularly scalable ... value selling is scalable.

However, there are more experienced hackers on this forum who have done such stuff way more meaningfully and at scale. That can be a topic for an Ask HN and will likely gather lots of insights if it gets momentum.

PS: Pls don't mistake this as a get rich quick idea. The message is to figure out and deliver business value (functionality, time, organization, entertainment) ... what have you ... and figure out a way to deliver it through a technical medium (be it HTML/CSS, Node, PHP, Rust, Scala, Python, R ... or whatever). PHP can do it too!

There are many things to learn and become good at. Technical prowess in isolation is surely not one of them.

Hope this helps.


Working for a company that exploits [mostly] kids/teens' attention while being aware of the long term negative psychological effects of such.


We all hate it, but it pays the bills. It's ultimately better to be in this position as a thoughtful person aware of the consequences of your work, since they would just replace you with someone less conscionable otherwise.


> It's ultimately better to be in this position as a thoughtful person aware of the consequences of your work, since they would just replace you with someone less conscionable otherwise.

If you do the same work, what does it matter?


No it doesn't matter, but hypocrites will keep on saying this along with other lies to avoid facing the reality, that is that they are complicit in doing whatever they don't regard as ethical or whatever.

I haven't seen many people just plain say it: "the company I work for does harm but I don't care because I get a fat paycheck every month".


The harm done to your psyche when you work on something you know makes the world worse is… hard to recover from.


I don’t buy it, that’s just more useless virtue-signaling.

It feels like every other week on Twitter I read a thread from someone announcing their leave from FB for ethical reasons, conveniently ignoring the years they spent there happy with their paycheck.


I think this is true for important but dangerous things, but I think it's vacuous and false for dangerous and unimportant things.


Extended to absurdity this framework leads to cringey edge examples about could be justified on the basis “someone worse” exists.


> It's ultimately better

For who? I'm not convinced that keeping things subtly bad, but maybe acceptable enough that users don't revolt, is necessarily a better outcome for anyone.


Getting too big for my britches, and thinking that recruiter emails = job offers. I quit a lucrative junior position that had just promoted me to mid level thinking I would have multiple big offers lined up immediately. After 6 months of desperately interviewing and going broke I ended up somewhere I could work my way back up, but I learned the hard way to never quit a job without another offer letter signed.


Biggest mistake that impacted my career was not having a "rolodex" or keeping up contacts with people I met over dozens of projects my first decade.

Biggest whopsie as a 15 year old building servers was starting a server with case covers off to check whether it boots, then dropping a screw on the exposed hard drive board. It left a neat trail of sparks and smoke as it bounced down. 200mb full drive of insurance company data burned in front of my boss watching.

Later in career, different place different times, my colleague and best friend ran a mistyped grep on prod server that tried to suck up all of the files content redirected into a single file. AIX in my limited experience is an unbelievably robust system - but it does Not handle root disk out of space well. Or at all.


This is probably my worst error as well, one that I've kept repeating for over 20 years. Making the effort to maintain professional relationships over time, especially when inconvenient, is the number one piece of advice I'd pass on to anyone new to any field. Sending a "how's it going" e-mail every so often cost nothing. It's the one thing I've emphasized to my own kids repeatedly. Hopefully they'll do better at it than I did.


Landing a first job while holing up with an acquaintance after escaping my birth family, and then trying to move to live by myself without realizing just how screwed-up a lot of my subconscious and worldmodel was (and some of you will have noticed that possibility already after reading “escaping my birth family”). Access to the city and not wanting to be more of a burden on my host were legit motivations, but it turns out that that much stress at once combined with the wrong kinds of weakness in handling results in going near-catatonic (at least externally) a few months in and getting fired.

Whoops! Oh, and there's that multi-year non-compete agreement… in the only thing I have experience in…

Fifteen years and several retry cycles later, someone who graduated twelve years after me now has the three solid years of full-time experience that I never got (in significant part because once you have a Résumé of Nothing, it stays that way), and just landed a job making about twice as much as I'm potentially going to be able to start making a month or two from now if I drive my context-switching ability and energy output right up to the limit.

Did I mention that getting access to healthcare to fix relevant issues was almost impossible for almost the entire time? At least I have a potential path to it now—and there's only a decade of backlog…

Don't do what I did and waste your life. You need a fucking real job. Do whatever it takes to keep it for long enough. Otherwise you lose.

(In fact I am not entirely coherent in my opinions on the matter, though—and the rule of equal and opposite advice applies…)


All I can say is: don’t worry about that other person, and I wish you the best.


I went into programming PLCs for industrial applications.

Totally stagnant, backwards industry, were the platform suppliers basically make a living, handing in advances from 20 years ago to the industries suppliers in the walled garden.

Its stressful, every machine developed is a unicum, software reuse is widely not used and often not possible, due to the "lowest common denominator" setting up what can work for a team.

All good programmers leave the field as fast as they can. The others, who cant and are worth the salt, are in eternal fear of the A-day or G-day. The day one of the large valley software companies turns around and says "boo".

They could easily replace the whole infrastructure of used software for all machines involved and install a steam like software market place for industrial controller components. No more "laptop-guy" sitting next to the machine for half a year and "thats normal".

The only thing keeping this industry "alive" is the phobia of the great ones from anything "physical".

I tried to leave, but this job is like a taint on your resume. People will not touch you with a stick, cause normal software companies have usually made bad experiences with the "programmers" leaving industrial automation. There are actually companies who try to lock there programmers in, by teaching them a "unique" bad software development style. I had people explaining git to me as a hot, new thing in 2018, at a company were we suggested it 8 years earlier. Yes, that resistant to change.

In every company you come, you are viewed as a sort of union-busting freak of nature, because that is the only way one could be that "good" at making software. Obviously i must be possible to memorize a million globals, instead of packing them into objects and systematically develop my stuff.

And you have that moment over and over again.

In dubio pro rubicon.


PLC programmers are a different breed of person. Note that they ARE often very skilled at industrial hardware and electronics; so never underestimate their abilities!

A lot of them just... aren't what you think of as programmers. (I've quizzed a few, they can't do fizzbuzz).

I semi humorously tell people I want to overthrow the industrial programming market. If you want to team up and try to corner the market, drop me a line (email address in profile)


You can definitely switch and other companies don't know as much about your industry as you think.

Just be bold, go interviewing.


Staying in the first company of my professional career for too long. I would have learnt more and earned more if I moved companies regularly early on.


I have been at the same company for 25 years, and so have many of my co-workers, who have grown up with me, and I always wonder if that has been a mistake.


Financially I have to imagine it is because of the pay raises that you get from switching vs not. Companies simply do not value their employees enough.


Whoa, that's pretty cool. Mind sharing the company or at least the industry?


What if you're happy where you are, you're perfectly satisfied with your salary (above median income right after leaving school and increased ~35% since then), and there is basically 1 alternative company nearby (where you'd have a lot more travel) and the rest is either a leap (hoping that you'll like a different kind of work) or more than doubles your commute time (to >1h one-way)?

I heard this advice before and at 4 years I'm quite due for a change in the statistical sense, and I've been offered more money already but... I feel like I'm already rich with no expensive hobbies and the money just flowing into long-term ETFs for retirement. Am I just in an exceptional situation or does the advice still apply to me and should I leave within the next 1-2 years?


I think it really depends on the industry and location. There's a clear tendency on HN to only consider the tech market in California, where it makes the most sense to hop companies regularly. It's not the case for everyone.

I work in a large European industrial company in aerospace, and the vast majority of the employees stay until retirement. Yes most change job regularly, even relocate to different countries, but within the same company. Outside options aren't great, you're not looking at large potential raises and will have difficulty finding as good of a package unless you go into another industry completely. If I was fired I'd probably have to move to a different country and get into another industry to get a good offer.


An argument I would make would be for future proofing your employability. You clearly care about thinking long-term. What if the current gig goes under, are you properly trained in technologies other companies in 5-10 years would use, that maybe your current gig doesn't?

Just spitballing. If you really are 10/10 happy, and aren't concerned with the possibility of that company blinking out of existence and being screwed, I would probably just say ride with it until you feel like quitting.


Thanks for the input!


There's an opportunity cost in _moving_ too; ever heard the saying that three moves equals one fire? If you're in a position you find satisfying, and see a technical and financial advancement path that seems acceptable, don't trade the roots you're putting down for some theoretical improved later slope of earnings.

But keep your resume up to date, and go on interviews from time to time. See what the offers are, and do the math on them. And if the math says "Stay put", ignore the techbros who disdain roots. :)


You probably should not leave.

At the very least, preserve the option to come back. Be honest with your employer, tell them you enjoy the work but are just curious what else is there.


I have this weird feeling that I'm making the same mistake right now.


If you feel that way, you probably are.


If you've been there longer than 3 years, then yes, you're making the mistake.


This is a strange attitude; if you change jobs every three years, then how much are you going to get done, really? If everyone took this approach, then would any large project ever get finished?


Well, OP is talking about their first job, so my advice is targeting that specific situation. As a general rule, engineers see a fairly large bump in pay when going from their first to their second job, particularly if they did a poor job of negotiating their first salary. So yes, in terms of career development and realizing your earning potential, you should not stay at your first job for more than a few years.


Why wouldn't six months be more than enough time to ship a project?


It can take time to build political capital to be trusted to lead/ship a project.


Depends on the project. I just launched something last week I'd been working on for the previous 18 months.


Not every company works only on small software products.


At the company, or in a specific position?

I'd say continuity is fine, if the firm is large enough to offer a career path.


In many startup product companies, the specific knowledge about the product is not interchangeable with other tech companies. The tech skills and the soft skills are, but a large part is know-how about the product and the market.

It makes sense to stick around longer if you see yourself as a "knowledge worker" rather than as an interchangeable techie. It certainly makes sense from the company's perspective to keep knowledgeable people around.


It's very likely. 2 years seems to be standard, and I'm moving jobs after 1.5 next week. 20% raise for very similar work, there's no reason not to move.


I was recently told I was "long" with the company for moving after a bit under 2 years (I'm leaving 31st July, I joined on 15th september).

I can't help but think that it's pathological to consider that "long" :/


I wish it wasn't. Many companies simply make it too difficult to move up and grow internally.


Part of me says I did this with my first job in the computer industry. On the other hand I was reasonably compensated (for the time) and that job led directly to a progression of a few other jobs that have served me fine.


I had the benefit of my first 4 companies imploding within 2 years.


what did you learn from the first 4 that made 5 go to the moon?


I was at IBM, fixing a critical mainframe that had brought the entire check clearance system for the country down.

An angry customer was breathing down my neck, making idiotic suggestions. I was rattled.

He wanted me to try swapping out some component. I said no, I was 100% sure that was not the problem. I was laser focused on fixing this problem.

Turned out I was wrong. Customer complained to my management and I got a sound bollocking and took a couple of steps backwards in my career.

I learned that day to always remember that, no matter how unlikely, you might be wrong.

As a sidenote, this is one of the 25 points of advice in John Perry Barlows "adult principles" which I discovered late in life. It is the only written work I have on my wall, with items 1, 3 and 10 marked with highlight pen by my wife as areas for personal development for me.


> As sidenote, this is one of the 25 points of advice in John Perry Barlows "adult principles" which I discovered late in life. It is the only written work I have on my wall, with items 1, 3 and 10 marked with highlight pen by my wife as areas for personal development for me.

I want a little more context because if my wife highlighted areas for my personal development that was hanging on our wall, I would feel controlled, diminished, and disrespected.

By the same token, I would never force her to eternally view highlighted areas of personal development I had judged she lacked. It privileges your view as holy, when you are in fact just another person with a perspective, not absolute legitimacy.


Additional context: it was provided to me as suggestions, none of it came as a surprise, and I decided to put on the wall. There was no "forcing" involved. I personally don't have any problem with anyone suggesting areas of improvement for me, and equally would disregard it if it was off base.


> An angry customer was breathing down my neck, making idiotic suggestions. I was rattled. He wanted me to try swapping out some component.

I dunno; I agree you should always remember that you might be wrong, but under those conditions I wouldn't make that change unless they signed something saying that we did it on their say-so over my objections. Way too many red flags.


Thank you for pointing to John Perry Barlow's 25 Principles https://www.jambase.com/article/john-perry-barlow-25-princip...


Disdain for sales. My first exposure to a sales team was as an engineer that had to deliver on whatever requirements sales dreamed up. Several years of head-shaking bullshit and I decided that the entire vocation was worthless. Took me ten years to figure out the better approach is to build bridges there, not burn them down.

Co-founding a company without really understanding my personal exposure. Had a small consultancy that had some early success, I was personally billing and leading projects, hiring folks and managing them. CEO just stopped actually cutting checks to IRS for a few years in a row. This snowballed into a major issue that I was personally liable for. Unfucking that took 5-6 years of my life. Yes yes yes I'm sure some of you out there would have been auditing financials every quarter...I didn't. Maybe that's the second half of the mistake.

Getting comfortable. After the above, I was running the show and just got comfortable. No real growth but a good salary for myself and a few other folks. Turns our there are parts of running a company that I'm just not wired for and never got good at. Decided I should let someone else do that and shut the company down (long explanation as to why selling it wasn't a good option). Worked at a FAANG for a bit then took another job. Doubled my TC in about three years and think I should have probably done this a long time ago.


- Not leaving jobs often (even without clear immediate reasons).

- Not being aggressive about trying to get better salaries. This was mostly due to the previous point.

- Not leaving shitty managers and teams ASAP (“trying” is the biggest mistake in such situations).

But when I look real close then the single biggest mistake is:

- Having not identified early that Software/CS simply doesn’t interest me. It’s just a skill because I happened to study it and then started working. For me there’s just zero passion in it. And not trying to find an alternative career path early.


Why are you here?


Why are we all here?

...

It's a news aggreggator, get over yourself.


What's the meaning of life?


I decided to study electrical engineering instead of computer science because I was dead certain there was no money to every be made writing software.... in the 1980s!

I chose the wrong school because they accepted me, and my high school counselor thought I had zero chance. I couldn't afford it, and dropped out. I would have gone much farther studying computer science at Purdue Calumet, and could have had it all paid for.

Once I had the Windows NT 3.51 server drive mapped as D:, and got confused thinking it was a local drive. Had to drive 25 miles and rebuild things in the middle of the night, sweating bullets. We were a small ISP with 200 customers, I was the tech staff.

My next to last big mistake was staying at a system administrator job far longer than I should have.... they really didn't need someone full time, and it zapped my drive to get things done.

Then I took a job making gears... the pay and commute sucked, but I liked doing it. 5 years away from technology, then Covid hit, I got sick... and I've been tired ever since.


You clearly have important and valuable software and engineering skills that our industry's recruiting ability has a hard time activating; I hope that you get healthy soon and, if you chose to, are able to find a job that uses, and rewards these skills appropriately.


Making gears, like literally assembly line work? Or do you mean modeling/designing them in solidworks or similar?


Job shop work... it takes 2-4 hours to set up a machine to make a type of gear, and anywhere from 30 minutes to 2 days per gear depending on how big they are. I made almost all the drive bandwheel and pinion bevel gears for Marvel 18" Bandsaws for 4 years, along with a variety of other bevels, along with some spur and helical gears.

It turns out that gears have a rolling contact surface, never sliding (unless you did it wrong), which is why they can last decades. I learned a ton of interesting things about small scale manufacturing. I want to make them on the small scale (4" or less) as a hobby, once I get employed again.


long haul covid-19?


Yes, as far as I can tell. I had some co-workers who had Covid really bad last March. My case wasn't that bad, but I've been short of breath, and haven't really been able to focus on things ever since. Unfortunately, testing really wasn't a thing back then, and by the time I did get tested as part of my workup, it was negative for an active infection. If I talk for an extended period, walk a block or two, or just go up/down the stairs, I'm winded and have to rest.


I stayed for almost four years at a job and in a location that I knew with great certainty was a poor culture fit for me by the one-year mark.

Similarly, I knew that I needed to do some therapy work, and deliberately did not do it so as not to end up with a diagnosis that could affect my potential admittance as a Peace Corps volunteer. (This was deeply misguided; the volunteers that did their work were both admitted and frankly more effective.)

Both of these mistakes were arguably the same mistake: I did not take care of myself. As a result, the first half-decade of my career was basically a wash. I burned out of the industry I went to school for, and a large chunk of time I could have spent deliberately learning and building was instead spent essentially coping and surviving.


I took down all cellular data traffic in Philadelphia for 2 hours.

I wrote the operating procedures for performing a backhaul upgrade in preparation for the launch of LTE. The upgrade was being performed on our primary routers which all traffic traversed. The operation had been performed several times successfully, but after the last implementation before the issue, I was informed that a couple of the lines were wrong (they had extra arguments). I did a find and replace all, shot the document off to the next team, and went about my day. The technician who was doing the upgrade called me on the afternoon of the upgrade (it was a Sunday) and asked if any of the initial steps were disruptive as he wanted to get started on the prep work ahead of the maintenance window. I said no and he proceeded. Mind you, this was also during the World Cup so I was out at a bar with my friends and not paying attention to my phone. About two hours later I looked at my phone and had multiple missed calls and voicemails from him, so I immediately ran to the MTSO. Turns out my find and replace changed some commands - the end result was that instead of adding additional VLANs to in-use interfaces, it replaced all of them with the new ones, which weren't carrying any traffic.

The fix was simple, we had failover routers and at some point after he couldn't get in touch with me the technician reached out to one of my peers who quickly told him to failover. He should have known to do that but he was also panicking. I called my boss and told him what happened and that it was my fault (and I genuinely believed it was. I wrote the bad procedure AND I approved activities outside of the maintenance window), and he told me to be at the office with the technician first thing in the morning the next day.

I couldn't sleep that night, this was early on in my career and I thought it was over. But that meeting ended up being one of the most transformative moments of my career. My boss's boss, a director, quoted the FAA's ethos of how a good system should have checks and balances, and if a mistake happens, the system is at fault, not any individual. We walked through the play by play and identified multiple opportunities to both avoid the issue that arose and to resolve the issue more quickly. We came up with an action plan as to how to make sure our "system" was more mistake proof for next time, and that was that.

That meeting has always stuck with me, and I always remind myself of that conversation whenever things at work don't go as planned. There is almost always something in the system that can be improved to account for human error, which should be expected.


Back around 2000, I was writing software patches for a large telecom company. These patches had to be applied to live, inservice telephone switches and equipment that were powering public phone services - restarts and downtimes were not an option. Needless to say, careful consideration had to be given with regard to how a patch was developed and applied.

I don't recall the specifics, but one fateful patch had a very large compound boolean expression that included an invalid condition. For whatever reason, that expression didn't or couldn't receive 100% test coverage.

When applied, this patch took down the entire phone service (including emergency 911) for the island of Newfoundland Canada and all its residents (maybe 300-500k people).

The immediate fix was simply a new patch that reverted the bad patch. Unfortunately, it took several hours from the point we learned of the issue to writing, delivering and applying the fix.

I've heard that Newfoundlanders have a reputation for being very friendly, so I like to believe that all has been forgiven and forgotten and that I may one day visit the island in peace.


In the old days as you approached 30 being a pure programmer was unheard of (or at least you were going to become that "weird guy" in a corner office) and you were expected to move into management / consulting

I resisted and became that guy. I would be far richer by now if I had put on a suit and gone into consulting. It's not like I didn't have offers

Keep an eye on your pension / savings when you are younger. It gets much harder to top them up the older you get. My pension options scare me now and I can't see retirement as a realistic path

Take money seriously!


Not keeping up with professional connections as I made them from the start. Even a "happy birthday" card would've been enough, but here we are.


Why do you consider this to be a mistake? I've thought about this in the past, but can't really articulate my motivations, and in the end I haven't followed through. Some of my previous colleagues have fit into the gap between co-worker and friend. I would never spend time with them outside of work and since we no longer work together I'm not sure what I'm really missing, so I'm curious to hear your thoughts.


Those connections become invaluable as you reach the point where you are responsible for putting a new team together / growing one.


Opportunity loss. I came across the phrase "increase your surface area of luck" somewhere and it is relevant here.

I am guilty of the same.


Happy birthday? That seems unnecessary really you don't need to send cards to all your connections. Just reach out if you want to reconnect don't overthink it - I feel it's pretty normal to drift in and out of connection/friendship even.


Yup! Not everyone will jump at it, but most will. I let some connections lapse for 10 years and then reached out. Ended up with some great conversations, good advice, and two job leads (from the hiring managers themselves.)


Accepting a job with QA out of school. It was 4 months before graduation, and I had been searching 2 months and my morale was low at having been rejected a few times. I was a very good student with many accolades so rejection was new.

As it happened, 1 month before I graduated, a job opened up in my ideal group, one I had interned in before and gotten a strong review, but by then I had already accepted the QA position (at the same company) and it was impossible to transfer. Took me nine years to transition to being a dev, studying nights and weekends.

At least in the U.S., your first job out of school tends to become your "career"


This is why the right time to leave some jobs is "not yet"

My current employer is great about letting people transfer through the business, and it's a great place to build a bunch of solid unsexy skills


I put too much effort into work which lead to a severe burnout that rendered me incapable of being useful and productive for years. I'm one of those guys who grew up using computers, every wake minute I was thinking about computer related stuff, everything had a solution using software in my head. I lost this from one moment to the other. Luckily for me it came back after 4 years of the crash. Fun times. Have a life outside of work even if it's just the same you do at work, but do something unrelated. People need to recharge their brains using activities they truly enjoy


I haven't reached severe burnout but have recognised I am coming up to it, and coming from a background as similar to yours. The doing something unrelated part has to be key to a healthy work/fun/life balance.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: