Ask HN: If you restarted your career, what would you do differently?

108 points by kenentu ↗ HN
No matter the level of expertise or experience, it's always a favorite question of mine to ask people this.

If you could restart your career from day 1, what would you do differently (or the same)?

Please also leave years experience/current position.

97 comments

[ 2.7 ms ] story [ 171 ms ] thread
I wouldn't work 50-60+ hour weeks. I'm 36 now with 2 kids. I've come to realize that all that time I put in really didn't do much at all for me. I'd much rather have my free time back then make someone else rich.
31 with one kid here (less than a year old)... I agree completely. Although I haven't done bad for myself financially I often feel I spent my 20s working 60 hours weeks and delaying gratification only to have the gratification not worth it. What little you get in financial return and notoriety is not worth going 10 years of your life doing nothing but sleep and work.
Completely agree.

41 with two kids, all that time spent working should have been spent experiencing the world and having a lot more fun.

I think a combination of getting more senior at work and having kids reduces your choices in how you can spend your time (To be fair it opens up new options as well). It highlights the value of your time and how little you got in return for it when it was abundant.

I like this answer. I am only 25, but I have made some recent decisions in life that have lead me to being more focused on exploring the world than my career. I guess, at some point, I thought to myself "What am I going to teach my future kids?", and that's when I realized that I needed to get out in the world, learn some languages, play some music, and do some crazy shit. Best idea I've had so far. Thanks for reminding me.
And as your kids get older they need more time, I have 3; 12, 10 & 9. When they were small I could put them to bed at 7pm and work all evening on personal projects - those days are gone!
10 years in IT altogether with 7 of that as a Java web app dev and currently in my 3rd year of integration design / integration development. I've thought about this a number of times and I always come back to the same conclusion: I would have spent less time in a position where I wasn't advancing. I got settled it and while the work was enjoyable, it also wasn't overly challenging. I think I would have reviewed my growth more often, say every 18 months and looked for other opportunities if I felt I was getting complacent. I spent 3 years at IBM doing maintenance work of a CRUD app starting in 2008. Android was just coming out. I should have jumped into it with more gusto. I've been at my current gig for 14 months now and I'm learning a lot every day. I do little coding these days at work, but do a bit at home just because I still enjoy it.
10 years as a Software Developer here. Based in Wellington, New Zealand.

1. Change jobs more often. The only way to be paid market rates is to change jobs when your market value increases. Your employer has a strong financial incentive to keep you working as long as possible at your current rate.

2. Move into management quickly. I've heard it's different in other parts of the world, but where I am being a developer limits your career. In every software company the people who are the most influential, and the best paid, are in management or sales.

3. Be more aggressive about getting side projects finished and getting them out into the world. Like many developers, I've got a bunch of half baked ideas on my hard drive that could make decent open source contributions, side businesses, and there might even be a worthwhile startup buried in there somewhere. When all your publicly visible code is your employer's intellectual property, it makes it harder to sell yourself.

What's the market like for a software engineer in Wellington? Was in town a few weeks ago and loved every minute. Raglan Roast has got to be one of my top 5 coffee joints of all time!
It exists, and demand for talented people outstrips supply. I find recruiting new people for my team to be tough. Literally had a candidate fail at FizzBuzz yesterday.

If you're on the Microsoft stack then Xero and Trade Me are the most obvious choices. Mobile development and Ruby on Rails are somewhat popular. Wellington is a government town, so there's a fair amount of work maintaining legacy platforms if that's your thing.

Quality of life is decent. Good weather most of the time, better traffic management and city planning than Auckland, good food and coffee. The place feels like it has a personality.

You will not be paid well compared to Australians and Americans. The cost of living is lower than in those places, but still high relative to salaries. Food is expensive, housing is expensive, broadband is expensive and somewhat slow, anything you want to import will have to travel a long way which raises the price, and all purchases have 15% GST.

Weta Digital is hiring. We have developers working on many different projects ranging from webapps to simulations to renderers and more.

https://www.wetafx.co.nz/jobs

All the positions are onsite?
Yes, in the Miramar suburb of Wellington.
> In every software company the people who are the most influential, and the best paid, are in management or sales.

I don't think that's necessarily true in Silicon Valley, where companies like Google, Facebook, Airbnb, Uber, etc. have parallel career tracks for individual contributor vs manager, with equal salary bands. I'm earning way more as a high-level IC than mid-leveled managers.

Excuse my ignorance, IC?
"Individual contributor", as opposed to management. i.e. for a software engineer, someone who ships code for a living rather than shipping Gantt charts/emails.
Start hacking on web/mobile stuff earlier. Start my own businesses earlier.

Another to add as of two weeks ago - start learning marketing earlier.

15 years VFX Artist.

Different:

1. Looked for more work while I had work. Even these days it's easy to get into the work-home-sleep wash repeat cycle and forget about the next gig.

2. Committed to the top tier company that wasn't leading me along with bread crumb contracts. That company was artist driven and I kick myself for leaving over software preference.

Same:

1. Continued to push my social circle outwards, go to company events and hang out after work with 'em.

2. Doge overtime as much as possible. after 40 hours a week adding more time behind the desk neither improves the quality, speed, or beauty of the work.

blog
Care to expand on why?
to build authority in the fields that interest me, and use it as a marketing channel for launching side projects. Long term blogging is career insurance
maybe, but maybe not.

It's a differentiator, all other things equal. But it's not "insurance."

Well, for those of us who got started in the 90s, the obvious answer is to have bought up a ton more short dictionary word domain names.
And Bitcoins and Google, FB, Amazon, MS, Apple shares and SF real estate.
15+ years of software here. Currently a CTO of a reasonably successful startup.

What I would have done differently...

1. Spent more time working on my own ideas and less time on other's ideas

2. Exchanged W-2 work for 1099 work to give myself more flexibility to do #1

3. Stayed in the city longer before moving to the suburbs

4. Spent more time outside

5. Spent more time working out and eating right

6. Spent less time working

One thing I would not have done different...

1. I still work have gotten my Computer Science degree -- even if I could get a job without it, they were some of the best 4 years of my life and I met my wife there

Thank you for that list! Would you mind elaborating more on why you'd exchange W-2 work for 1099 work?
I'm in a state that honors broad non-competes and invention clauses and it is virtually impossible to find a software engineering job without one attached to it.

1099 work would give me more freedom to pursue other tasks while still doing work for other companies.

Also, you can't tell a contractor what hours to work. So I would have more leverage to set my own hours.

Edit: if I was in a state where non-competes were generally unenforceable it would probably be a different story.

15 years in software development

- I'd quit my first job earlier. I stayed there for 10 years - should have left at 5. Things went gradually downhill after that.

- Spend more time building longer-lasting projects. I kept doing freelance work on the side for quick and small amount of money instead of using my free time to develop something that would benefit me in the long-term. I can't even remember those freelance projects.

I would have made a case with my parents for pursuing either a Computer Engineering or a Computer Science degree, and graduated with one, no matter how many years it would have taken.

I would have also pushed them further to purchase even a mid-range machine to learn all this on, despite our financial difficulties back then.

If I made these decisions early on, I know I would have taken a different path. At least, it wouldn't be the mess I'm in now.

I'm about two weeks from graduating with my bachelors degree in university. I'm 25. If I could change anything, I would have gotten more focused on attending university sooner so I could finish sooner. I'm not disappointed in myself, but I would have at least given myself three more years.
(comment deleted)
20 years professional experience, almost 25 years programming in general.

I would've attempted to build something cool instead of build stuff for other people. I realized very late in my career that there was more going on than the agency life - at one point I was even chasing the big agencies. I built fun little joke sites, but never attempted to build something that could've been a business. Reading "Founders at Work" really opened my eyes to what I could've done back in the day -- and while it's not too late, it definitely feels like I missed out on a lot of opportunities.

I want you to erase the notion of "missed opportunities".

Re wind the clock a scant 16 years. Linux was barely a thing, you were buying servers from sun, putting them in a cage to "start up". There wasn't really a way to be technical and be "ramen profitable".

Look at the environment now. You can start up a SaS business with the skills you have acquired, and probably what you spend a month on coffee from Starbucks, or a few lunches out.

Just build something, then go build something else, keep building things till one of them starts to get traction, and then iterate on that... wash rinse repeat. Will you get rich? who knows? But the more arrows you shoot, the more likely you are to hit a target.

It has never been easier to just do something than it is today.

As an entrepreneur, all I hear from that is "less barriers to entry," which is what I don't want. Frankly, it was easier back then for someone with only light technically skills such as myself. The web was a lot less crowded, I could get attention for new projects so easily. E-commerce was a breeze.

The internet in general is becoming less of a frontier, so yes highly specialized folks have more opportunities but not primary industry guys. Also, the flood of VC into ridiculous startups has distorted the playing field.

I think it's a mistake to think you're going to find the magic "right path" for your life based on what others did or wish they had done. Everyone is different, and your own path will be based on your unique abilities and desires which are different from anyone else's.

Generically I would advise, research your options, make the best decisions you can, and don't look back. If you end up unhappy with something, change it. Always be ready to answer "what would it take to hire you away from what you're doing now" because you never know when the question will come.

26 years in computer technology and software, experience in academic large enterprise, mid-size business, and a couple of startups.

I am with you. "What was your best career move?" Is probably a better question. But even then difficult to translate to other individuals / location / times.
11 years as Web Developer. As they say, hindsight is 20/20.

1. I would have pushed myself to really harden my understanding of the languages and frameworks I've used over the years. I usually get a cursory understanding and then just dive in. I should have, and still need to, continue to read, learn and keep up with ongoing changes and new practices.

2. I'd learn to negotiate sooner. It's never "work" when you do what you love, but then - yeah it is and you should be paid what you're worth.

3. As someone else said, push myself to finish side projects. I doubt I have any real moneymakers lying around, but I also have hardly anything to show for 11 years of work as it's only been with 3 companies and more than 4 years of that was not consumer-facing work. I still want to put something out there that I can proudly show off and say - I made that.

4. I had an opportunity to move to California (was in the midwest at the time) at one point and do basic entry-level database stuff for a friend. I backed out because it was a huge change and I was scared and I had just come off being an IT director and probably wanted something higher paying. Going back, I think I'd probably take the shot and see what happened. As the kids these days say - YOLO

5. Contribute more to open source. Both to give something back and to try to cure my ever-present imposter syndrome.

6. Definitely dive into mobile sooner. I'm a developer, not a designer, but I still have to throw together sites now and again and even the mobile-friendly aspect of bootstrap evades me. Responsive? What? It looks good at 2560x1600!?

7. Finally - and perhaps most importantly - BACKUP, BACKUP, BACKUP! Lost all my user data on a ramen-profitable side business that I managed to get going before I ever got my first professional gig as a programmer. Host corrupted my database and didn't backup either. I can't even remember who it was now, but this was 2004/5. I will forever kick myself for that one.

25+ years as a programmer

The biggest regret I have is taking a string of 4 jobs that all sucked, and sucked the life out of my enjoyment of programming. I lost about 6 years to these shitty jobs and it left me demoralized and depressed. But then I took 1 year off, which did wonders for me, I suggest it for everyone at least once in your life.

I should have focused more on becoming an architect instead of a front-line programmer, so that I would have a higher-ranking position now. But I moved around too much, and every time had to keep proving myself, which stunted my career. There's a fine balance between moving around to get better experience, and sticking around to level up in rank.

That said, I still love programming to this day, and feel blessed that I got into this field that pays so well and gives me a lot of freedom to move around.

6 years interning as a software engineer, 2 years as a PM at Microsoft, 3 years as engineer #10 at Palantir, 3 years at my own startup, 5 years working as a partner at YC

1. Work on products that other people would find useful, and then be sure to release it. Early in my career I was a contract software engineer for an agency. I was selling my time instead of making products that could be resold with zero marginal cost. I would have focused on making products sooner.

2. Either learn, or earn. The best jobs frankly are both. If you're learning, it's OK if you're not getting paid as well, and ideally it's not forever. If you're not, then you better be earning valuable equity at a company that matters. Investors get a portfolio but you only get one place to work, so it's even more important that you invest your time in a place that matters. I would probably not have worked at Microsoft knowing this. I wasn't earning or learning at the time.

3. For a while, I decided I wasn't going to code anymore. That was a mistake. Thank god I ended up picking up software engineering again. Don't ever stop coding, even for a fancy title like program manager. If a job has a fancy title, the job probably sucks. Writing software is very high leverage, and more meaningful than writing a lot of emails.

What are you doing now you're no longer a partner at YC?
Having fun with my 9 mo old son, and working on some new stuff I can hopefully talk about soon!
Couldn't agree more about not exiting software engineering completely. Had this experience at a prominent tech company (wherein promotion = no more coding) and it became so bad I had to walk away.

I'm trying to tailor my career now to be primarily programming-oriented, but with opportunities to explain ideas/concepts and think about value creation. A relentless focus on creating business value is a huge differentiator in software engineering.

So much good here Gary. Stick to your gut, get shit done and always keep growing. The moment you feel that you're not growing or not adding value move on. You know your purpose and you know your value, either grow it or establish it and move on to help others.
Do you still code?
Yeah I do. Doing a lot of Meteor and React these days.
Have been absorbing wisdom in this message for past 12 hours. It is very dense and very valuable. I have been professionally coding for close to 10 years and yet, there is so much take away for me from this. Thanks.
After 30 years in the Software Business I agree with many of the comments:

1. Build your own company early on if possible. Only way to really make money.

2. If you must work for others change jobs every 3-7 years. And take your equity with you. The company's success or failure will not depend on you. Really it won't. Companies by their very nature are designed not to depend on individuals.

3. Learn to manage people. Hard job - your success depends entirely on the success of others. Talk about uncomfortable.

4. VC investment is the not the only way to fund your company. VC need the next MS or Apple etc to exist. The chances of you pulling that off are equivalent to buying a lottery ticket. The chances of you creating a company that makes a small number of people an above average return is quite good. A VC will find that a waste of time and exit leaving you with nothing. VC ask you to do something they are unwilling to do. Invest all you capital in one risky venture.

5. Don't be greedy. Easier said than done. If you can get a couple million for part of your equity now and live modestly but comfortably - do it. Freedom is everything - anything more is gravy. If the company does in fact take off the small bit of equity leftover will pay off big anyway.

Good luck

> Build your own company early on if possible. Only way to really make money.

I think this isn't true these days, looking at the salary spreadsheet. In fact, I have friends who are putting in insane workloads building up their own company that would have probably been better spent slaving away at AMZN.

If I restarted mine knowing what I do now, I would have been honest about what I was passionate about with myself and went after that. I took a meandering road to return to what I loved doing when I was younger (programming, hacking, etc). I spent alot of time worrying what others thought of my choices and acting accordingly, instead of worrying what I thought of myself and acting accordingly. I've been working in software engineering/data science/data analysis for about 5 years.. before that, my career path of 8 years or so had little to do with math and computer oriented work, although I was interested in those things as a kid and teen.
I don't have an actual career (yet), but I've been programming as a hobby for a few years now. What I really wish is that I had never deleted some of my earlier projects. They weren't that great, but they weren't terrible. I regret getting rid of them, because they would have been nice additions to my limited portfolio.

I also wish I had gotten more involved in other projects early on, as my current interests and portfolio are pretty narrow in scope.

I wish I stuck to things I really love (programming and data analytics). After 10 years of switching goals to the most trendy careers of the day, I unfortunately realize that my start was actually the most suited for my interests, personality and skills and in retrospect had the maximum potential of a very financially rewarding payoff profile
If you don't mind sharing what were these trendy careers?
Banking, Investing/PE, General Management (Leadership ?) in that order
I'm a self-taught programmer with around 15 years of experience. (I studied physics)

The one thing I really miss from not studying computer science is a network of programmer friends. It's a lot harder to meet new people after university. I'm currently trying to hire my first employee, and the advise I usually get is "hire your friends from university" -- but that doesn't work if non of them are programmers.

You can meet new people at meetups etc, but it takes a lot of effort.

You can meet new people at meetups etc, but it takes a lot of effort.

I'm running up against the same walls, too, when I go to local user group meetings. Then I also find out my interests are mostly different from theirs.

10 years quant/trader

1. Make more friends. 2. Have more sex.

10 years quant/trader

1. Make more friends. 2. Have more sex.

15 years as a web dev here.

1. Learn to sell. The single biggest hindrance to my career to date has been not learning how to sell myself and my work to management. My entire life I was always told that if I did good work I would be recognized for it. That's a big fat lie, especially in a field where your manager doesn't necessarily understand what it is you do. Sales is also applicable to everything from finding a new job to freelance to consulting to selling side projects. It's probably your most important skill, bar none, even programming.

2. Pick an industry to specialize in, not a technology. Basically, be an X who can program instead of yet another JS programmer.

3. Stay away from the video game industry.

4. Always take care of your mental and physical health first. Burning out blows.

Can you elaborate on 3? That sounds interesting and I believe time-consuming for specific generations.
A lot of ink has been spilled here on HN about the dysfunction of the video game industry. I won't rehash that here, but I will speak about my specific experience.

I worked in the video game industry for three years before burning out. I let the company I worked for work me 80 hours a week for 2 years straight[0]. I let them because the work is addicting and I was having fun.

When the project I was working on was finally canceled (we never launched), I was given the opportunity to move on to other teams, but to my surprise I just couldn't bring myself to make the transition. I basically spent two weeks browsing the internet instead of looking for a new game team. When I hadn't transitioned to a new team, I was laid off.

I looked around at other companies (inside and outside the game industry) and once again, to my surprise, found I couldn't progress past the phone conversation stage of the interview process. I would schedule technical interviews and cancel them at the last second or simply not show up. This went on for a few months before I simply stopped looking for work.

I didn't work for a year after that. Then I took on short web dev contracts and, between the contracts and my side projects, over the course of another year finally worked back up to a full time 40 hour a week work schedule.

At this point, I'm sure there are people here that would say what happened is entirely my fault and they would be right. I would have been better off had I refused to work more than 40 hours a week and then been fired.

[0]: Fun fact: during that time, I did the math and found what I was making as an hourly rate. My brother works manual labor for the DOT and made more per hour than I did during those two years.