
Lessons for Software Industry Novices - tenpoundhammer
http://www.tenpoundhammer.com/2011/07/33-lessons-for-software-industry.html
======
andywood
I suspect #1 is trying to get at something more general (like 'be humble'),
but it isn't always true. There are also a lot of mediocre people working in
the industry. In more than one instance I've seen recent college grads - and
even no-college wunderkinds - wipe the floor with more established devs in
terms of knowledge and programming ability. The fact that there are always
people smarter than you goes in both directions. The fact that you've been
working in the industry longer doesn't automatically make you the smart one.

~~~
impendia
Indeed, I think it _is_ possible to start a new job and find you are the
smartest person around. That means you should start looking for another job.

~~~
5hoom
Or time to step out & start a competing business ;)

------
switch
Here's my response:

Either start your own company or find a company where you can be yourself and
ship code and not have to worry about 33 lessons.

In this day and age we shouldn't have to worry about things like hairstyles
and asking what turns out to be a stupid question.

If you're a superstar at shipping great software then nothing else matters -
at least that's my experience in two billion dollar software companies.

Perhaps that's part of why they got to such a big scale.

~~~
switch
__A little clarification.

Really good developers are priceless.

Anyone who is smart knows this. You just have to look at how much companies
are willing to pay developers in signing bonuses and retention bonuses.

As a developer you should be aware of this.

 __ __ __ __ __ __ __ __ __ __

Also, life is short.

Instead of choosing a company or line of work where you have to focus on
things you don't want to focus on or change yourself -

pick an area you love and where people love you as you are.

Only idiot pointy haired managers would pick a clean-cut mediocre programmer
over a superstar coder who doesn't shave.

And in my experience the superstars are nearly always not concerned with GTL
(gym, tanning, and laundry).

~~~
larrys
The advice is not going to apply to the top of the top or even near the top.
It's for the other parts of the bell curve.

If you're really good or make money for people (take Lady Gaga as an example)
you can get away with anything. But most people or the people that that post
is directed to aren't.

As a side note I always wondered why back in the day Bill Gates, when he was
the richest man in the world (or near that) always wore a suit to business
meetings. I mean you would think he would just do whatever he wanted to. But
apparently he still had to answer to "someone" and felt it wasn't appropriate.

~~~
switch
The world is changing. It's very different now.

There was a time when there were Feudal Lords and now there aren't.

Similarly, we're moving away from a time of microserfs to hackers and coders
who are free.

Love the downvotes - Guess people would rather take advice on how to be
mediocre and miserable and do things you don't want to do than take control of
their own destiny and find a company they love being at or start one
themselves.

~~~
redthrowaway
>Similarly, we're moving away from a time of microserfs to hackers and coders
who are free.

No, we really aren't. Yes, it's easy to be independent if you have a
marketable skillset, and it's a great time to launch a startup. That said, the
vast majority of programmers are still employed by big organizations where
these rules are very much in effect. They aren't directed at people who are
working on their own; they're directed at the majority who are working in a
corporate climate.

------
Zarathust
This rather sounds like "how to survive in a large dystopian corporation".
Some are good tricks but some don't apply everywhere

------
richtaur
> 1\. You’re not smarter than anyone

Should be: You're not smarter than _everyone_. Ever worked with interns? They
have even more to learn than you do.

> 3\. Looks matter

Do not care, and don't want to work for anyone who does. This is nonsense.

> 6\. Software’s primary function is to earn profits

What? It's not. Software's primary function is to tell a device what to do.
And the device is meant to make lives better. Nonprofits exist; they use
software too.

I quit reading after #15 and #16 because clearly this dude is just trying to
fill up bullet points. Is 33 the magic "get lots of views" number? FFS.

------
resnamen
"Become a part of the culture before trying to influence it"

This is a tricky balancing act, because sometimes a fresh pair of eyes can be
helpful, but OMG! I have recent experience with a new hire that needed to be
shown that point. Everything he saw he declared the stupidest thing ever. "Why
is X built with Y, when it could just be done with Z?"

He changed his tune after a month or two and gained some background knowledge
of the engineering tradeoffs involved... but not before he burned many bridges
in the process.

Were I to give him a word of advice back then, it would be to archive his
rants in a text file, sit on them for 6 months, THEN go off at the mouth. He'd
have more background to prevent him from committing some serious newbie faux
pas, and enough credibility for his better arguments to be heard.

------
genki
As a note, I would tread very carefully with #13 (Secret projects). Especially
if you work on it at work. One of the reasons these types of projects never
get approved is because of #6 (software must earn profits), and being seen
working on that type of thing can give the impression that you know better
than your boss, which is not the impression you want to give.

------
prole
Reading this, I was immediately reminded of why I couldn't wait any longer to
start my own company. As others have mentioned in the thread, many of these 33
lessons are spot-on ...unfortunately. (I don't want to sound like I'm
criticizing the author - it's well-written and concise, and he's certainly
achieved the composition skills his boss had hoped.)

Some of lessons compared to working for yourself: >1\. You’re not smarter than
anyone

Unfortunately, we're "smarter" than our users in that we over-estimate their
comfort with our service. The majority of users are not necessarily computer-
literate or used to the modern computing idioms Westerners take for granted.
(My company is in a developing African nation, operates over SMS, and every
day we're surprised at how many users misunderstand what we wrongly assumed to
be simple instructions. Example: "SMS 'en' for English. SMS 'fr' pour le
Francais." and we receive an SMS containing "[our-product name] fr". Gah,
wasn't prepared for that!

>3\. Looks matter

Like most things in life, "it depends." When I'm working in my underwear, no
they don't. When I'm going out to recruit new users, I'll groom/dress in a way
that's likely to appeal to that specific demographic du jour. I'm young, which
scares some people (the kind of conservative, MegaCorp lifers who'd normally
agree 100% with this article) because young == inexperienced. Ok, so I don't
shave for a while before planning to meet them. +10 to age perception,
"maturity" unlocked.

#4's brains are splattered on the wall, and bad_user is holding the smoking
gun. Well said, amigo. The advice I've taken from HN on this matter is simply
"fake it 'til you make it". HOWEVER, being a short phrase, it's prone to
misinterpretation. It doesn't mean lie about what you can do. It does mean
when I'm negotiating with veteran suits I should try to remain calm and
collected, like I have some clue what I'm doing (I don't, but if you can't
believe in yourself, how the hell is your client supposed to?).

>6\. Software’s primary function is to earn profits

Nah, it's about making the users of your software happy. This way, the advice
applies whether the software is FOSS or commercial.

~~~
prole
(continued)

>32\. Never Get Drunk At Work Parties

I'd rephrase this to "know thyself". If you know you tend to show your
anger/depression/lecherousness when drunk, maybe it wouldn't be such a great
idea. Working for companies big and small in the past, I personally enjoyed
every opportunity to go out boozing with buddies or bosses. I'd argue that
several of the 33 lessons can be checked off at once this way; the idea is
comical enough to me (a high-functioning alcohol aficionado), I'm going to
spend the rest of the post on it:

>1\. You’re not smarter than anyone Nothing like the ancient bonding ritual of
drinking until you can't stand straight to bring about the status equilibrium.
But it will give you the chance to mention the stuff you have done right that
might not have gotten the attention you'd hoped (10. Toot your own horn).
"Well, Bob, writing that script last week was easier than walking right now."

>2\. There is such a thing as a stupid question And several of them will pour
out during the bar-crawl. This is good because you have an excuse to talk
frankly with one another. This ability to communicate without fear of reprisal
is so important, it's a part of the lifestyle of Japanese salarymen.
Afterwards, all is forgiven/forgotten because, hey, you were drunk. This means
whichever you're going for (16/15. Do/Don't be a yes man), you can feel
comfortable in being honest.

>3\. Looks matter This pretense falls apart when the top officers of a
successful company are joyously murdering their favorite karaoke songs because
their brains are too soaked to simultaneously read the words and produce the
sounds they represent. It's an ugly reminder of the beautiful truth that, no,
your looks and performance are independent variables.

>4\. Know what you know and what you don't know And take advantage of this
opportunity to ask the important questions. Not banal, "8. Have a presence",
"I'm here too, remember?" small-talk. You can learn the most fucking important
information about your work (and thus, life - depending on how you look at it)
by splitting a bottle with your boss. This is so important, I'm going to type
"fucking" again.

At my entry-level position at my last job, I knew as much as the top managers
- possibly more, if you consider that the other people "playing it straight"
won't tell the executives what they don't want to hear, but will happily vent
their frustrations to you (7. Listen to people, 9. Archive Everything you can,
31. Find out what you like and don't like about your job).

Bonus: when people are complaining, they're telling you how to win their
hearts (11. Help others and they will help you). When they're drinking and
complaining, it's more likely to be truth and not mere politicking.

>11\. Help others and they will help you Nothing builds camaraderie like
holding your manager's head over the toilet and fetching him some water (or
whatever the situation happens to be - searching for the house keys under a
desk or the managing director, incidentally, under a desk). Improvise ways out
of the adverse situations resulting from the group's drunken antics (30. Do
the best you can with what you have).

I am mystified by the social ritual of drinking and continue plunging into it
in hopes of better understanding it, but the strongest personal - and
consequently, professional - bonds are forged in the fires of irresponsibility
(24. Learn to work in a team).

If anyone has recommended reading on this phenomenon, please do share!

>18\. Make Friends >19\. Have Fun >20\. Know when to put in the extra hours
>21\. Don't get too comfortable >26\. Make your job enjoyable >27\. Take
Breaks >28\. Be A Cool Guy

All apply directly.

I realize a lot of this will sound ludicrous, immature, illogical, terrifying
and so on, but anyone who's taken part in school life and business life will
have no trouble observing that these adjectives can apply to both. I don't
want you to get shitfaced and stumble through the datacenter, tripping on
wires and unplugging them before drowning in a puddle of vomit. I do want you
to step out of your comfort zone, arrange where you can share more than a few
drinks with your boss, learn about your company through his eyes, and better
yourself as a result of it.

In the context of HN, I would re-title this article: "33 reasons to start your
own company!" In the context of this post, I would re-title it: "32 reasons
why reason 32 is bullshit."

~~~
prole
(deleted and moved here because it messed up the post order)

Ooh, ooh, and one more thing...

12\. Advance your skills at all times [...] It's hard to say what will be
popular in the software industry in ten years, but I can guarantee it won't be
esoteric Anime.

At the risk of sounding even more juvenile than in my previous rebuttals: fuck
that. I know that "anime" here is just an example of any "time-waster" that
"professionals" like to hate on, as if every second of every day has to be
scheduled in advance and accounted for or else... or else... chaos!

How about we don't just develop as worker bees but instead as human fucking
beings? Saying "don't watch anime" is barely different from saying "don't read
books" - it's the quality of the content that matters. I've gotten more out of
Tengen Toppa Gurren Lagann than The Bible because the protagonists in those
stories remind me to keep pushing past my limits, whereas the other work of
fiction would instead as us to give in and accept our lots in life.

Whether you're Randy Pausch or Bob McBurger-flipper, our lives are ending one
second at a time. Let's use that time wisely, sure. But let's also enjoy
ourselves. I prefer my anime, books, wine, women, ...life to be the most
interesting the most often. Whether that means reading The Little Schemer to
expand your mind or lying in a field eating mushrooms to expand your mind,
it's not for me to judge. So don't be hasty to write off the computer nerds
who like anime.

I'm not mad, just passionate ;)

------
civilian
Some good advice. Showers are important, but I'd like to believe that software
is a place where a programmer (who doesn't go face-to-face with clients) could
wear a mohawk for three months. I'm an idealist.

~~~
tenpoundhammer
There are places you can get away with it, but the industry as a whole is
still very business-centric. I've heard of places were people are required to
wear slacks everyday.

~~~
jjm
Until I left, my previous company's policy were shoes (not sneakers, or black
sneakers), collard shirt (right now your thinking polo!.. but read on), tie
(yeah, so that nixes the polo), slacks. On Fridays, you get to take off the
tie.

Come to work without a tie? Go back home. I always kept a backup because
sometimes you forget!!!

Too bad (dress code != skill).

~~~
nagnatron
Shit like that would be a dealbreaker for me. I hope that the pay was insane.

~~~
jjm
Pay wasn't insane, not even close. I wouldn't even call the pay sane!!

------
bad_user

         #1 - You’re not smarter than anyone
    

Stupidity is in no short supply ... I have faith in the people I work with, I
always question my own assumptions, I always blame me first ... but beware of
dumb people with strong opinions, as they will suck your soul out.

    
    
         #2 - There is such a thing as a stupid question
    

The thing that pisses me the most is when newbies DO NOT ask questions, as if
I would think less of them.

I'm always telling newbies -- "don't worry, I know you suck, everybody sucked
at some point and I'm more interested in how fast you can learn".

You can also drive the learning process -- instead of giving your
coworker/employee a concrete list of steps he needs to follow, give him links
to documentation instead. That's far more productive and he'll be less likely
to ask the same question twice.

    
    
         #3 - Looks matter
    

Yes, if you're referring to the work you do. I like beautiful code.

This really depends on the work environment. In big corporations people get
impressed by suits more than in smaller companies where everyday is casual
Friday.

    
    
         #4 - Know what you know and what you don't know
    

The more I learn, the more I realize I don't know shit. Also, could this
advice be any more useless?

    
    
         #6 - Software’s primary function is to earn profits
    

NO, that's the company's primary function, and it's a freaking big difference,
especially when you think about the laws of microeconomics.

    
    
         #7 - Listen to people
    

In other words, behave like a human.

    
    
         #8 - Have a presence
    

When I worked for the bigco, I preferred to get stuff done instead of going to
pointless meetings. It worked great, and I got promoted in front of people
that kissed ass.

    
    
         32. Never Get Drunk At Work Parties
    

Lame. There's nothing like getting drunk shoulder to shoulder with the CEO.

    
    
         33. Don't do things because they are cutting edge
    

Why? What's wrong with making a bad decision?

    
    
         Before switching techniques, languages, 
         or anything else, carefully decide if it
         provides a large enough benefit
    

And yet there are so many choices out there that many times it's best to just
follow your instinct. Playing it safe is stupid and also irresponsible --
that's how companies still choose Java EE, that's how you end up with a
mountain of crap (that nobody in particular can be blamed for).

    
    
         ...
    

Some pieces of the article are perfectly valid, but I can't help but wonder if
those shouldn't be common sense for a properly raised 7-year old.

My number #1 advice I would give to newbies:

    
    
         Stop giving advices

~~~
j_baker
I agree with literally everything you say except one thing (and boy is it a
biggie).

 _This really depends on the work environment. In big corporations people get
impressed by suits more than in smaller companies where everyday is casual
Friday._

Just because you dress casually doesn't mean people aren't judging you based
on looks. If anything, they're judging you more because they're seeing the
real you.

This is one point the OP is probably right on. People, regardless of the size
of their employer, judge you from the standpoint of looks. It's just in our
nature. To say that one can overcome this with simple coding prowess is
incredibly naive.

~~~
InclinedPlane
This sort of thing makes me even more glad I live in the Northwest (US) where
it's not only acceptable but the norm to wear a t-shirt and jeans to any
meeting or job interview.

------
Maven911
This is valuable advice even for people with work experience but who are
changing companies, industries, etc.

One thing I did note is that why do we have to bend over backwards at times at
places where people are just rude and lack basic soft skills ? The comment
about being talked to in a very harsh tone if you ask a "stupid" question
particularly hit home with me as I have had to face that many times even after
having done my initial research and I make sure to write down everything in my
trusted notepad.

------
known
Writing software (GNU) != Selling software (Microsoft) != Selling support
(RedHat) != Selling solutions (IBM) != Selling gadgets (Apple) != Selling
advertisements (Google) != Selling privacy (Facebook) != Selling books
(Amazon) != Selling consulting (Accenture)

------
koopajah
I agree with most of the lesson presented here which is surprising for me! I
might start becoming wiser! I'm making lesson 13 and 17 my own for the next
few months because I kind of struggle with these.

------
keiferski
Not sure why some have such a negative reaction to dressing well/looking good
(#3). Look good, feel good is my motto.

~~~
ohashi
Perhaps it's the example given, a certain hair style rather than something
like wearing dirty old clothes. One could look good without looking
'traditional.'

I don't think many people are going to argue about basic hygiene, if someone
isn't cleaning themselves and it may have negative effects on their coworkers
(like not wanting to be in a room with an unwashed person).

------
ditojim
#3. Looks matter

I disagree. Your output trumps the way you look, especially in the bay area.

~~~
sukuriant
Not everyone works in the Bay Area.

~~~
ditojim
that's why is said "especially".

------
rafedb
some of that is good and some isn't. #7 is right to an extent, but anyone that
acts the way you said you were treated is ridiculous and needs to be brought
down a notch.

