
Ask HN: What are some things you wish you had learned earlier in your careers? - mi3law
Curious about this as I am currently going through my first job search out of a startup.<p>Please be as specific as you can, and add as much reasoning or context on how this effected your work and career.
======
Jemaclus
My two bits of advice are: 1) always try to be the dumbest person in the room
(i.e., surround yourself with smart people from whom you can learn), and 2)
remove the phrase "it works for me" from your vocabulary when dealing with
others. The latter may not be something you utter often, and if that's the
case, then feel free to ignore it. :)

The first should be pretty obvious, but the second is a little less obvious.
But think about it this way: if it worked for me, I wouldn't complain about
it. Agree?

So there are two possible choices: either I'm wrong or your code is wrong
(assuming you're an engineer). As a member of a startup, it is generally in
your best interest to assume that the complainant is right and your code is
wrong.

Assume that your code is wrong. Investigate it. Ask for more information if
you need it. Track down the problem. If it works for you, then think of all
the reasons it might not work for someone who doesn't know how it works. Think
of all the edge cases. Clear the cookies. Bust the cache. Make sure it's not
Wednesday ([http://gyrovague.com/2015/07/29/crashes-only-on-
wednesdays/](http://gyrovague.com/2015/07/29/crashes-only-on-wednesdays/)).
Whatever it takes to figure out why it's not working for the user (which may
or may not mean it works for you!).

Maybe the code is wrong -- if so, fix it. Maybe it's a feature -- if so,
explain that. Maybe the user made a mistake -- if so, identify _why_ and fix
that.

Only after identifying the problem and potential solution do you go back to
your complainant and say, "Here's what happened and here's what we're doing
about it." If the complainant made a mistake, you can explain "it works", but
you should also follow up with some way that you're going to make sure this
doesn't happen again.

This is basically the single best way I know to resolve complaints. People
respect you significantly more when you can always present a solution -- even
if it turns out they were wrong all along!

~~~
manidoraisamy
This is great advice! A common sub-case of this is not throwing proper error
messages/not validating inputs. Without that, users will be stuck when they
make mistakes. If you stick your stand that "it works for me", you have lost
the opportunity to fix it for others. When you realize that, you would have
lost many users.

------
ChuckMcM
For me it was switching over from doing what others wanted to doing what I
wanted. More specifically I was working at Sun and had been "in the market"
for a bit over 5 years and sought out career advice about how people got to be
senior most engineers (Sun called them Distinguished Engineers). The advice
took me by surprise which was, stop doing what others want and start doing
what you are passionate about and go from there. I've always been passionate
about systems, whether they are operating systems, systems of government, or
economic systems. Anything where there were lots of interacting parts which
created something that none of the individual parts could do on their own.

Then my path switched from asking "What are people looking for that might be
interesting?" to "Who is working on something interesting to me and how can I
become part of that?"

It changed no only how I approached looking for jobs, it also changed how I
felt about the CRUD stuff that came up in the middle of some of them. Just
like a largely ignored my general education classes in school, knowing that I
needed to pass them to get my degree. Staying focused on what I was building
let a lot of the annoying stuff about earning a living sort of roll off my
back.

I don't know that my life would have been largely different but I would have
felt better about my path.

------
staunch
Negotiate hard for salary and do not apologize for it. Save money.

------
Dowwie
I wish I had not assumed that management , and the culture they create, are
representative of a wider trend in an industry. This assumption was based on
what is known as the "False Consensus" effect.

I graduated from the university (undergrad) in 2003 with a bachelors degree in
computer science. I joined a company that was prestigious at that time. Soon
after joining, I felt very disappointed in my career choice as all around me
were teams that were outsourcing major roles to TCS and InfoSys consultants.
Adding insult to injury, in order to receive their full severance packages,
the full time employees were required to stay on long enough to train their
low-cost replacement. Seeing this, I felt "awful" about the IT career path.

If I could go back, I wish I knew that IT wasn't as easily commoditized as the
managers around me assumed it was. Further, I wish I knew that this company
was not representative of a broader trend across the entire American economy.
Knowing this, I think I would have doubled down on acquiring more tech skills
and spent less time diversifying my skillset into business domains requiring
tech.

On the other hand, a positive outcome of this early career experience is that
how I reacted to that culture made me who I am today. I make the most of
having depth in multiple disciplines.

------
davismwfl
This first one applies generally when you are working in established companies
more than early startups. Anyway, stick out difficult projects longer than you
think you should. I jumped shipped too early on a couple of projects early on
and missed out on some amazing growth/learning opportunities that could have
saved me significant learning curves and frustrations later on, plus it could
have helped my career even faster. Not suggesting anyone stick out an abusive
situation where the team is abusive or the team is being abused by management,
but stick out projects that are in trouble to learn from that adversity.

The other recommendation, do not let yourself get stagnant at a company just
because they are paying you and the job isn't bad. Keep your eyes on the
industry and trends to make sure you are not being used or missing great
opportunities. Sorry to say but there are many employers through ignorance or
willful deceit that will try to take advantage of you and you need to control
your own destiny. I tend to think more is out of ignorance and fear then
willful deceit but none the less it happens.

------
prawn
Never learned JavaScript when I was starting out in 1995-8. Always found a way
to hack things together, but only by adjusting existing scripts. It's
frequently a choke point for me now where I have to delegate to someone else
to fix something that's beyond me. At 38 and being very busy, I don't have (or
make) time to learn it now.

I have worked for myself for almost the entirety of my career, so never had to
face a job search or technical interview or anything like that.

~~~
michaelpinto
I think you should forgive yourself a bit more: Back in 1995-8 most
programmers never took JavaScript seriously because the "real code" was be
done in a language like Java or Perl. We tend to forget that in a pre-web 2.0
era it was sort of seen as a hack to do small things rather than giving an app
a front end.

Besides if you really wanted to make a career mistake back then it would have
been to master Lingo.

~~~
prawn
That's correct! CGI-BIN folders in every site.

You might get a laugh out of this after your Lingo comment. I should probably
consider it a career mistake but I've got by for a long time despite it - I
settled on ColdFusion when it was an Allaire product, and have stuck with it
since. Now using Railo. CF is not the trendiest of setups to use. ;)

~~~
michaelpinto
First thought: "Wait, there's NO way ColdFusion can still be around today!"

Looks online "OMG!"

Although I think Adobe is still supporting Director, but alas my paying CD-ROM
gigs ended in the 90s...

------
1arity
The number one biggest lesson I have discovered the last few years, and the
number one thing I have seen that holds people back when it is missing is :
You always have a choice, and taking responsibility works.

Choosing to blaming other people for whatever is not working for you, instead
of choosing to take responsibility to create improvements that may work for
you, is not something that works for you. Fabricating a story where you are a
fake victim, complaining about things that aren't working for you, pretending
things that aren't working for you are not your responsibility, and pretending
you are fully justified in trying to blame others for what you declined to
improve yourself, is just creating the very powerlessness for yourself you are
pretending others forced upon you.

As soon as you blame someone else, you give away your power, you reduce your
agency, and you pretend that you don't have the power of choice, paradoxically
creating the very circumstances about which you are complaining. As soon as
you take responsibility you increase your power, agency and your choices,
reducing the likelihood you have anything to complain about.

Blaming others is a compelling fake narrative to be seduced by, because
substituting getting real results with the fake pay off of pretending others
are wrong, and by implication pretending you are right, has the color of
"safety" because because it's a pay off you invent in your mind, rather than a
result in the real world. So you don't have to do anything to create this fake
pay off ( except delude yourself ) and even if you fail, you can still blame
others, whereas if you fail while trying to create a real result, then you
take responsibility, reflect that it was your choices that created this
failure and think on this opportunity for creating improvements.

This carries over into hiring. You want to hire people who aren't seduced by
blaming others instead of taking responsibility to create improvements. These
people are more productive and create more results than people who don't take
responsibility.

The number 2 would be : following your heart, let your feelings be your guide,
and at every decision point, choose to walk closer to the life you want rather
than further from it.

The number 3 would be : be brave, live, do things that bring you alive, speak,
let your light shine, give of your unique contribution.

------
zippy786
People who are smart and cunning are dangerous and there are plenty of them
out there. Technological feat is not enough in software industry as personal
interest and politics is prevalent. If you really despise these things, it's
better to think ahead and come up with a plan or work for yourself.

~~~
manidoraisamy
I have seen the opposite - People who are smart become more generous as they
realize they don't have to be cunning to succeed. On the other hand, dumb
people think others succeed by being cunning and justify they becoming more
cunning. Since, these mediocres tend to be high in any large organization,
politics sets in.

