Salaries



  • @CPound said:

    @ammoQ said:
    Please stop it. Saying such things make you look like an overweening teenager.

    The problem with most of the people in this forum is that they are intimidated by the younger generation. The new generation is moving much faster, and climbing the corporate ladder more quickly than any previous generation. It sucks for the old school to see all these guys in their early 20's making major $$$. I try to see it from the "fuddy-duddy" viewpoint, and hey, I would be pissed too.

    When I was your age, I actually thought that i'd be out of the industry by 40, for exactly the same reason.  Then I learned that the language & technologies you know really are immaterial and it's all that academic stuff that actually makes you good at your job. 

    Now, in my mid 30s, I'm wondering how I'll ever be able to retire with kids like you believing bs like that.   (BTW, in the last 2 months I hired a guy who was 21 and one who was 54.  They were both happy to have the job, and both made it through my interview just fine.)  

    -cw



  • @CPound said:

    It would go something like this...

    10 true/false questions
    5 definitions
    15 multiple choice
    1 essay

    Now I'm curious; you saw some of my interview questions, tell me some of yours.   If you were going to use this sort of a format, what sort of questions would YOU put on there to test the people interviewing?  (I'm assuming Polymorphism wouldn't be one of the definitions)

    -cw



  • @CodeWhisperer said:

    You just told a forum full of programmers that you have no interest in learning the basic tenets of object oriented design.   Care to rephrase?

    Ouch! I didn't realize I came off sounding like that. Is it too late to take my comments back?
    @CodeWhisperer said:
    I thought you weren't one of those people who were all about the money and cheat to get into jobs they aren't qualified for?  I don't really care if you are, but you should at least be honest to yourself.

    What can I say? You pulled the true me out. It is all about the money you know.
    @CodeWhisperer said:
    Good luck hitting that $200K mark.  I'm almost there myself.    You won't make it as a standard dev, though.

    Luck has nothing to do with it. It's all about networking and selling yourself to unknowledgeable interviewers. (You don't qualify CW.) As far as making it as a standard dev, that wasn't my intent. I'm already in project manager roles now. I typically manage 5-7 developers beneath me. What? You thought I was a standard dev based on my comments? Because I didn't know what polymorphism is? You would be surprised at who fills out the top design/project manager roles...23 year olds who don't know the academics of coding.



  • @CPound said:

    You would be surprised at who fills out the top design/project manager roles...23 year olds who don't know the academics of coding.

    Unfortunately, I've seen such clueless top design/project manager youngsters before, so I don't dare to doubt that... One of them even managed to do that for nearly two years before the team collapsed.



  • @CodeWhisperer said:

    Now I'm curious; you saw some of my interview questions, tell me some of yours.   If you were going to use this sort of a format, what sort of questions would YOU put on there to test the people interviewing?  (I'm assuming Polymorphism wouldn't be one of the definitions)

    Polymorphism could be one of the questions, but it would be more for extra credit. I might ask the candidate to define "method" or list some different data types, just to see if they even have a clue about coding. The harder questions would involve complex concepts like classes.



  • @ammoQ said:

    Unfortunately, I've seen such clueless top design/project manager youngsters before, so I don't dare to doubt that... One of them even managed to do that for nearly two years before the team collapsed.

    Well, you've got to do it right. The trick is to give management what it wants. This typically has nothing to do with coding concepts at all. They want a product and you give it to them. Plain and simple. It may not function perfectly, but what software does?



  • @CPound said:

    Luck has nothing to do with it. It's all about [...] selling yourself to unknowledgeable interviewers.

    So, wait, now you are a phoney?   Obviously my aging brain can't keep up.

    @CPound said:

    I'm already in project manager roles now.

    PM roles don't typically have the monetary mobility that a good sr. engineer does.  We pay our PMs around $50-$85K, our devs start around $70K and go to $105K or so.  

    If you mean "dev lead" then it still tops out around $105K, it just starts higher.    The 'architect' roles (which are pretty much ALL design, so you wouldn't be interested) go around $100-125K.

    These rates are pretty standard in this area.  I was talking with Microsoft about a Dev Mgr role and it would have been about $115K or so. 

    There are ways to move that up pretty substantially, you just shouldn't expect that anyone is going to say "wow, you managed 5 devs?  here's $200K".  

    Generally the big jumps come with specific knowledge or skill -- supply and demand and all that.  Lots of people can manage 5 devs...very few people know how to design languages.  Guess who gets paid more? 

    -cw



  • @CPound said:

    Polymorphism could be one of the questions, but it would be more for extra credit. I might ask the candidate to define "method" or list some different data types, just to see if they even have a clue about coding. The harder questions would involve complex concepts like classes.

    What would some of the harder questions be?

    -cw



  • @CodeWhisperer said:

    We pay our PMs around $50-$85K, our devs start around $70K and go to $105K or so.  

    If you mean "dev lead" then it still tops out around $105K, it just starts higher.    The 'architect' roles (which are pretty much ALL design, so you wouldn't be interested) go around $100-125K.

    These rates are pretty standard in this area.  I was talking with Microsoft about a Dev Mgr role

    What's the cost of living (rent etc.) in your area?


  • @ammoQ said:

    What's the cost of living (rent etc.) in your area?

    This is the Seattle/Redmond area, so it's relatively high.  I have a nice house I'm renting that is close to the Microsoft main campus and I'm paying over $1500/month.  Even a decent apartment will be $800-900/month.  Of course it depends where you live, if you want to be down on the water, you can double it, if you want to live in the 'cool' part of town, you pay a premium and can end up with a long commute, which sucks -- Gas is fairly high here ($3.35/gallon), energy costs in general are pretty bad.      This is definitely one of the more expensive places to live in the US...it's not NYC or SF, but it's up there.

    -cw



  • @CodeWhisperer said:

    We pay our PMs around $50-$85K, our devs start around $70K and go to $105K or so.

    You pay your PMs less than your devs? Does that make sense?

    @CodeWhisperer said:

    If you mean "dev lead" then it still tops out around $105K, it just starts higher.

    Yeah, that's what I meant. I'm a "dev lead" even though my title doesn't reflect it as such.

    @CodeWhisperer said:

    These rates are pretty standard in this area.  I was talking with Microsoft about a Dev Mgr role and it would have been about $115K or so.

    That's pretty cool. That's the kind of money I'm talking about.

    I'm in the money...



  • @CodeWhisperer said:

    What would some of the harder questions be?

    Like, "how would you write a class for this particular web app"? Something like that.



  • @CodeWhisperer said:

    I'm paying over $1500/month.  Even a decent apartment will be $800-900/month.

    WTF?!?
    @CodeWhisperer said:
    Gas is fairly high here ($3.35/gallon)

    Again, WTF?!?

    Basically what you're saying is, if you compare your salary with say those in the south, mid-west, and parts of the east coast, which have much MUCH lower costs of living, you're essentially making the equivalent of around $70-90K...if that!

    And here I was wondering how you had achieved salary "godhood". It totally makes sense now.



  • @CodeWhisperer said:

    @ammoQ said:

    What's the cost of living (rent etc.) in your area?

    This is the Seattle/Redmond area, so it's relatively high.  I have a nice house I'm renting that is close to the Microsoft main campus and I'm paying over $1500/month.  Even a decent apartment will be $800-900/month.  Of course it depends where you live, if you want to be down on the water, you can double it, if you want to live in the 'cool' part of town, you pay a premium and can end up with a long commute, which sucks -- Gas is fairly high here ($3.35/gallon), energy costs in general are pretty bad.      This is definitely one of the more expensive places to live in the US...it's not NYC or SF, but it's up there.

    -cw


    Thanks for the info. Very interesting... it's about the same level like here; my appartment is 102 square meters (~120 square yards) in a good (but not premium) district in Vienna, near the universities, and I pay close to 800 EUR per month. Gas is currently slightly more than 1 EUR per liter, so it's ~4 EUR/gallon.
    But the salary for a senior developer is not even close to the US level... typical offers are around 50K EUR per year. (Edit: but this already includes social insurance, 5 weeks of paid holidays etc., so it's probably not totally comparable)


  • @ammoQ said:

    I pay close to 800 EUR per month.

    That's like $1,000USD!

    I'm not even going to tell you guys where I work/live, because you may try to flock here and take our jobs. But $800+ for an apartment? $3+ for gas? Holy cow, that's ridiculous.

    Try $200-$300 for a decent apartment and a little over $2 for gas.

    You guys are getting ripped off.



  • @CPound said:

    @ammoQ said:
    I pay close to 800 EUR per month.

    That's like $1,000USD!

    I'm not even going to tell you guys where I work/live, because you may try to flock here and take our jobs. But $800+ for an apartment? $3+ for gas? Holy cow, that's ridiculous.

    Try $200-$300 for a decent apartment and a little over $2 for gas.

    You guys are getting ripped off.


    Gas is expensive in Austria (like in most European countries) because there is so much tax on it. I think about 60% of the price is taxes.

    About the rent... well, Vienna is (according to some international survey) one of the best cities to live in, worldwide. And the 800 EUR rent is even cheap, compared to cities like London or Moscow.



  • @CPound said:

    That's pretty cool. That's the kind of money I'm talking about.

    I'm in the money...

    Oh... I'd laugh, but it's just too sad.  You have no idea.  The MS interview process would crush you.  If you think I would leave you sobbing in the corner, imagine 7 of me, one an hour, throwing questions like that at you...only they actually ARE trying to break you.  Probably, they'd escort you out after the first interviewer.  Google would do the same.  So would Amazon.  

    Just because you don't see the value in this 'academic' stuff doesn't mean it isn't important, and a lot of the people who will interview you for those positions know it.    Some might not, you'd find plenty of smaller places that you might slip into, or contracting companies...but if you contract at MS, they still interview you, just not as intensely.  You'd probably be put in as an SDE1 or 2 (out of 5), from that perspective, you might make more as a PM.

    -cw



  • @CPound said:


    Like, "how would you write a class for this particular web app"? Something like that.

    The questions you are asking are so basic that 95% of people could ace them.  "Method"?   "Advanced concepts like classes?"  Classes are core to C#; it's not advanced, it's one of the basics.

    So far you haven't suggested anything that would keep the phoneys out.   I'm not sure what the question you are proposing above would be like.  

    -cw



  • @CodeWhisperer said:

    So far you haven't suggested anything that would keep the phoneys out.   I'm not sure what the question you are proposing above would be like.  


    I wonder how he could judge even the answers to those "advanced complex" questions. After a few interviews, his team is full of highflyers like himself. At this time, Alex renames this website to "The Hourly WTF" to keep up with the flood of incoming WTFs.



  • @ammoQ said:

    After a few interviews, his team is full of highflyers like himself.

    That is exactly what happens.   I've seen more than one case where "bad team fit" meant "used too many big words".  

    Groups like this are very, very dangerous and no doubt lead to a lot of the WTFs we see here.

    -cw



  • @CPound said:


    Basically what you're saying is, if you compare your salary with say those in the south, mid-west, and parts of the east coast, which have much MUCH lower costs of living, you're essentially making the equivalent of around $70-90K...if that!

    And here I was wondering how you had achieved salary "godhood". It totally makes sense now.

    I guess that explains why the microsoft parking garages look like BMW showrooms.  

    I used to pay $200-$300 for an apartment...then I moved to a place with a real job market.  Now I pay $1500+, but I have a house with a view of the lake, a hot tub and a sauna.  It's expensive, and writing that check every month sure stings, but sometimes you get what you pay for.  

    Could I pay half that in Nowhere, Wyoming?  Sure...would I have 10 phone calls from recruiters at top companies one day after my resume goes on the market there? 

    -cw



  • @CodeWhisperer said:

    The questions you are asking are so basic that 95% of people could ace them.  "Method"?   "Advanced concepts like classes?"  Classes are core to C#; it's not advanced, it's one of the basics.

    How wrong you are. "Classes are core to C#"? Do you realize how many coders use no classes at all designing enterprise web applications? You do realize that you can have 1 file and slap all the code in it and it will work, right? Do you realize how common this is? Many coders I have talked with don't use methods. They just code it all together. It's all very linear. That's why I would ask about methods and classes. Most coders don't realize how handy they are. You don't have to put everything in 1 file.



  • @CPound said:

    How wrong you are. "Classes are core to C#"? Do you realize how many coders use no classes at all designing enterprise web applications? You do realize that you can have 1 file and slap all the code in it and it will work, right? Do you realize how common this is?

    Ohhkay, now we're getting somewhere.    So, first, yes, they are core to C#.  It's an object oriented language, in fact the concept is built right into the .NET CLR (Common Language Runtime).   Things like asp.net are built on top of the language as libaries.  By definition, classes/objects are core to C#, web stuff isn't.

    Next, it's good to see that you recognize that your way is better than their way.  It's really good that you made that step on your own -- but why would you imagine that there isn't another step to be made?   Why would you think that there isn't someone who sees things more clearly than you do, and who knows things you don't, and is better as a result?  That's just plain old arrogance.  

    And, if that's truly the state of some of the people you have to work with, then surely they think that all that class stuff is just academic as well? After all, they can just type it all into one file and it works, right?  You must get some push back from them saying "I don't understand why you want me to do it this way" and then you have to explain it, and they don't get it.   Is that starting to sound familiar?

    If you manage people, you probably interview them as well.  Would you hire someone even though they steadfastly refused to do things your way, even though you know that your way is better? 

    -cw



  • @CodeWhisperer said:

    If you manage people, you probably interview them as well.  Would you hire someone even though they steadfastly refused to do things your way, even though you know that your way is better?

    CW, you make a valid point.

    Is that what you wanted to hear? You're right again!

    How does it feel to be right all the time?



  • @CPound said:

    Is that what you wanted to hear?

    I suppose I was hoping for some sign that you took something away from this conversation, or I've been wasting my breath.  I'm sorry you didn't like the answers to your questions, but I can't help you with the realities of the industry if you refuse to believe them.

    -cw



  • @CodeWhisperer said:

    I suppose I was hoping for some sign that you took something away from this conversation, or I've been wasting my breath.  I'm sorry you didn't like the answers to your questions, but I can't help you with the realities of the industry if you refuse to believe them.

    CW: 1 CPound: 0



  • @CPound said:

    "Classes are core to C#"? Do you realize how many coders use no classes at all designing enterprise web applications?

    Which programming language are they using? In Java or C# they have to create at least on class, and of course they have to use many of them, as the API is object-oriented.

    You do realize that you can have 1 file and slap all the code in it and it will work, right?

    You can slap it all into one file, but in most cases you still need to write more than one class, even if you don't notice.

    Do you realize how common this is? Many coders I have talked with don't use methods. They just code it all together. It's all very linear.

    I can hardly believe those coders manager to write anything more complex than a guest book.



  • I think it's lack of real-world experience that makes one think the money is the most important thing.  Eventually you realise that it's actually fairly unimportant as long as you're earning enough to live reasonably well (of course, the definition of "reasonably well" is somewhat vague) and enjoying what you do.  I've done soul-destroying jobs for big money, and the end result was an almost total nervous breakdown which destroyed my marriage, made me quasi-unemployable for a few years and left me with some fairly deep mental scars.  I won't be doing that again in a hurry, and I wouldn't recommend it to anyone.

    Of course, that's fairly irrelevant, and I'm just an old hippy.

    Speaking as an "old fuddy-duddy" (hey, I'm nearly 40, I'm practically a geriatric), I personally have no problem with guys in their early 20s making major money.  More power to them, and I hope they have what it takes to keep going; this industry is a mincing machine for hopes and aspirations.  Big money means big responsibility and big pressure, it's easier to stick with a medium salary, enjoy your work, and let some other cock burn themselves out.  Not to say that responsibility and pressure can't be fun, but it wears you down in the end.

    Oh, and if you want scary housing prices, move to London.  London, England, not London, Ontario or any of those other "new world" fakes.  Ten years ago, I was paying £900 per month for a small one bedroom apartment well outside the centre.  That's $1700, more or less.  Around the same time, a friend of mine bought an apartment relatively close to the centre, he paid £250K and sold it 2 years later for £500K (yes, that is almost a million dollars).  And honestly, you don't want to know how much it costs to rent an apartment in Tokyo.

    Living in London, I had days where I had to decide between putting petrol in my motorbike so I could get to work, or eating when I got there.  And that was when I was earning £50K or so, which is dangerously close to the $100,000 being discussed here. 

    Of course, now I live in a tiny village in the French Alps, telecommute, and regularly turn down contracting jobs that would require relocating to metropolitan areas[1].   I earn less than I might be capable of, but hey.  I'm happy.  I couldn't have got here without years of slog in the city, though.  Years of learning those "academic" and "advanced" things that CPound seems to so despise.

    Simon

    [1] Here's an example of how turning down a job generally goes:
    Recruiter: "Would youlike to earn <massive sum> doing a contract in <city> for 6 months"
    Me: "That's a lot of money.  Can I telecommute and go into the office every few days?  I'll accept less money if I can"
    Recruiter: "Nope, client needs someone on site"
    Me: "Hmmm.  Listen to this:" <puts telephone outside office window> "You getting that?"
    Recruiter: "I can't hear anything.  Oh, hold on, I hear birds.  And - ummm - is that cow bells?  What the hell is that?"
    Me: "That's the noise outside my house"
    Recruiter: "Where did you say you are again?"
    Me: "I live up a mountain"
    Recruiter: "Ah.  So that would be a 'no' then?"
    Me: "I think we understand each other"



  • @ammoQ said:

    Which programming language are they using? In Java or C# they have to create at least on class, and of course they have to use many of them, as the API is object-oriented.

    They use C#. The API may be object-oriented as you say, but I'm referring to the files the coders see and touch. It's basically the default.aspx.cs file. They throw all the code in there and don't even bother to change the name of the file. I sometimes ask my developers, "What file did you put such and such code in?" and they typically respond back with, "Duh! The default.aspx.cs file of course!" I don't get much respect from my subordinates.
    @ammoQ said:
    You can slap it all into one file, but in most cases you still need to write more than one class, even if you don't notice.

    No, trust me. It's possible to use only one class (excluding the API classes).
    @ammoQ said:
    I can hardly believe those coders manage to write anything more complex than a guest book.

    You can push out some fairly complex enterprise apps using just the default.aspx.cs file. It's not ideal, and it may be very buggy, but at least it's something pretty for the paying customer to look at.



  • @CPound said:


    You can push out some fairly complex enterprise apps using just the default.aspx.cs file. It's not ideal, and it may be very buggy, but at least it's something pretty for the paying customer to look at.

    This leads to an interesting question I've been mulling.  What do you (CPound and others) consider to be an 'enterprise app' and how are they different from any other web app/other app?

    I've seen quite a few WTFs regarding the 'e-word', so I'm guessing that people have wildly different opinions...

    -cw



  • @CPound said:


    You can push out some fairly complex enterprise apps using just the default.aspx.cs file. It's not ideal, and it may be very buggy, but at least it's something pretty for the paying customer to look at.

    You are clueless and ignorant, so is your team, and the stuff they create would most likely go straight to the front page should you ever dare to share it with Alex. How long do you think it will work like that until even the most stupid customer realizes what he has got for his money?



  • @CodeWhisperer said:

    This leads to an interesting question I've been mulling.  What do you (CPound and others) consider to be an 'enterprise app' and how are they different from any other web app/other app?

    "Enterprise" in my particular case is just a catch-phrase...a buzzword if you will. Our clients eat that stuff up. For example, we throw in the words "clustered environment" when in reality we mean that the application is installed on 2 servers, with no connectivity/redundancy between the two. It's just a way to sell stuff. It's all about the marketing, duh! CW, of all people, you should know this.



  • @ammoQ said:

    You are clueless and ignorant, so is your team, and the stuff they create would most likely go straight to the front page should you ever dare to share it with Alex. How long do you think it will work like that until even the most stupid customer realizes what he has got for his money?

    I'm the clueless and ignorant one? Why is it that our clients are 100% satisfied with our products? If it's anyone that's clueless and ignorant it's them. But they seem to be pretty happy with our stuff, so it's a win-win situation!



  • @CPound said:

    It's just a way to sell stuff. It's all about the marketing, duh!

    Wow, you really are the sort of person I'm brought in to clean up after.  Keep it up, I make a lot of money because of that attitude. 

    @CPound said:

    of all people, you should know this

    Err...'kay?   I do my best to stay away from lying to my clients about what they are getting.

    -cw

     

     



  • @CodeWhisperer said:

    I do my best to stay away from lying to my clients about what they are getting.

    Oh puh-leease. Spare me the I'm-so-innocent act. If you've worked even a year in this industry, you know exactly how the game is played.



  • @CPound said:

    If you've worked even a year in this industry, you know exactly how the game is played.

    If anything, it's taught me the exact opposite.  The business doesn't know what it wants outside of "you know, like this".  Everything else is your job.  If you snicker and say "oh yeah, it's 'enterprise'" and roll your eyes, then you're likely just handing your customer a ticking time bomb.  Might not go off for a few years, when you're long gone, but hey, that's the game, right?  Do that a couple of times and you can call yourself 'senior' and everything.  Wheee, $100K here you come. 

    If bridges were designed the way you build software; if cars were built to those same exacting tolerances; if the doctor who treated you (after the bridge collapsed while the wheels came off your car) didn't care about the academics and just shot you full of drugs... 

    Your sort of 'engineering' gets people killed

    -cw



  • CW, I was just pulling your leg. Jeez, chill out dude.

    Talk about "fuddy-duddy"!



  • @CPound said:


    I'm the clueless and ignorant one? Why is it that our clients are 100% satisfied with our products? If it's anyone that's clueless and ignorant it's them. But they seem to be pretty happy with our stuff, so it's a win-win situation!


    I guess your customers have not yet experienced the long-term consequences of bad engineering.



  • @CodeWhisperer said:

      Now I pay $1500+ (...)  It's expensive, and writing that check every month sure stings



    Isn't 1500 p.m. negligible when you earn nearly 200K p.a.?

    In Austria, if I had a gross income of 200K p.a., it would amount to a net income of about 8K p.m., taxes and social insurance already paid.
    Take away 1.5K for the rent and 2.5K for real good living, that's still 4K left to repay the credit for the Porsche and the Ferrari.
    I guess the calculation is a bit different in the US...?



  • @CPound said:

    You would be surprised at who fills out the top design/project manager roles...23 year olds who don't know the academics of coding.


    Are you trolling? Your comments [I've only selected a snippet of one but I am seeing a trend.] are both inflammatory and ignorant. I am wondering whether you are being malicious here, have found CW on your hook, and are laying down bait for him to follow or you're merely a pig-headed fool who has found some temporary success but is headed for failure.

    Honestly - your ignorance is scary. What company do you work for?

    sincerely,
    Richard Nixon


  • ♿ (Parody)

    @ammoQ said:

    @CodeWhisperer said:

      Now I pay $1500+ (...)  It's expensive, and writing that check every month sure stings



    Isn't 1500 p.m. negligible when you earn nearly 200K p.a.?

    That raises a good point -- $1,500 seems awfully inexpensive for a Seattle house with a lake view. In Cleveland, the lake-liners are in the $500k+ club. My mortgage payment ($110k, 30 year fixed)  is over $1000/month. But anyway ...

    When I was working full-time, my income was just shy of the 100k mark, but, even with my very frugal lifestyle, after tax, retirement contribution, etc, I was left with two $1,500 paychecks a month. A little more than $2k went into "cost of living" stuff, and I was left with "only" $1000.

    So, I suppose if I had made $200k, I would have a bigger house, car payment(s), etc, and the income would be "eaten up" just as easily.



  • @Alex Papadimoulis said:

    My mortgage payment ($110k, 30 year fixed)  is over $1000/month.



    shocked
    Mortgages are that expensive in the US?
    In Europe, I could get around 200K for 1K p.m. / 25 years...


  • ♿ (Parody)

    Mortgages here can be very expensive -- depends on the fees they stack on. I think I got a decent deal on the mortgage ... but i'm afraid to look to see how much those fees are :-).

    I should say that the ~$1000 payment includes the escrow of property tax ($250/mo) and insurance ($50/mo).



  • @Alex Papadimoulis said:

    I should say that the ~$1000 payment includes the escrow of property tax ($250/mo) and insurance ($50/mo).



    shocked again
    $250/mo property tax for a $110K house?!?



  • @ammoQ said:

    Isn't 1500 p.m. negligible when you earn nearly 200K p.a.?

    Not quite there yet, maybe next year :)   Oh, it's not that it's unaffordable, it was just that when you're used to paying $300 a month for an apartment, seeing that go up by 5x can be pretty shocking. :)  

    -cw



  • @CodeWhisperer said:

    Not quite there yet, maybe next year :)   Oh, it's not that it's unaffordable, it was just that when you're used to paying $300 a month for an apartment, seeing that go up by 5x can be pretty shocking. :)  

    I just signed on to this thread, so I have a couple of things to say to you, CW

    First of all, an enormous *thank you* for all the valuable information you've posted.  I can't post my own self-assessment for fear that a potential employer may see it someday, but your insight into the kinds of questions people see in interviews has been something just short of a revelation for me.  I'd likely kill to work with the kind of team you probably have where you work.

    Second, I've seen the conversation with CPound deterioriate as the thread ages, but I'd like to go back to some of the example questions you were posing.  I'd really be grateful if you could continue that discussion with me, or should I absentmindedly misplace the discussion, anyone else who would pursue it in earnest.

    You mentioned earlier the question of implementing a StringBuilder, and I would have started with the doubling array that most people would probably choose.  When I saw mention of using linked lists, that sounded like a good evolution of the idea, but I don't think I saw an answer to your question of how to mitigate the overhead incurred by invoking ToString() multiple times.  My answer would be to use every invocation of ToString as a chance to replace internally represented linked list with a new linked list containing only the version of the string I had to make to return at the end of ToString().  Is that the direction you were heading with that?

    Next in the sample questions, you posed the phone number formatting question.  I would have chosen regex's because I just recently figured out I could replace a recursive descent parser I wrote to interpret an embarrasingly simple tabular-data-format-that-shall-remain-nameless with a single regular expression.  Today I would choose that because we're short on developer time where I work and the regex route would have saved me days of debugging and dropped 75% of the code I have to maintain.

    If execution speed was also issue, I admittedly haven't done it before, but I understand I could compile the regular expression into a seperate assembly for that type of problem to get better performance.  I'm just pulling this out, of course, because I've been living in an undisciplined environment, so take that idea as if I don't actually know what I'm talking about.  I'd be interested to know where you could take me with that idea, anyway.

    On a totally different(and relevant to your quote) note, the housing discussion is shocking to me, probably in the opposite direction of most people.  I live inside Portland city limits(Oregon for those of you who aren't from the neighborhood), and the prices you're quoting sound exactly like the housing market here about 3-5 years ago.  My wife and I were looking at decent (small) apartments in the inner suburbs for $700-800 around 5 years ago, and moved into our current home about 3 years ago for just under $200k.  I thought stuff in PDX was supposed to be cheaper than Seattle!  Right now the cheapest home in my zipcode goes for the same price, has about half the square footage, and is apparently so ugly the seller didn't post a picture.  Oh yeah, and the taxes are double because it's in the "wrong" county.  Your area sounds like a bargain, especially if I could improve enough to make even a lateral salary move.

    Again, thanks for posting.



  • @Oscar L said:

    I don't think I saw an answer to your question of how to mitigate the overhead incurred by invoking ToString() multiple times.  My answer would be to use every invocation of ToString as a chance to replace internally represented linked list with a new linked list containing only the version of the string I had to make to return at the end of ToString().  Is that the direction you were heading with that?



    If you browse through the thread again, you will notice your answer is both correct and already given ;-)



  • @Oscar L said:

    Second, I've seen the conversation with CPound deterioriate as the thread ages

    That's because I pale in comparison to CW's supreme intellect. One can only hope to achieve a tenth of his magnificent genius.

    In case you didn't get it, I'm being sarcastic.



  • @CPound said:

    @Oscar L said:
    Second, I've seen the conversation with CPound deterioriate as the thread ages

    That's because I pale in comparison to CW's supreme intellect. One can only hope to achieve a tenth of his magnificent genius.

    In case you didn't get it, I'm being sarcastic.



    In case you didn't get it, you're being ignorant. It's not like CW or me or anybody else is talking rocket science here. It's not like object oriented programming is something invented 3 hours ago and only the members of a secret society know about it. It's not like books about proper software design are yet to be written. You refuse to learn the most basic things, you accept a team no better than you and you are even proud about it. Do you think you're so smart when you consider even CWs really easy questions "trick questions" and dream of a world where 200K jobs are given on the basis a multiple choice test?



  • @Oscar L said:

    Next in the sample questions, you posed the phone number formatting question.  I would have chosen regex's because I just recently figured out I could replace a recursive descent parser I wrote to interpret an embarrasingly simple tabular-data-format-that-shall-remain-nameless with a single regular expression.  Today I would choose that because we're short on developer time where I work and the regex route would have saved me days of debugging and dropped 75% of the code I have to maintain.

    If execution speed was also issue, I admittedly haven't done it before, but I understand I could compile the regular expression into a seperate assembly for that type of problem to get better performance.  I'm just pulling this out, of course, because I've been living in an undisciplined environment, so take that idea as if I don't actually know what I'm talking about.  I'd be interested to know where you could take me with that idea, anyway.



    You can compile regexes and get significant performance gains.  I've reduced execution time 3-5 times even for simple regexes.  You don't necessarily need to compile to separate assemblies.  In .Net you could compile the regexes in a class constructor and you'll get the perfomance gains if you continue to use the same instance.

    As CW noted, regexes are heavyweight compared to other solutions.  Regexes are a good solution if your not concerned with throughput.  In certain applications (batch processing, datawarehouse ETLs, high-load OLTP systems) performance is at a premium and regexes would probably not be the ideal solution. 



Log in to reply