
Ask HN: If you restarted your career, what would you do differently? - kenentu
No matter the level of expertise or experience, it&#x27;s always a favorite question of mine to ask people this.<p>If you could restart your career from day 1, what would you do differently (or the same)?<p>Please also leave years experience&#x2F;current position.
======
garry
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.

~~~
nedwin
What are you doing now you're no longer a partner at YC?

~~~
garry
Having fun with my 9 mo old son, and working on some new stuff I can hopefully
talk about soon!

------
patio11
~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.)

~~~
dennisgorelik
Are you running boutique recruiting firm now?

------
brianwillis
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
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!

~~~
robbs
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](https://www.wetafx.co.nz/jobs)

~~~
theviajerock
All the positions are onsite?

~~~
robbs
Yes, in the Miramar suburb of Wellington.

------
lj3
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
Can you elaborate on 3? That sounds interesting and I believe time-consuming
for specific generations.

~~~
lj3
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.

------
ams6110
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
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
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
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.

------
trickledown
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
> 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
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
Thank you for that list! Would you mind elaborating more on why you'd exchange
W-2 work for 1099 work?

~~~
throwaway2016a
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.

------
pasbesoin
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
This is real. Thanks for the post.

------
dvcrn
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
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
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
_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
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
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.

~~~
cylinder
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.

------
WesleyJohnson
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
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
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
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 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
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
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
And Bitcoins and Google, FB, Amazon, MS, Apple shares and SF real estate.

------
radikalus
10 years quant/trader

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

------
potatosareok
I've only been programming fulltime for a few yeras so I'm putting this out
for you as much as getting other people's thoughts on my half baked opinions.

1\. Be independent in your role. Have opinions. You're hired for your
expertise - use it to weigh options, consult with colleagues, and implement a
solution. Sometimes your solution works sometimes it doesn't. It doesn't mean
a failure, just a learning opportunity. The point here is don't be paralyzed
about making technical choices and never make technical choices yourself - if
you always defer this to other people then what were you really hired for?

2\. It's easy to always say "yes". Sometimes it's important to say no to
projects. In the time/money/expertise constraints at your job, some things
just aren't possible and everyone in company might not have the same
visibility into why a project will fail as you do. This relates to (1) in that
you should raise your concerns early as possible if you have them. Then you
and your coworkers can make an informed call whether to try the project or
not, but this time with better expectations.

3\. Try and set yourself up for success. Be honest with yourself about what
your skills are and what you think is possible. It doesn't mean saying no to
anything you think isn't easy but communicating that you think it is diffcult
and proposing an appropriate timeline keeps everyone expectation in line. It
sucks sometimes to say that some exciting new idea that will earn tons of
money can't happen but it's better then rolling the dice and then missing
deadline after deadline. It's also more valuable to the company to know that
this a weak knoweldge point and try and route resources approrpiately in the
context of that.

4\. There's 40+ years to get what you want done. No need to rush things. Try
and do some creative hobbies outside work. Be a person you wouldn't be bored
to spend time with.

------
tunesmith
The most surprising thing to me is how I feel about math and academic
subjects.

First decade in the workforce I thought math and academic CS were kind of a
waste of time - it was so easy to be productive and respected as a programmer
without it, just by using logic and thinking.

But... as you get more senior and start dealing with concurrency and
distributed systems, surprise! Mathy stuff is valuable. Big-O stuff, but also
just recognizing what different scales _feel_ like. It's weird to realize that
things like e and ln are all of a sudden directly relevant to life.

It's disappointing that a lot of math classes in college never seemed to focus
on the intuitions of what those concepts _feel_ like. Anyway, I would have
spent more time earlier on getting facile with mathematical thinking -
critical thinking, bayesian reasoning, advanced math, etc.

~~~
JeremyMorgan
I came here to say this, but you put it perfectly. It's amazing how I got
through so many years before truly respecting and wanting to learn more math.
It's been a huge focus now that I've worked the trenches long enough to see
the real value.

------
pbnjay
Writing code for 20y. "Official" workforce something like 10y. MS and PhD in
Comp Sci. Software Dev as a part of research project during that time, so 6y
there. Day-jobbing as a developer now for ~3y. Freelancing for the past 6-7
years part time.

Knowing what I know now, I'd have started freelancing earlier in grad school,
I missed out for most of the MS. Once I started that finances got easier and
lets face it I had plenty of free time before I had kids (even with all the
research).

I'd probably still do the PhD, I enjoy the intellectual stimulation that comes
from science + programming. It's a nice change of pace from the apps and
enterprise software I work on while freelancing

~~~
huevosabio
Any advice in particular for freelancing while doing a PhD? I just started my
first year, and I would like to keep a foot in industry and ease a bit the
finances.

~~~
pbnjay
It's really tempting to slack off on the PhD when you get a big contract, but
if you're serious about the PhD do not put it second. If you're in classes
still, you should be good for a while, but once you get into research it will
really depend on your advisor. e.g. I worked on research all-out 3 days a week
and then had 2-3 full days each week to freelance while still maintaining a
social life.

Also, depending on your stipend, be selective with clients. If they seem like
jerks don't take on the added stress. It's one benefit of moonlighting when
you don't NEED the money to pay the bills.

~~~
huevosabio
Thanks!

------
jupiter90000
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.

------
enobrev
15 years as a Software Developer. Mostly freelance, with 5 years at a
relatively successful [acquired] startup, and now back to freelance.

I would have managed my money better. Not that I spent every dime on B.S., as
I'm naturally frugal. But I would like to have had enough put away so I could
spend more time working on personal projects, and maybe have more stretches of
time to dedicate to hobbies.

Otherwise, I've had a very long string of luck and opportunity that allowed me
to work on fascinating projects with consistently talented and interesting
people, so I'm not sure I would have changed much else.

------
bitanarch
~13 years as a software dev. One-time startup entrepreneur, now working in
Cupertino.

\- Never (actually) scold people. Being right is not the point. Moving the
needle is the point.

\- Sell your startup when a buyer comes knocking at your door.

\- Learn sales and marketing.

~~~
palerdot
> \- Never (actually) scold people. Being right is not the point. Moving the
> needle is the point.

Nice one. Worth remembering even if you are not a programmer. Thanks.

------
miek
No regrets, things have worked out well. Would have benefited from studied
something other than finance - electrical eng., CS, or statistics. Spent my
first 8 years doing fund analysis/risk mgmt and then managing a small team at
a large firm -- that was a lot of smoke and mirrors disguised as science.

I started a personal care products manufacturing company with partners 2 years
ago. I make less money (that will hopefully change in 1-3 years), but I make
enough and I'm much happier. This wasnt the case until we recently picked up
some very large customers. Business is tough -- I have a great team, but I
should not have put so much trust in the veterans in the group. My advice (and
what I would have done differently): if you're going to risk a lot of
time/money on a project, know the whole project inside and out, start to
finish, and the same for your sales channels. Don't let more experienced
members say "don't worry, we have that part covered", no matter how successful
they are or how long you've known them. Dig until you have every last detail,
annoying partners and suppliers as much as necessary along the way. In fact,
the more successful your partners are, the less they mind risking a lot of
money, and the less ikely they are to spend sufficient time working through
important details.

~~~
beeboop
This seems counter to a lot of advice I've seen. They want managers to empower
employees and delegate tasks. At a certain scale it would be impossible to
micromanage like this. What would you say to that?

------
jesserayadkins2
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.

------
isxek
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.

------
panglossian
8 years technical work before and during college followed by 26 years at 13
companies in various engineering roles in and around San Francisco.

My regrets:

1\. In the early 90's I walked away from a secure position as an early
engineer at a pre-IPO company to try and start a different company with 5 of
my college friends. A year later I had no company and no friends. Some people
who stayed the course now have 2 more commas in their net worth than I do now.

2\. About a decade later I tried again to start a company with a few former
co-worker/friends. Things went about the same after two years - no company and
no friends.

What I think I learned:

1\. While I like to believe I'm so-so at managing technical risks I _know_ I
suck at assessing business risks.

2\. Don't ever start a business with your "friends". Never start one with
people who you don't _absolutely_ trust.

3\. You can take a _huge_ hit if you give it your all and things don't work
out. You can end up burned out, depressed, in debt and a personal life in
shambles. You also miss out on opportunities you purposely ignored because you
were too focused on success.

4\. For someone like me who prefers being an individual contributor I think
job hopping helps more then it hurts. I may have missed some management
opportunities but I've gotten raises and promotions faster than those I know
who stayed the course.

But overall so far I've had a great career. I may have missed my chance to hit
a home run but no matter how weird things got I was fortunate to find
interesting work and also contribute to open source efforts which I know
benefit millions of people.

------
vishalkgupta
1 year at Cisco Systems hardware engineering internship, 1 year at a mobile
startup before mobile was really a thing, 8 years at Goldman Sachs in their
electronic trading business- business side, 1 year own startup, 3 years
electronic trading startup, now- building this out..
[https://news.ycombinator.com/item?id=11441020](https://news.ycombinator.com/item?id=11441020)

1\. Don’t be afraid to start over. The problem with largely starting my career
at Goldman Sachs was that you feel like you’re running so hard/fast with
blinders on. Also, and maybe this is a New York thing, I started to identify
myself with my job. I had to learn that I am not my job. All of this made
switching friction very high. In my time at GS, Facebook was being created,
and Google became what it was today. In reality I was letting the outside
world evolve, while I sat somewhere that refused to. I felt like everything I
had “built”, career-wise, would fall apart the day after I left Goldman. The
reality was that my career didn’t fall apart. But the products/businesses that
I built meant less to me, and I was more excited about the future of what I
wanted to build. I felt finally unchained. I should have left 4 years before I
did.

2\. Keep closer to technology. When graduating in 2002 with a Computer
Engineering degree, I heard people around me snicker -“Didn’t all those jobs
just get outsourced?” It was a bad time for technology, it was a bad time to
graduate with a computer engineering degree. Because of my career choices, I
ended up focusing more on the business end of things (which still worked out
well), but technology is my first love. I love to build things. Now I just do
it for fun and hope I can build stuff that people find useful.

3\. Be less afraid to fail, take more risks when you can. I played it safe
when younger. Focused on making as much money as possible. I love the Elon
Musk quote - “Failure is an option here. If things are not failing, you are
not innovating enough.”

------
vogt
Designer here. If there's anything I wish I had done differently from the
beginning it would have been to learn the "professional" soft skills like
delegation and diplomacy early on, particularly with management/business-type
people. I have always sucked at that and am still trying to get better.

------
zatkin
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.

------
coderKen
Really interesting responses from people on here, thanks for sharing. I've
learnt a lot. I live in Africa where taking your career seriously is something
one cannot afford to take for granted, we do not all have the luxury of
traveling the world and a good well paying job is one of the securities one
can have. Albeit that, I've read people complain about how they should have
spent more time outside, thinking of it now, it hit me that I don't want to
regret when am older (24 ATM) so instead of the extra work this afternoon I
have decide to have lunch with my girlfriend and no am not working on the
weekends, I'll take my sisters shopping. That's the good thing about remote
work :)

------
FennNaten
4 years self-teaching programming (web)while studying biology. 1 year
interning and training with C# (wanted to get experience with a static-typed
language before going all-in in software development) 2 years in the web game
industry (dev). 3 years in the e-commerce industry (dev, then lead).

One thing I'd change I guess, is working more on side projects to actually
build things, and get computer science knowledge sooner. Other than that, I'm
quite satisfied with how things turned out and there are a lot of experiences
and people I met that I wouldn't trade for anything else, so, I'd keep things
the way they are. :)

------
urlwolf
10 years in academia, doing modeling/machine learning. 3 years doing moonshot
startups. 1 year consulting in data science. 3 years doing a business that
actually works, generates lots of value to many people (Data Science Retreat).

1- I would have gone sooner with a business that targets an audience I'm part
of (HT to Amy Hoy for that). It's hard to fail that way.

2- I would have spend more time thinking about how to have fun. It doesn't
happen by accident. We spend so much time designing our business and so little
designing our life.

3- I'd have spent more time solving real problems.

------
dennisgorelik
Experience:

1) Small business in Russia 1997-1999. \+ Getting second Master degree in
Marketing and Management.

2) Back to programming in Russia. 2000-2003

3) Moved to the US.

4) Contracting jobs in the US and waiting for a Green Card. 2003-2010

5) Job board business - postjobfree.com Full time since ~2011 (but started
part-time in 2007).

What would I do differently:

Skip my second Master degree (Marketing and Management). While somewhat
helpful, it had a significant opportunity cost. Instead I should have focused
on programming from the beginning and moving to the US sooner (~1998).

Join startup (preferably Google :-)) as early as I can.

Create my own startup with other founders (not solo).

------
aaronspelling
Software engineer, roughly 9 years of experience in web development and also
UX design in 3 different countries.

1\. If you don't enjoy working for the company, quit and find something
better. Don't wait for things to improve, especially if you don't have much
influence in the company or if you don't see it worth the effort. Trust me,
it's better for you, your colleagues and the whole company, your friends and
family. This is the most important rule!

2\. Don't get stuck in platforms and technologies that you don't find
interesting (I'm looking at you .NET).

3\. Ask for the salary that you want to get. You are not going to get a raise
later, but don't be greedy. (I'm really bad at this)

4\. Always do your background work before interviewing with the company. Ask
lots of questions in the interview and make sure that it's the place where you
want to work before even applying. Interviews should always be also about
selling the company to you, not just selling yourself to the company. (This is
what I have learned to do)

5\. Remember continuous learning and improvement. Learn, learn and learn and
do things better than last time. Try out new things as the industry is
changing all the time. Also learn during your free time as you don't have time
to learn everything at work, but remember to relax and take a rest.

6\. Network with people, get friends, be a nice person who can get stuff done.
Some day they might do a favour for you if you need help in something, e.g.
getting a new job. (This has been very useful during my career)

7\. Always work hard to keep customers satisfied and deliver excellent end
result in every project. They are the ones that pay your salary and they will
give feedback about your performance. Even one failure can cost you a
promotion, salary raise or you don't get to do that dream project for an
important customer.

8\. Be motivated and find out where that motivation comes from. Do things that
you enjoy as they keep you alive.

9\. Don't underestimate your skills, you are awesome and you can do it. Be
proud of your achievements and success stories!

10\. When in trouble, ask for help and help your coworkers if they need any
help. You are on the same boat.

------
MalcolmDiggs
13 years as a full-stack dev.

If I went back and did it again, I would have enjoyed my twenties more. No 80
hour workweeks. No killing myself to meet arbitrary deadlines and please
bosses who couldn't care less. I'd also make more friends outside of work, and
generally spend more time doing things outside, enjoying nature.

In short: work-life balance. I didn't have any of that until recently. Now
that I have it, I can't believe I lived without it for so long.

------
zer00eyz
18 years in Director of Engineering for the last 8, various engineer titles
before that, mostly in small to mid sized startup web shops.

The thing I wouldn't change: working for organizations in transition. I have
learned to love the words "migration" and "re-platform", I love the (growing)
pain(s), I love change.

The thing I would do differently: Taking the "next job" rather than waiting
for a job I know I will love.

------
kyriakos
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.

------
gadders
22+ years professional history. 6 years as tech support or dev, 16 years+ as a
PM

Things I would do differenly:

1) Stay technical longer. I moved into being a PM as I found it more
challenging, but learning a few other languages wouldn't have hurt.

2) Start contracting sooner. It is the best thing I have ever done to improve
my enjoyment of work, as well as being more lucrative and advancing my career.

3) Get a mentor when it could have made a difference.

------
rajacombinator
Start hacking on web/mobile stuff earlier. Start my own businesses earlier.

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

------
pnathan
6 years industry, 5 years prior to that doing academic development & grad
school (M.S.C.S); now as a SWE in a SRE team. Hobbyist for > 15 years.

I'd have started and finished at the same university; moved to SF in 2005
immediately post-graduation; generally I would have _taken on more risk_. This
would have essentially allowed me to semi-retire by now.

------
santa_boy
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

~~~
bbcbasic
If you don't mind sharing what were these trendy careers?

~~~
santa_boy
Banking, Investing/PE, General Management (Leadership ?) in that order

------
makuchaku
11 years in IT industry in India. Doing fairly well. \- Should have been more
rigorous in my Engineering. I know things, I could have known them very well.
\- I should have built more startups early on in my career (when I had no
responsibilities) \- Figure out how I can spend more time with my family & now
my Wife & Kid.

------
lsiebert
I'd get a CS degree first instead of a psychology degree and then going back
to school. I don't regret what happened, but that would have been more
efficient and I'd be paid better.

------
jasonkester
That's a tough one, since I seemed to get most everything right first try [1].
Still, there are a few tweaks I could have made.

What went right:

\- Hopping jobs early. I managed to roughly quadruple my salary over the first
few years as a developer by switching between companies in a hot job market
(though nowhere near as hot as the one today). A couple of those were "perfect
company" type jobs where I could have comfortably stayed my whole career and
had fun. But my value was rising quicker than they could match, so I had to
move on. That seemed mean at the time, but was absolutely the right thing to
do.

\- Moving to contracting. Cause they pay you twice as much per hour and you
can easily move on when the contract ends.

\- Negotiating. I figured out early on that a good developer is worth more to
a company than a company is worth to a good developer. Over time, I got more
and more confident at insisting on being paid accordingly. Was constantly and
consistently amazed that companies would agree to pay pretty much any number I
could say with a straight face. Thought up some bigger numbers and practiced
saying them.

\- Living cheap and light. So that it's easy to sock away lots of personal
runway and not have to worry so much about the consequences of not having a
job for, say, an entire year at a stretch.

\- Traveling between contracts. For like a year at a time, on account of all
that extra money that contracting pays you. Reaping the payoff from that light
living.

\- Going Remote Early. I started taking freelance gigs with me on overseas
trips, being that "guy on the beach with a laptop" well before that was
considered something you could actually do. Today, you can pretty much start
your career there and never see the inside of a cubicle, ever. So definitely
jump on the opportunity if you see it.

\- Building SaaS businesses on the side, running them until they bring in a
respectable developer salary, then ramping down the contracting.

What would have made it better:

\- Start the SaaS part earlier. I actually made a few attempts early on, but
never followed through to collecting real payments from real users. Instead I
build Cool Side Projects of the sort we still (sadly) see lots of here. They
were fun. But you know what's even more fun than a Cool Side Project? _Never
having to work again_. Would have been nice to have that happening ten or
fifteen years earlier.

\- Network better. Life would have been easier if I had an assured supply of
high-rate gigs to pick from out of a network of previous employers and co-
workers. I burned a few years on the "treadmill" trying to re-bootstrap that
after leaving industry. If you can avoid ever having to log in to the eLances
of the world, life will go a lot more smoothly.

\- Focus on skill & value over savings. I saved a bunch in my 20s, before my
bill rate was anywhere near what it is today. Looking back, I probably could
have put most of that into personal runway rather than retirement savings. I
go back and forth on this one, since I doubt I would have had the confidence
to piss off for entire years at a time traveling if the bank balance was
really that close to zero.

[1] Capsule summary: ~20 years, startup employee to contractor to traveling
dirtbag climber who very occasionally contracted for a few months, to small
business owner, to dad with a full time remote contract gig for almost 5
years, to mostly retired small business owner.

------
selmat
(side note: Live in central Europe.)

Background:

1\. education - mix telco and software engineering -> would change - got to
just one specialization : software eng.

2\. education (continued) - business and economics -> let it the same. It got
me a lot. General overview about world, business, management etc.

Career:

1\. Almost 9 years in IT business

2\. My main issue is switching position and domains -> good and bad,
unfortunately I don't know if I would change it.

\--> Good is that I have wide range of skills and knowledge. I can transfer
and share them in different environments, detect hidden issues, suggest
improvements. It proves my flexibility. I observed I like teaching,
explaining, drawing, solving puzzles and real-life issues.

\--> Bad is that level of my deep expertize is nowhere. I am just another
generalist. (Un)fortunately I found out that I hate management jobs where I
had to chase people, reply to silly emails, escalation, read and rewrite
reports and send to upper layer. Personal communication is other story. I love
discussing with people about real-life/business issues and bring solutions.

3\. I have tried 4 various 9-5 positions - telco, software (QA), networking
(security), customer contracts management (current, non-technical, boring but
well paid). Salary is raising with switching. For me 2-3 years in one company
is enough. Usually, there are no option for rapid pay-rise. -> let it the
same. It is the easies way how to get higher salary.

4\. I have wrote 3 technical books. Good just for reference and bonus points
in my CV. Get to interview is much easier. Downside is huge time consumption.
--> Change it , i wouldn't do it again, at least not 3-times. It took me
around 1000 hours/book with around 0.15 cents in revenue per book.

5\. Almost all jobs were my own success in hiring process. --> Would change
it. I would do more networking with people. It's much easier to get
interesting job when you know right people. Everything publicly available is
rubbish which closed-groups filtered - jobs, real estates, cars.

6\. I would work less and spent more time with hobby and personal development
- rhetorics, art of problem solving, story-telling...

7\. I would work less and spent more time to develop relationship with spouse.

8\. I have own company for side projects and some additional income -> let it
the same

All in all...I am satisfied with it as it is. Despite of issues.

I observed one sad thing. I always will know what was wrong in my current way.
I will have list of thing I would did differently. But this is useless due to
few reasons:

1\. If life would go different way, I would have different experiences,
different issues but still the same mind. So in results I would be in the same
situation thinking what I would did differently.

2\. It doesn't matter what I did and didn't, there are and always will be
things which are good and sucks. All my decisions were made based on my mental
state, experiences, desires, expectation etc.

3\. Bad things moves me forward since. So without bad things I would be there
where I am now.

------
dylanhassinger
blog

~~~
andyfleming
Care to expand on why?

~~~
dylanhassinger
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

~~~
hyperliner
maybe, but maybe not.

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

