M: Ask HN: What is your advise to move up the ladder?  Any anecdotes? - gisnotgoogle
Hi HN,
I am asking for some specific advise regarding my case.  I am on H1B visa working for one of top 10 software firms in the valley.  There are about 10000+ employees in my org.
In 2013 , I actually joined startup to move up but our startup got acquired by big software company.
My question is  -  How do I move up ?
I have 9 years of experience so far in software development.  I hold Engineering degree from India and 3 certifications that are business , management related.
To move up I finished Stanford APM certificate in 2013 before joining said startup.  However, that didn't help in getting management position.
I like coding , system design, large scale systems, scalability, contribution to business in general.  I would say I am good , if not best, programmer and can get stuff done fast without any supervision. I can contribute to technical discussions, can mentor junior programmers, can help determine long term approach and more.
However, after 9 years of programming I am feeling there is too much stuff now to learn.  Everyday I hear about new tool, every other week / month there is new language out there.  I am also 31 years old and unmarried.  I would like to have some time for personal improvement rather than running every second like everyone else in bay area ( at least ).
What are your tips for moving up in the organization?  I would love to do coding but I want to make equal contribution to business.  I look to someone like Jack Dorsey , Paul Graham, Marissa Mayer as inspiration on who I want to be when I will be 40.  Jack is not favorite of many people ( especially on HN ) but I think he is strong leader.
My goal is both money and position in new company.  I don't care about size of the company.
I can switch jobs but that might not be immediate due to visa.  Does joining Google, FB make any sense or should I join startup and move up ?
Any tips ?
How did you move up in large organization ?
Thank you !!

R: mmanulis
I'm curious if you discussed your desire to move into a management position
with your supervisor. If you did discuss it, what, if any, feedback did you
get?

Based on your statements in your question, the frustration is obvious, so is a
sense of entitlement, like you've earned this right but it's not happening for
you.

I am sorry that you are feeling like that, it's a terrible place to be and it
can drive you to make some really stupid decisions. Hopefully, in simply
asking this here has helped you relieve some of the stress, if not, maybe the
following will be of some help.

This is not a direct answer, but should give you some ideas and thoughts to
ponder, plus a couple of next steps.

Here are some of the themes I'm seeing in your question:

* Too much stuff to learn when it comes to coding

* Want to spend more time on personal projects instead of on technology treadmill

* Feel like you can complete coding tasks quickly

Let's address these themes:

I'm going to treat leadership / management interchangeably here, even though
there are some serious differences between the two roles. For the purposes of
being a line manager, they can be treated interchangeably.

Moving into a leadership role, whether you're looking for a tech lead or a
management role, does not stop the first bullet point above. If anything, you
have to be aware of all of the new trends enough to make a judgement call on
it's validity, maturity and use-cases. You need to know this because you'll
have your reports coming to you on a regular basis wanting to use some of
these techniques / tools / languages / etc. How do you say no without
offending your report? On the flip side, you'll have your manager(s) coming to
you asking if something is a good idea. How do you explain the tradeoffs if
you're a one-trick pony?

To the second bullet: you have, significantly, more time as an individual
contributor than as a manager. As a manager, you have to make sure everyone is
on target with what they need to do, run 1-1s to make sure the people are
satisfied / happy and are not planning to resign shortly, report up the
progress, report down the needs of the bosses. You are, perpetually, stuck
between trying to communicate up, down and across the organization, while
sitting in a lot of meetings (assuming a large org) and being on the hook to
get more stuff done. This is doubly so if you are new to management. The hard
truth is that the role doesn't matter, you have to know where to draw the
line(s) and have a life. It's a constant tradeoff, do you pick up a new hobby
or go out with your friends or learn the latest framework / language /
algorithm / etc.

Your ability to code or get engineering tasks done quickly has very little to
do with your ability to lead / manage. You need to learn new skills, mostly
around communication, relationship building, messaging, ownership, delegation,
accountability of others, etc. Just because you are a good developer does not
mean you'll be a good manager. I would argue that most developers should never
be allowed to lead as the skills and roles are so different, they are not
transferrable. This means that you're starting from scratch, again. By the
way, as you get promoted, you're constantly starting from scratch, unless you
are, already, doing some of the things your manager is doing.

None of this directly answers your question, as there is no direct answer or
how-to guide, it is very industry- and organization-specific.

Being a manager at a startup is very very different from being a manager at a
large corporation. Moving into that role is, also, a different process. In
some ways, moving into a leadership role at a startup has more to do with raw
leadership skills then anything else; you see a problem, you own solving it -
rinse and repeat, boom you're a leader now. By the way, replace __boom__ with
months, potentially.

In a larger company, it's more involved as managers are expensive, both in
terms of salary and training / knowledge acquisition. Imagine the disruption
to the team, the delivery flow, unofficial communication channels (aka social
glue), etc. when a manager leaves.

To be perfectly blunt, if you have ask the question, you need to really think
about what it means to be a manager / leader. Look at how your role models
came to be leaders, what paths did they take? Based on what you stated, your
goals are position and money, that will make you a terrible manager, if you
don't care about the people. You'll have a hard time retaining people or
producing results in any high-performing organization as you won't be able to
motivate anyone based on those drivers.

Another thought, position is meaningless in a high-quality tech environment.
Power does not come, just, from the title, it comes from the group differing
to you because of respect. Having worked at places where the position/title
alone denoted power, it's a crappy place to be.

My suggestion, as to the next steps, is to:

* Reflect on the instances when you were put in charge of something and how people reacted to you, how they treated you and how you treated them

* Have several coffee dates with managers / leaders in your organization (don't go outside of your org) You are looking for people doing the role you would move into as your next step and their managers. Tell them you're interested in being a manager and what lessons they learned, what their day looks like, what keeps them awake at night, etc. You want to learn as much as you can from them and get your name out there. This is part of building relationships but also information gathering. This will tell you if you actually want the job and are willing to put up with the politics and dealing with people without the context of code to help you.

* Sit down with your manager in your next 1-1 and explain what you're seeking and ask for help to move into that role.

Also, read Managing Humans by Michael Lopp. It will give you a good idea about
what it's like to manage engineers.


M: Ask HN: should you have users verify accounts through e-mail confirmation? - palidanx

I'd like to hear from the HN community what you think about the pro/con of a user having to verify a new user account on a website by clicking an e-mail verification.<p>So the workflow would be
+ go to website
+ create account
+ click e-mail confirmation
+ login

R: ColinWright
Multiple times I've had someone complete a registration, only to find that
they'd mistyped their own email address. Twice. Without their subsequent
"Where's my confirmation?" email I might not have known, and they might never
have completed their registration successfully.

It's a pain, but it's now reasonably familiar, and it serves a specific
purpose - confirming the email address.

If you can get accurate details from people without requiring the explicit
test of the explicit function then I'd be interested.

R: skrish
That is right. But you need to reduce friction in signup to allow user to
explore app.

So a better way could be Signup => Allow them in but say that email
confirmation is required for next login => Send email confirmation => Allow
login only with confirmation.

R: 27182818284
I think people reasonably expect it these days. I'm often comforted by it
because generally a site with it also has the correct lost password recoveries
by email, etc.

R: ScottWhigham
I love how this is downvoted b/c someone disagreed. Silly.

R: a12b
It depends of your needs. If you plan to use their email (newsletters,
password recovering, ...), then that's very valuable to have a verified email.
But if you don't, I think you could go further by removing the email field
from the signup form.

R: koopajah
You also could allow the user to create an account and access the website
directly but remind him that he needs to verify its email address. Of course
it depends on your website and what you are offering, but allowing user to
access your application as fast as possible should be a good idea.

Take the example of twitter which allows you to create an account and start
using it without the verification. But it reminds you to verify the email
everytime you log in.

R: pseudorocker
We've found it's easiest to just ask for email adress twice in the initial
form (and try to prevent pasting for the second field). Works pretty darn
well. Email confirmation is a hassle to build and often for users to act on,
from our experience.

R: pasbesoin
When a company does _not_ use or correctly use email confirmation [1], and I
start subsequently receiving emails regarding an account I never set up, I
consider that a form of abuse on the part of the company.

Please confirm the email addresses of your users.

\--

[1] And I've had more than one major player boggle the latter.


M: Batch process creating new users - 5partan
http://tuxradar.com/answers/492

R: memset
This article cites using `pwcrypt` to return the password, and that doesn't
seem to be easily available (at least, not in Ubuntu 10.04.) Is there an
alternative command-line interface to the crypt() function?

R: 5partan
yes there is:

perl -e 'print crypt("password", "salt")

so you would do something like:

useradd -d / -g users -p $(perl -e'print crypt("foo", "aa")') -M -N foo

working example for the site:

cat newusers | while read u p n

do

useradd --comment "$n" --password $(python -c 'import crypt; import os; print
crypt.crypt(os.environ.get("p", ""),"salt")') --create-home $u

done

Couldn't get it work with perl:)

R: 5partan
Correct Version:

cat newusers | while read u p n

do

export p

useradd --comment "$n" --password $(python -c 'import crypt; import os; print
crypt.crypt(os.environ.get("p", ""),"salt")') --create-home $u

done

R: memset
Hey, this worked! Thank you so much :)

R: 5partan
You are welcome :)