Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
awesmoe
Nov 30, 2005

Pillbug
Here's some advice that I learned the hard way this morning: have a plan for answering technical questions, in the same way that you (should) have a plan for answering hr-style 'have you had a situation where...' questions.
For example they asked 'what does a hashmap do' (which is about as easy a technical question as it gets) and because I was nervous/didn't have a plan, I got all jumbled up and started with the way the hashing function maps a large key-space to a smaller space which is used as an index and then I got into collisions and how they related to buckets and then kind of waffled around and didn't actually answer the question.

What I should have said is a) what you'd use it for b) what particular operations/situations it's good and bad at, and then finally c) how it works.

Oh well.

Adbot
ADBOT LOVES YOU

awesmoe
Nov 30, 2005

Pillbug

BirdOfPlay posted:

Now that I've seen this phrase used a couple of times (especially in regards to it being a bad thing), I'm curious about what exactly it means. You're surely not taking about ways to trim the fat off of algorithms before implementation, right? Or just designing them, initially, in terms of running faster?

I only ask cause that's how I've been coding recently due to working on Euler Problems where my assumption is that my gut solution will be inefficient.

Knuth posted:

There is no doubt that the grail of efficiency leads to abuse. Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.
Yet we should not pass up our opportunities in that critical 3%. A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified.
http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf

So he's saying, there's a tradeoff between optimization and maintainability (and coding time and correctness etc etc). With low-level bit-fiddling optimizations, you're dramatically reducing the maintainability and "97%" of the time you're doing it in a place that doesn't need the speed, so you're just making your program worse.

This tradeoff is a little less true with algorithmic efficiency (ie a better algorithm doesn't necessarily screw up your debugging as much), and the gains are usually much more impressive, so the tipping point of whether an optimization is worthwhile changes. The general principle of "balance the costs and benefits of making optimizations instead of just going nuts on them" holds.

awesmoe fucked around with this message at 22:11 on Dec 10, 2012

awesmoe
Nov 30, 2005

Pillbug
e: nm I kind of misread the point. However if you only learn things you're required to learn, why would someone want to hire you over someone else?

awesmoe
Nov 30, 2005

Pillbug

shrughes posted:

Well, all employment is at-will. That's not some unusual thing and it's really quite ridiculous when you look at other countries where that's not the legal situation. The "90-day probationary period" is pretty much legally redundant.

What do you mean? Ridiculous good or ridiculous bad? (I'm from a country with actual labour laws so I might have a different perspective than you)

awesmoe
Nov 30, 2005

Pillbug

shrughes posted:

Other countries are what's ridiculous. I don't know what you mean by "labour laws" (we have them here in the U.S.) but generally if somebody sucks at doing their job you should be able to fire them right away, without worrying and without the overhead of potential legal costs, without having to spend time and effort documenting that they were bad employees. What's ridiculous is the notion that you should have to keep giving your money to people you don't want to give money to.
This is a really big discussion and this isn't the thread for it, but interesting to see your viewpoint. Don't think I've ever actually seen anyone defend it before.

awesmoe
Nov 30, 2005

Pillbug

gucci void main posted:

Three hours later after a phone call and it's now at 55k + 500 for relocation. I guess bitching does get you increases, at least.

Edit: Yes, I know this rate is still poo poo.

If you started looking for jobs paying 55k in NYC how hard to you think it would be to find one better than this?

awesmoe
Nov 30, 2005

Pillbug

gucci void main posted:

Are you questioning whether I think I could find something better in general, or if I took this one and looked to peace out ASAP, or...?

The former. If you want to use this one as a stepping stone, you should think about whether this job is lovely even by stepping-stone standards.

awesmoe
Nov 30, 2005

Pillbug

hieronymus posted:

If you give 60k~70k range your salary will be 60k. If you give 70k, he might give you 70k, or he might be "how's 65k?"

Or he might be "pfft this guys salary expectations are unreasonable, NEXT". Just don't give a number: http://www.kalzumeus.com/2012/01/23/salary-negotiation/

awesmoe
Nov 30, 2005

Pillbug

Pweller posted:

Successfully negotiated a significant % raise this week, up to where I wanted to be, but I'm always left feeling I got hosed and taken advantage of a couple hours after the fact, precisely due to the fact that the deal successfully went through with the other party.... does that make sense? How do I not overthink about these things.

Yep, it's human, don't sweat it - what's the calvin and hobbes quote? "A good compromise leaves everybody mad". Focus on the fact that you've _got_ a job which you sound excited about, and think about raises at your annual review or whatevs.

awesmoe
Nov 30, 2005

Pillbug

Spraynard Kruger posted:

Hey thread, I need some advice on logistics, trying to jump from my first real job to my second. When I was a student looking for my first job it was easy to schedule interviews around classes, but now that I have a job, how do I find the time to interview? Obviously I've got some time off or I could call in sick, but won't I look a little shady if I do that a couple times within a week or two? Some places have been flexible, either meeting on lunch or earlier in the morning, but others seem to insist on scheduling me for 10am on a Tuesday, pretty much necessitating an awkward, mid-week, short-notice day off.

Maybe I'm either overthinking this or trying to interview with too many places, but if anyone has advice on the logistics of all this, I'd love to hear some!

Take half a day off and if anyone asks (and you don't want to tell them) say it's a dentist appointment or you're getting some work done on your apartment and need to be home to let people in etc etc. No big deal.

awesmoe
Nov 30, 2005

Pillbug
Dude isn't having a good week :(

awesmoe
Nov 30, 2005

Pillbug

null gallagher posted:

On other subjects: I had a phone interview with a startup a few days ago.

An interviewer going "yeah, we're in until 10 or 11 at night a lot, even if it's just refactoring the code" is a good reason to go all :catstare: and run the other way, right? I can understand crazy crunch time hours, but for reworking your existing code base that sounds insane.

well do you like working 18 hours a day???????

awesmoe
Nov 30, 2005

Pillbug

JawnV6 posted:

Do you like working 2 hours in the morning, taking a 3 hour offsite lunch, playing some foosball when you get back, finally putting yourself in front of a screen around 4:30, then loudly complaining about "staying late" as you Actually Work 6 more hours?

Mid-tier sales exec thread is that way ----->

e: oh wait you said 'Actually Work' in the evening, nvm

awesmoe
Nov 30, 2005

Pillbug

return0 posted:

This is a very smug blog post.
I dont think it's that bad compared to some of the poo poo that gets crapped out, and it is also mostly right.
e: it gets boring but the start is worth reading.
e2: worth skimming all of it

awesmoe fucked around with this message at 22:01 on Aug 17, 2014

awesmoe
Nov 30, 2005

Pillbug

Safe and Secure! posted:

Questions about some of his points:
Is networking instead of shooting out resumes really likely to get me higher-compensating positions? Wouldn't I have to get a job at a huge company (via blind resume-shooting) to get that kind of valuable network in the first place?
Yes and not necessarily. There are a bunch of ways to build up a network, and the specifics depend on you and your situation/skills. Working at a big place is one. Getting lucky and working with people who have large networks themselves is another. Getting involved in whatever passes for a community in your field is a third.

quote:

And he talks about framing yourself as someone who clearly creates value or reduces costs. How the hell do you do that? I work for a huge, well-known company, but I just write code to store data from a bunch of disparate systems in a single system, and synchronize data from some systems to others. This is neither creating obvious value nor decreasing costs. It's just basic work that needs to be done. Does that mean I should be looking for a new job, even though I make more than I would at a smaller company?
If it neither creates value nor decreases costs, yes you should be looking for a new job because any day now somebody will notice that your are literally a waste of money and sack you.

Now lets be charitable and assume that the people paying you actually know what they're doing, and that there is a purpose to your job. Maybe because you decrease the costs associated with that data by putting it in one place, instead of consumers having to grab it from a number of different places BAM MOTHERFUCKER you just added value.
To be fair I find it easier to talk the adding-value stuff in terms of processes/tooling that I create (and track), but wherever possible you should point out how hiring you specifically will cause their business to make more money.

awesmoe
Nov 30, 2005

Pillbug

shrughes posted:

This point can be true, for certain values of "you", possibly including yourself.

its certainly truer than point 2

awesmoe
Nov 30, 2005

Pillbug

Lampsacus posted:

I am scared. I'm starting on the road of of CS -> software developer. But I want to travel and backpack. In New Zealand it is traditional to go on an Overseas Experience (OE) so there is some cultural understanding that people take time off work to see the world. This makes sense considering we live on a tiny island in the middle of nowhere.

But gaps in one's CV are universally bad. But I want to, at some point, take a year off to travel and see the world. A lot of friends and people I know have done this. Hell, my uncle did back in the 90s and now he's some corporate upper management type. So anecdotally, it seems like I can find a balance between being a good worker bee and also fulfilling my dreams. But there is a hell of a lot of talk in this thread over the pages about how gaps are very bad. I'm more confused than scared I guess.
Put in your cv that during those years you were on an OE. Also america is crazy half the stuff they say in this thread doesn't apply to us.

Adbot
ADBOT LOVES YOU

awesmoe
Nov 30, 2005

Pillbug

Doghouse posted:

Not sure if this is the right thread for this, but it's pretty closely related, so.

I'm taking this course right now and a lot of the assignments are basically programming assignments, but with a focus on the object oriented design. So most of the grade is making UML diagrams, sequence diagrams, writing about all the classes and what their responsibilities are, method stubs, javadoc comments, and so on. A smaller part of the grade is actually implementing this plan by writing code.

It's really driving me crazy. Is this how it really should be done, and I'm just being lazy/dumb by wanting to figure things out as I write and then refactor code? Should I just suck it up and do things the way this textbook says to do it? I mean, it says that you should use little notecards that represent classes when you are planning. What is the process usually like in a real work environment? Right now I'm just writing code and plan to do all that other stuff after I'm done.

Do it the way it says to do it so you can learn the advantages and disadvantages

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply