top | item 11641453

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

108 points| kenentu | 10 years ago | reply

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.

95 comments

order
[+] garry|10 years ago|reply
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.

[+] sp527|10 years ago|reply
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.

[+] kamilszybalski|10 years ago|reply
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.
[+] nedwin|10 years ago|reply
What are you doing now you're no longer a partner at YC?
[+] umbs|10 years ago|reply
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.
[+] JDiculous|10 years ago|reply
Do you still code?
[+] patio11|10 years ago|reply
~12 years of professional experience: 3 as a translator/researcher, 3 as a salaryman, 5 (full-time) as a bootstrapped solo software entrepreneur, 1 as CEO of Starfighter (current gig).

I go back and forth on this one, as I know why I did it, but: I burned way, way too many years on two jobs which were dead-end and not teaching me at sufficient velocity to justify the use of time. In hindsight, it would have been a better use of my time to be in a different organization for those 6 years. At the time I felt like I was optimizing for personal growth and figuring out this adulthood thing but in the clarity of hindsight I'm pretty sure I could have found that out while not being miserable for 90 hours a week.

I should have aggressively applied for jobs early in my career, including jobs I felt were likely to turn me down, rather than constraining my own choices to places I thought I was reasonably well-qualified for. (Specifically, I should probably have applied to Google, and AppAmaGooFaceSoft for that matter, immediately out of college and regularly afterwards.)

I was happy and pretty fulfilled with running my own software company, but I would have been happier, more fulfilled, and more successful with a better choice of projects for my 2nd major SaaS. In particular, rather than doing "a good business which I know that I will not be terribly interested in", I should have taken Peldi's advice and done something which both pinged my interests and made use of the various forms of capital I had built up prior to then. (Perhaps email marketing software or something else targeting the software industry, rather than something which helps you if you're the office manager at a dentist's office.)

With regards to Starfighter: we decided to bite off two very ambitious development projects then run a boutique recruiting firm. We should have run a boutique recruiting firm for 3 months, then done one not-very-ambitious development project, folded it into the recruiting firm, and then ramped up recruiting and development in parallel.

Things I'm generally happy about:

Skipping grad school.

Choosing to write down what I was learning while I was learning it: A++, would write 3 million words again. If I have a regret here, it is not writing more the last ~2 years.

Side projects: lifechanging for me.

Getting exposed to a variety of people, companies, and problems by doing consulting, while also getting paid handsomely to do it: great decision. (Probably should have banked more while doing it rather than assuming I would always have a consistent income level and choosing to overspend on some things.)

Bonus round: Definitely, definitely say yes if Thomas Ptacek invites you out to coffee. (We met for the first time in late 2009. That conversation altered my trajectory to consulting. A similar conversation in late 2014 resulted in Starfighter.)

[+] brianwillis|10 years ago|reply
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.

[+] nedwin|10 years ago|reply
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!
[+] frontendbeauty|10 years ago|reply
> 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.

[+] lj3|10 years ago|reply
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.

[+] xxxmaster|10 years ago|reply
Can you elaborate on 3? That sounds interesting and I believe time-consuming for specific generations.
[+] ams6110|10 years ago|reply
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.

[+] d--b|10 years ago|reply
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.
[+] hijinks|10 years ago|reply
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.
[+] throwaway2016a|10 years ago|reply
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.
[+] Hockenbrizzle|10 years ago|reply
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.
[+] kerrsclyde|10 years ago|reply
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!
[+] oracuk|10 years ago|reply
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.

[+] trickledown|10 years ago|reply
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

[+] runT1ME|10 years ago|reply
> 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.

[+] throwaway2016a|10 years ago|reply
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

[+] JDiculous|10 years ago|reply
Thank you for that list! Would you mind elaborating more on why you'd exchange W-2 work for 1099 work?
[+] pasbesoin|10 years ago|reply
Be a lot more critical of "expert" opinions. Including legal and medical.

I have some smart friends who got stoned now and then. They seem to have ended up happier.

Even the one who was nearly lost to it, wholesale. (And who's still struggling, but hopefully on the upside...)

At least she lived her life.

Me? Too scared by the rhetoric. Too anxious from the bullying. Ultimately, a mountain of regrets.

As they say, better to have really lived, briefly, than to have suffered long.

Go out and live. And, those who seek to scare you -- if you look closely and eventually gain some perspective, it turns out to be for their benefit. Fuck them.

Yeah, and do what you fucking want. Just realize that it's not always how you make a living. Sometimes, you find a way to make a living, so that you can then do what you want in your free time.

P.S. Yes, this is career advice. As in, make sure it's your career. And then, make the most of it. Whether it's one thing, or a dozen.

Cheers

[+] ericzawo|10 years ago|reply
This is real. Thanks for the post.
[+] dvcrn|10 years ago|reply
6 years software engineer based in Tokyo. I know 6 years is not much compared to other people here but I want to share it anyway:

1. Push private projects through. Instead of having a playground to use new technology, actually push it to a initial release. You never know what happens to the project and you have something to show.

2. Create more companies. One of my projects went off and turned into a small company that got me a good amount of $$$ until I sold it even though the market wasn't that big for it. It made me realize that there are so so so many people on the planet. The chances of just getting a subset of that as your customers is extremely high. Assuming you have a service that costs $5 a month and maybe 10.000 users (which is not much at all), it already means that you earn 50k/mo that you can re-invest.

3. Do more remote work. The best time I had in my entire career (so far) has been the time where I was able to work literally everywhere I want. That time also turned out to be my most productive time so far. I love my office and I love my coworkers but events come up all the time. What if I want to be in X for a month to experience new year? Or see my family? Or explore another country while I'm young? Remote work is so important for me these days, I would without hesitation give up a good chunk of my salary to be able to do it. (Plus I love working from cafes)

5. Hop less between companies. I was very unfortunate with the companies I picked. My past 3 companies either failed or turned into a management hell that I tried to leave as soon as possible. Now my 3 previous companies are all under 1 year (luckily contract based though) which is extremely bad for my current job search.

6. Don't do everything alone. If you work on something in your own time and it looks crap, just spend money and hire a designer.

7. Don't focus only on Google, Facebook and co. Yes, it would be cool to get into these companies but you might earn a lot more money with more freedom and more impact at smaller gigs. Ignoring these kind of companies is a huge mistake.

8. And lastly: Don't be afraid of being jobless for a few months. It's actually great to have some time instead of directly starting the next thing.

[+] pin9999|10 years ago|reply
Are you at the Tokyo branch of a foreign company? From what I heard, it sounds like the kind of the freedom you talked about is not usually enjoyed in most Japanese companies, but I'd be happy to be proven wrong.
[+] jakobegger|10 years ago|reply
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.

[+] isxek|10 years ago|reply
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.

[+] elliottcarlson|10 years ago|reply
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.

[+] zer00eyz|10 years ago|reply
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.

[+] WesleyJohnson|10 years ago|reply
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.

[+] pfarnsworth|10 years ago|reply
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.

[+] kleer001|10 years ago|reply
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.

[+] rdl|10 years ago|reply
I'd still do crazy stuff (I've done about 5 individual things which were relatively risky -- running away from home/dropping out to go to college early w/o any money or financial aid, offshore ecash, datahaven, 3 separate warzone projects, a startup (lowest risk thing BY FAR)).

I got trapped in some of these and couldn't leave/do something new once it was clear the thing should end, because I didn't have the resources to do that (i.e had no real money whatsoever). Figuring out a way to get around that would be high on my list -- bailing on HavenCo in 2001 to join Google would have been a great choice; bailing on the warzone stuff in 2006-2007 once I'd learned everything I'd wanted to learn, to go back to doing a startup, would have been the right choice.

[+] theGREENsuit|10 years ago|reply
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.
[+] coroxout|10 years ago|reply
15 years in IT-related roles, mostly a mix of programming, data monkeying and IT support, mostly for non-profits.

1. Find mentorship. Don't be shy of pair programming and code reviews. If you're not getting either (or not getting productive comments that you can learn from) at your job, find a way to get them somewhere else, outside work or at a new job.

I was bad at CS at university and dropped out just as the bubble burst. With a lousy CV in a lousy job market, I took the only jobs I could get. I worked as the lone programmer, or in teams where the only other programmer was way too busy to talk to me, or worked on something completely separate, or was just a grumpy sod.

Even at university the demonstrators didn't generally talk you through how to improve your code; they would read it silently, hand it the corner case you hadn't handled, then walk away without a word. There's a place for that, but there's a place for "hey, have you thought about..." or comments about style or design patterns too.

Meanwhile, the people with good degrees and connections took jobs with mentorship and pair programming. They started out a lot better than me already and they grew and grew, while I'm one of those "one year of experience 15 times" people, hiding in the corner hoping nobody finds out how bad I really am.

2. Be open to new technologies as much as you can: you need to stay used to learning new things as they come along, and you also never know which of the new things is the one that people will still want on your CV in 5 years' time.

[+] aorloff|10 years ago|reply
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.
[+] bbcbasic|10 years ago|reply
And Bitcoins and Google, FB, Amazon, MS, Apple shares and SF real estate.
[+] radikalus|10 years ago|reply
10 years quant/trader

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