Just got the boot



  • So.. yeah.. I just got canned from my ASP.NET job - I had only been there about two and a half months and was trying to learn their system (had never worked with an 'agile' design team before, or used TDD or abstract mappers or interfaces for everything), when my boss calls me in and tells me they're letting me go because I didn't learn the system as quick as they had hoped (without actually saying it, it was implied that I wasn't experienced enough to do any 'real' development compared to the rest of the team).  I was under the impression that it took several months for a new dev to learn an existing system (especially a pretty complex one like this was), and that you'd barely be expected to know that much after just two months.

    So, life goes on.  Maybe I'll spend some time teaching myself more of Ruby and .NET (see my nickname :-p) while I look for a new job.  I did learn some neat tricks though, so I guess it wasn't a total bust, although a bit frustrating that I was barely given the chance to do anything before being cut.

     



  • Not to sound pretentious or anything, but I would expect two months to be enough for an experienced developer to get aclimated to a new environment and start being very productive. If you oversold yourself on your resume then I'm sorry to say that its your own fault. If on the other hand they were aware of your lack of experience in their particular methodologies and platforms, but still offered you the job, then it strikes me as strange that they wouldn't mentor you further, expecting you to slowly "grow into" the team.

    -dZ.


  • @DZ-Jay said:

    If on the other hand they were aware of your lack of experience in their particular methodologies and platforms, but still offered you the job, then it strikes me as strange that they wouldn't mentor you further, expecting you to slowly "grow into" the team.
    -dZ.</blockquote></p><p>They knew about it.&nbsp; I mentioned at the interview that I wasn't familiar with "Agile" design, or Unit Testing and the like.&nbsp; I got very little mentoring, basically an overview, but the way their code was written it would often take me a day to just read through it and figure out what it was doing (loads of abstractions) before I knew what I needed to modify to fix a bug or accomplish a task.&nbsp; I'm not saying I'm not totally at fault (as I should have done more research I guess, or asked more questions?), but it seemed a bit abrupt also because there wasn't any discussion about it with ways I could improve.. just basically "You know, you're not really as experienced with this as the rest of us, so we're letting you go."<br>&nbsp;</p>


  • @TheRubyWarlock said:

    So.. yeah.. I just got canned from my ASP.NET job - I had only been there about two and a half months and was trying to learn their system (had never worked with an 'agile' design team before, or used TDD or abstract mappers or interfaces for everything), when my boss calls me in and tells me they're letting me go because I didn't learn the system as quick as they had hoped (without actually saying it, it was implied that I wasn't experienced enough to do any 'real' development compared to the rest of the team).  I was under the impression that it took several months for a new dev to learn an existing system (especially a pretty complex one like this was), and that you'd barely be expected to know that much after just two months.

    It really depends on the system. I have seen many systems and code bases that cannot be mastered even after six months of intense exposure. Documentation is sparse, meaningless, or wrong; designs are hopelessly spaghettified; names make little or no sense; multiple tiers regularly get mixed into single classes.

    I'm not even talking about myself. A dozen or more people would come on board, and leave after a couple months of frustration. The more stubborn, er, persistent ones would stick it out for six months, and leave upon realizing that not only is the design hostile, but those responsible continue to make it worse with each passing day, and no one at any level cares about rectifying the situation.

    So I have definitely been in environments where learning the entire system in two months is an absurd expectation. It depends on the system.



  • @TheRubyWarlock said:

    @DZ-Jay said:

    If on the other hand they were aware of your lack of experience in their particular methodologies and platforms, but still offered you the job, then it strikes me as strange that they wouldn't mentor you further, expecting you to slowly "grow into" the team.

    -dZ.</blockquote></p><p>They knew about it.&nbsp; I mentioned at the interview that I wasn't familiar with "Agile" design, or Unit Testing and the like.&nbsp; I got very little mentoring, basically an overview, but the way their code was written it would often take me a day to just read through it and figure out what it was doing (loads of abstractions) before I knew what I needed to modify to fix a bug or accomplish a task.&nbsp; I'm not saying I'm not totally at fault (as I should have done more research I guess, or asked more questions?), but it seemed a bit abrupt also because there wasn't any discussion about it with ways I could improve.. just basically "You know, you're not really as experienced with this as the rest of us, so we're letting you go."<br>&nbsp;</p><p></blockquote></p><p>If they decided to fire you without even attempting to work through
    

    difficulties, they should never have hired you in the first place.  If they were not willing to provide proper mentoring (most companies rank from miserable to completely disastrous in this department) they should not have hired you.  Did they document code?  Was the documentation reasonably correct?  Did the unit tests help you to understand the system?  If the answer any of those questions is no, they are not as advanced as they think, and will have a hard time bringing on new people at any point, regardless of experience.
     



  • To answer the questions:  The code was somewhat documented (believed in self-documenting code, so pretty much zero comments throughout).  The unit tests helped a little, but not much since I still had to learn real "design patterns" like having everything reference an abstract interface instead of the class itself, and remember all the data mappers and whatnot.  I was starting to get the hang of it, but remember I had never worked with it prior to this job (I've been used to being the sole developer, so none of that stuff was a concern).  I'm not really bitter, I just wish it was brought to my attention that I needed to spend more time learning the system (I came in early and left early, I would have gladly stayed a few hours extra to get "help" with what I wasn't sure about), instead of just an abrupt firing without any communication prior.

    That's actually what a (non-IT) friend of mine said:  If they didn't give me any inclination that I wasn't performing to standards, they shouldn't have hired me in the first place, because they knew from the start I wasn't familiar with Agile Design, design patterns, source control and the like.
     



  • @TheRubyWarlock said:

    The unit tests helped a little, but not much since I still had to learn real "design patterns" like having everything reference an abstract interface instead of the class itself, and remember all the data mappers and whatnot.  I was starting to get the hang of it, but remember I had never worked with it prior to this job (I've been used to being the sole developer, so none of that stuff was a concern).

     Good design is always important.  It doesn't matter if you are the only developer or not.
     

    @TheRubyWarlock said:


    That's actually what a (non-IT) friend of mine said:  If they didn't give me any inclination that I wasn't performing to standards, they shouldn't have hired me in the first place, because they knew from the start I wasn't familiar with Agile Design, design patterns, source control and the like.
     

     Training an employee is expensive.  If it is obvious to them that the time spent would be a waste because you wouldn't get it, then it makes sense to cut their losses.  I'm not trying to be a jerk here, but things like design patterns and source control are the basis for current development methods.  If you can't pick that stuff up quickly (less than two months) then how are you going to keep up with new technologies as they become adopted?  It sounds like they went out on a limb hiring you thinking that you would learn quickly.  I think 2.5 months is long enough for them to realize that you aren't learning quickly enough.
     



  • Well....

     

    If it was an Agile company, then you should have been "Pair Programming" with someone else all the time... So that should have helped to explain all the code to you...

     

     



  • @TheRubyWarlock said:

    Maybe I'll spend some time teaching myself more of Ruby and .NET (see my nickname :-p) while I look for a new job. 

    You're a Ruby Warlock when you can tell me what this does without running it through the interpreter:

    def mystery_method(n)
      [n, 2].inject(nil) { |m, x| m ? m.send(:to_s, x) : x }
    end
    


  • I think that it simplifies to n.to_s(2). It might just throw an exception because I don't think the to_s method usually takes an argument.



  • @VGR said:

    @TheRubyWarlock said:

    So.. yeah.. I just got canned from my ASP.NET job - I had only been there about two and a half months and was trying to learn their system (had never worked with an 'agile' design team before, or used TDD or abstract mappers or interfaces for everything), when my boss calls me in and tells me they're letting me go because I didn't learn the system as quick as they had hoped (without actually saying it, it was implied that I wasn't experienced enough to do any 'real' development compared to the rest of the team).  I was under the impression that it took several months for a new dev to learn an existing system (especially a pretty complex one like this was), and that you'd barely be expected to know that much after just two months.

    It really depends on the system. I have seen many systems and code bases that cannot be mastered even after six months of intense exposure. Documentation is sparse, meaningless, or wrong; designs are hopelessly spaghettified; names make little or no sense; multiple tiers regularly get mixed into single classes.

    I'm not even talking about myself. A dozen or more people would come on board, and leave after a couple months of frustration. The more stubborn, er, persistent ones would stick it out for six months, and leave upon realizing that not only is the design hostile, but those responsible continue to make it worse with each passing day, and no one at any level cares about rectifying the situation.

    So I have definitely been in environments where learning the entire system in two months is an absurd expectation. It depends on the system.

     

    We work together, don't we? 



  • not to hijack the thread, but this sounds like a post i could be making in about a year from now.

    I know about design patterns, good practice, OO, uml, version control, etc.. etc.. but at my current job i get very little exposure to it. Now i will probably start working for another company in a few months that does use those. And in the interview i think one of my selling points was that i could sum up what OO is and what pro's and con's it has, and sum up a few design patterns and what there used for and all. However apart from some black box type constructions i made that utilise OO and design patterns, I've never actually worked with them, or better said been exposed to stuff written by others.

    So i have a strong fear of actually not being good enough.

    Now i'm wondering if this is a common thing after reading this topic?  How how do you cope with it, besides the reading of all the good books and starting small projects, try out concepts and using the techniques.


     



  • [quote user="roto"]

     Training an employee is expensive.  If it is obvious to them that the time spent would be a waste because you wouldn't get it, then it makes sense to cut their losses.  I'm not trying to be a jerk here, but things like design patterns and source control are the basis for current development methods.  If you can't pick that stuff up quickly (less than two months) then how are you going to keep up with new technologies as they become adopted?  It sounds like they went out on a limb hiring you thinking that you would learn quickly.  I think 2.5 months is long enough for them to realize that you aren't learning quickly enough.
     

    [/quote

    ]

     

    I have to agree, at the job I'm at now I was brought in to program in a language I had never even heard of before, let alone seen, but in less than 2 months I was able to pick the language up and make noticeable progress in my learning. If a true developer cannot make serious progress in 2 1/2 months then that person maybe needs an entry level position to start with, one that isn't too "in depth", simple to start, basic bug fixes to start with, then once they've proven they can handle that move them to something more in depth and so on. Just my opinion though.



  • @stratos said:

    I know about design patterns, good practice, OO, uml, version control, etc.. etc.. but at my current job i get very little exposure to it. Now i will probably start working for another company in a few months that does use those. And in the interview i think one of my selling points was that i could sum up what OO is and what pro's and con's it has, and sum up a few design patterns and what there used for and all. However apart from some black box type constructions i made that utilise OO and design patterns, I've never actually worked with them, or better said been exposed to stuff written by others.

    Sounds to me like the person interviewing you didn't know what they were doing. 



  • So in the US you can be laid off within a day??

    Morning: *Whistle* "Lets go to work."

    Afternoon: "Sorry, we are going to let you go. We're downsizing. Don't come back monday."



  • @Ice^^Heat said:

    So in the US you can be laid off within a day??

    Morning: *Whistle* "Lets go to work."

    Afternoon: "Sorry, we are going to let you go. We're downsizing. Don't come back monday."

    Depends on the state I believe, but most states are called "Right To Work States" which means an employer can in fact lay you off at any time for anything. 



  • The thing is - I thought I was learning the system.  Nobody ever once came to me and said "I'd really like to give you more responsibility, but I'm not sure you know enough about our system yet.  You should <look through the code/read more/etc.> to get a better feel for it so we can start you on real projects.", or made any indication at all that I wasn't making adequate progress.  I thought everything was going well, and then its "Oh, you weren't learning as quickly as we wanted, so we're letting you go."

     And yes, in most states the employer can fire you for any reason (or none at all) due to this bullshit "Right To Work" law (My grandfather keeps saying it's also what lets them pay as little as they want to - the idea being that *someone* will take the job, so if you don't want to be paid $10/hour for a dev job, then don't - somebody else will).  Besides that, I was coming up on the end of my probationary term, so by getting rid of me before it finishes they don't have to pay any benefits.

    And, for the record, the reason I didn't use testing or source control or anything in prior jobs is because I had only recently been exposed to programming (I'm self-taught, no fancy math-and-theory-laden CS degree here) and I honestly didn't know those things existed, and the companies I had worked for would have viewed them as a waste of time/money anyways.  So that was one benefit of this job:  It exposed me to Test-Driven Development (which I like) and how to "properly" decouple things.
     



  • @bruntilda said:

    I think that it simplifies to n.to_s(2). It might just throw an exception because I don't think the to_s method usually takes an argument.

    Yes, and no. The to_s method does take an argument... and you should know what it does :D



  • @TheRubyWarlock said:


     And yes, in most states the employer can fire you for any reason (or none at all) due to this bullshit "Right To Work" law (My grandfather keeps saying it's also what lets them pay as little as they want to - the idea being that someone will take the job, so if you don't want to be paid $10/hour for a dev job, then don't - somebody else will).
     

    "Right To Work" or "At Will Employment" is not bullshit.   It's a two way street, they can fire you anytime but you can quit at anytime.  You don't like that you got fired, but you wouldn't feel that way if you wanted to get the hell outta there but couldn't because you were required to give a thirty day notice.  Your grandfather is an idiot.  Pay is determined by quality and abundance of workers.  Since you don't have a degree and are obviously not that great of a programmer, you would love a place that couldn't get rid of unproductive employees.  But businesses need to be able to improve their products, services and work force.  You sound like a socialist, move to China.



  • @roto said:

    "Right To Work" or "At Will Employment" is not bullshit.   It's a two way street, they can fire you anytime but you can quit at anytime.  You don't like that you got fired, but you wouldn't feel that way if you wanted to get the hell outta there but couldn't because you were required to give a thirty day notice.  Your grandfather is an idiot.  Pay is determined by quality and abundance of workers.  Since you don't have a degree and are obviously not that great of a programmer, you would love a place that couldn't get rid of unproductive employees.  But businesses need to be able to improve their products, services and work force.  You sound like a socialist, move to China.

    roto I couldnt agree more! If a person cannot pull their weight they need to be let go as they are bringing down the productivity of the entire team. As I stated before, I was hired to program in a language I had never seen before but assured my employer that due to my experience in the field I would be able to "pick up" the ins and outs of the language on a time frame that would make it worth their wile to hire me, I kept that end of the bargain and since then we have switched systems (for which I was hired to program) and it is now done in .Net, a framework I know very well. 



  • Wow harsh comments there.  Let's see:  I *do* have a degree, just not in Computer Science.  I *am* a decent programmer, just not up to speed on all these so-called "right way to do things" methodologies.  Right To Work *is* bullshit because it means the company doesn't need a reason to fire you (i.e. it basically means they can discriminate against you and you can't prove it at all).  And lastly, pay seems to go up/down depending on the business in question - some offer peanuts for work that would cost a lot of money because they're A) cheapskates and B) think they can get someone to work for that amount.

    So.. you mean to say that *I* am at fault for not learning a system that I had no prior experience with, and never was able to ask questions, never received any sort of "mentoring", and on top of that was never informed that I wasn't learning it fast enough UNTIL the minute I got fired?  Glad I don't work with you fellas.
     



  • @TheRubyWarlock said:

    Wow harsh comments there.  Let's see:  I do have a degree, just not in Computer Science.  I am a decent programmer, just not up to speed on all these so-called "right way to do things" methodologies.  Right To Work is bullshit because it means the company doesn't need a reason to fire you (i.e. it basically means they can discriminate against you and you can't prove it at all). 

    Companies cannot discriminate.  If there is any hint that someone was
    fired based on discrimination, then find a lawyer.  You will win that
    case, those laws are taken very seriously.

    @TheRubyWarlock said:

    And lastly, pay seems to go up/down depending on the business in
    question - some offer peanuts for work that would cost a lot of money
    because they're A) cheapskates and B) think they can get someone to
    work for that amount.

     

    People pay for the quality of work they get.  If company X doesn't pay as well as company Y, then company X will have lower quality employees.  If a company can get someone for a certain amount, then that is the amount.  It's called supply and demand.  If there was a short supply they would have to pay more, otherwise they can pay the minimum it takes to get people to work for them.  If they pay peanuts that means there is someone who will work for peanuts.  You are trying to make it sound like a company decides the pay and then you are forced to take the job and accept whatever they pay you.  You do have options.

    @TheRubyWarlock said:


    So.. you mean to say that I am at fault for not learning a system that I had no prior experience with, and never was able to ask questions, never received any sort of "mentoring", and on top of that was never informed that I wasn't learning it fast enough UNTIL the minute I got fired?  Glad I don't work with you fellas.
     

    I can't make any comment on your situation.  I don't know anything about the company you worked for.  All I am saying is it's their right to fire you at any time just like it's your right to leave at any time.



  • the flipside to a right to work state is ... Switzerland.  I worked there a number of years ago, and my employment contract had a 3 MONTH notice period (for both parties).  It could actually be almost a 4 month notice as the 3 months started on the 1st day of the next month.  So if you give notice Jan 10, you have to work February, March, and April.  Imagine trying to switch to a North American company.  "Hi I'd like to apply for your open position, here's my resume."  "We love you, when can you start?"  "3 months from now."  (Dialtone)

    There's a happy middle ground in there somewhere.

    p.s.  I don't think 3 months is the law of the land in Switzerland, but it is common enough practice.



  • @TheRubyWarlock said:

    Wow harsh comments there.  Let's see:  I do have a degree, just not in Computer Science.  I am a decent programmer, just not up to speed on all these so-called "right way to do things" methodologies.  Right To Work is bullshit because it means the company doesn't need a reason to fire you (i.e. it basically means they can discriminate against you and you can't prove it at all).  And lastly, pay seems to go up/down depending on the business in question - some offer peanuts for work that would cost a lot of money because they're A) cheapskates and B) think they can get someone to work for that amount.

    So.. you mean to say that I am at fault for not learning a system that I had no prior experience with, and never was able to ask questions, never received any sort of "mentoring", and on top of that was never informed that I wasn't learning it fast enough UNTIL the minute I got fired?  Glad I don't work with you fellas.
     

    Maybe to some extent you are, I took a job using a language I had NEVER even heard of let alone had any experience with an in less than 2 1/2 months I was writing processes and interfaces with it, if it means show up early, stay late then do it. You already said earlier that you "arrived early and left early", how's that showing your employer you're serious about learning and expanding you knowledge? 



  • It's definitely unusual to get fired without warning like that, even in the US.  I thought it was fairly unusual to get fired at all, even with notice (except when the company has to do layoffs, or you fail a drug test or something).  Most companies I've worked for would never fire someone just for being too slow (or even for complete incompetence in some cases).

    @TheRubyWarlock said:

     And lastly, pay seems to go up/down depending on the business in question - some offer peanuts for work that would cost a lot of money because they're A) cheapskates and B) think they can get someone to work for that amount.

    I think it's totally reasonable for companies to pay as little as possible according to what people are willing to work for.  That's what the free market is all about.  I don't see any reason for the companies to pay more than they have to for the same amount and quality of work.  (But in general, companies have to pay well, because if they didn't, no skilled employees would ever stay with them.)

     And for the record, I think most CS graduates at my school could learn the system you described within a month, and it's pretty normal for companies to expect you to learn on your own without formal training.  But if your manager fired you without ever trying to help you or even warning you that you needed to improve, he's definitely not a great manager.



  • @TheRubyWarlock said:

    And, for the record, the reason I didn't use testing or source control or anything in prior jobs is because I had only recently been exposed to programming (I'm self-taught, no fancy math-and-theory-laden CS degree here) and I honestly didn't know those things existed, and the companies I had worked for would have viewed them as a waste of time/money anyways.  So that was one benefit of this job:  It exposed me to Test-Driven Development (which I like) and how to "properly" decouple things.

    I'm sorry to say, but you really are presenting yourself in the worst possible light here. When I read your first post, my immediate thought was "Wow, what an awesome place to work. Agile development, unit testing, interesting systems." Of course, I am in a "math and theory laden" computer science program and pretty close to getting my degree. During my time at the University I have been exposed to source control, agile development, unit testing, (as well as a whole lot of theoretical AND applied knowledge) so please don't knock education :)

    I think anyone without a degree is missing out on a lot of experience that they'll have to painfully acquire other ways (see above). I wish you well though, and I hope you can find another place that's as competent as the place you left. 



  • @TheRubyWarlock said:

    The thing is - I thought I was learning the system.  Nobody ever once came to me and said "I'd really like to give you more responsibility, but I'm not sure you know enough about our system yet.  You should <look through the code/read more/etc.> to get a better feel for it so we can start you on real projects.", or made any indication at all that I wasn't making adequate progress.  I thought everything was going well, and then its "Oh, you weren't learning as quickly as we wanted, so we're letting you go."

    This is simply cowardice on the part of the manager(s). Regardless of whether you should have known or quickly picked up those things, they didn't wish to deal with trying to ask someone to do more than they're doing. Most people become frantic and highly stressed when told they're not doing enough. It's not a pleasant managerial task. But it was the managers' job and they shouldn't have shirked it.

    I don't know if such behavior is prevalent among managers, but I know it's easy to find.



  • Let me just clarify that by "come in early and left early" I mean "Worked normal hours" - i.e. 9-5.  The rest of the team would routinely come in at 10:30-11:00 and therefore stay until 6 or 7pm (pretty much by the time they arrived at work, I was nearing my lunch break); they also lived in the same area while I had an hour and 20 minute commute one-way.  They were okay with my working "regular" hours as I mentioned it during the interview (my previous job, I would come in at 7am and leave at 3pm).  My point was that I would have stayed until 6 or 7 a few days a week to learn more of the system (idea being that "after hours" I'd have time to sit down and go over the things I wasn't sure about) had it been mentioned that I wasn't learning fast enough.



  • TheRubyWarlock,

    Most employers wont ask you to work extra hours unless its crunch time or a similar situation (at least in my experience) and you should be able to judge whether or not you're learning "fast enough", you should also take it upon yourself to work as many hours as needed to learn the system and such. You cannot use the  "I had an hour and 20 minute commute one-way" excuse with me, when I took this job for a language I'd never heard of before I was in there a minimum of an hour before everyone else (7:00AM) and was always the last to leave (usually about 6-7:00PM) and I had a 50 mile drive one-way. If you truly wanted this position then you would have done whatever necessary to keep it, you would have gone above and beyond to show your employer that they didnt make a mistake by hiring you, you would have done whatever necessary to show your employer that you were willing/able to learn the systems you were working with.

    I'm not saying that your ex-employer is completely faultless in this and that you are 100% to blame, from what Ive read its a minimum of 50/50, you 50% for not being willing to do whatever necessary to learn the systems and procedures and your employer 50% for failing to properly monitor your progress and keep you updated of it, but your 50% is on display here not theirs. It doesnt matter what the other developers did, they had seniority and were well versed in the systems being used and the procedures in place so they had more leeway than you did, and if you truly wanted to learn the way they do things (trust me they're things you're going to need to know if you ever expect to make it in the corporate developer world) then you do what you have to do to learn it, bottom line.

    Use this as a learning experience and honestly, stop crying bout it. Next time don't get in over your head, maybe start by looking for an entry-level position and work up from there is you're not willing to do 150% to learn the new stuff, just my opinion. 



  • I'm been at my job almost six months and I still feel like I'm in way over my head.  Like a sheep to the slaughter, I took my Computer Science degree from my JavaSchool and walked into a systems programming job with no idea what I was getting into.  I had an internship before I got hired but I was doing Java/webapp stuff then.

    A bunch of my co-workers have been maintaining this product since the mid-90's and they still have to deal with the unknown every day.  The code base is simply too huge for any one person to truly understand most of it, the best you can hope for is to master "your" piece of the stack.  I've surrendered to the fact that I'm going to be against a constant learning curve as long as I have this job.

    Now, one point where I did feel I screwed up was not taking the initiative to really dig into the build process and ask more fundamental design questions early on -- as in the first month.  When I had questions I felt that I "should" have known the answers and held my tongue, or I was really just too confused by the jargon to formulate a proper question.  I've learned enough to get by and people still tell me I'm coming up to speed well, but I know I blew it to an extent and I'm trying to make up for it now.  Trust me, in your first two months no one expects you to really know your job, so you might as well play the part of the clueless newbie.

    Obviously there's a line between seeking mentoring and just pissing people off, but if you at least try to work through problems yourself and fail before seeking help, people will understand.  I'm very stubborn so "working through it myself" means spending days googling and trying to reverse-engineer source, when I should have just stopped by someone's office and asked them a casual question after an hour or two of being stuck.



  • @mountain said:

    Trust me, in your first two months no one expects you to really know your job, so you might as well play the part of the clueless newbie.

     This is incorrect in the worst way, employers do indeed expect new hires (developers) to have a very firm grasp of their job in 2 months, thats just the way of the world. Where a lot of managers fail miserably is not letting the knew hire know this up front, during the interview process, and once again when the job is offered/accepted. If a person cannot take on a new development job and not be up and running at over 1/2 speed in 2 months then, in my non-humble opinion, they arent worth their salt as a developer (once again I took this job working with a language I had never even heard of let alone worked with it and in 2 1/2 months I was up and running programming in this language, but this language is a GIANT WTF in itself)
     



  • You know what?  You're right.  I've already started experimenting with some of the things that gave me "trouble" at that job so I'll be better prepared for the next one.  If nothing else, the experience exposed me to a "better" (subjectively speaking) way of doing things than what I had used at the jobs before.  Although everybody who I have spoke to have always said you should put in exactly 100% (i.e. only *ever* work 8 hours since you don't get paid for working over it - no reason to give extra for no return), you're correct in that I should have spent more time at home playing around with similar methodologies so I would have been better prepared.


    I guess my initial post was more A) Frustrated venting (I *had* to get it off my chest, and knew of no other way to do so), and B) Shock/surprise/anger at being let go without ever being told that I wasn't learning quick enough or was doing something "wrong".



  • @roto said:

    "Right To Work" or "At Will Employment" is not bullshit.   It's a two way street, they can fire you anytime but you can quit at anytime.  You don't like that you got fired, but you wouldn't feel that way if you wanted to get the hell outta there but couldn't because you were required to give a thirty day notice.



    That is the standard line of bullshit put out by the proponents of the "Right to Work" idiocy. Here's the flaw: YOU WERE NEVER A BLOODY SLAVE. You have always been able to quit at any time. There has never been a law which required you to work to the end of your notice period. You can always just walk out. (You won't get any more paychecks and you may have to give back your previous one, depending on whether your contract works in advance or in arrears)

     

    But businesses need to be able to improve their products, services and work force.  You sound like a socialist, move to China.

    Spoken like a true corporate shill. Because naturally, the goal of society is to serve the needs of businesses, at the expense of all the people. Businesses aren't a means to an end, they are the purpose of everything.

    (Oh, and China isn't socialist. That's a lie repeatedly told by the US government. China isn't really anything in particular, except authoritarian, and it's been that way since Mao died in 1976. Not that there is anything remotely wrong with socialism)



  • @asuffield said:

    Spoken like a true corporate shill. Because naturally, the goal of society is to serve the needs of businesses, at the expense of all the people. Businesses aren't a means to an end, they are the purpose of everything.

    If you don't like it, start your own business where you hang on to people that are keeping you from growing just because you don't want to hurt their feelings.
     

    @asuffield said:


    (Oh, and China isn't socialist. That's a lie repeatedly told by the US government. China isn't really anything in particular, except authoritarian, and it's been that way since Mao died in 1976. Not that there is anything remotely wrong with socialism)

    Thanks for the history lesson, no one cares. 



  • @roto said:

     

    @asuffield said:


    (Oh, and China isn't socialist. That's a lie repeatedly told by the US government. China isn't really anything in particular, except authoritarian, and it's been that way since Mao died in 1976. Not that there is anything remotely wrong with socialism)

    Thanks for the history lesson, no one cares. 

     

    Well, you cared enough to answer it. 



  • @roto said:

    People pay for the quality of work they get.  If company X doesn't pay as well as company Y, then company X will have lower quality employees.  If a company can get someone for a certain amount, then that is the amount.  It's called supply and demand.  If there was a short supply they would have to pay more, otherwise they can pay the minimum it takes to get people to work for them.  If they pay peanuts that means there is someone who will work for peanuts.  You are trying to make it sound like a company decides the pay and then you are forced to take the job and accept whatever they pay you.  You do have options.

    Your comment implies some equality of force between the employers and the employees. This might be true sometimes (good programmers in an urban area usually do have choice) but in general, there is a tendency that employers are stronger. For example, in many regions, there is one company that is the biggest employer and most people have no choice but to work there or move away from the region.



  • @ammoQ said:

    Your comment implies some equality of force between the employers and the employees. This might be true sometimes (good programmers in an urban area usually do have choice) but in general, there is a tendency that employers are stronger. For example, in many regions, there is one company that is the biggest employer and most people have no choice but to work there or move away from the region.

    Peple have been moving to follow jobs for centuries.  It is not the responsibility of the government or the employer to make sure you have a secure job.  The employer needs to be flexible to adapt to changing markets and economies.  If this means the employee needs to be mobile to stay employed, then so be it.  I'm sure all the migrant workers in Central America would love to find jobs close to home.  But they follow the work because their skills are in demand in other locations.  Software development is no different.



  • @roto said:

    @ammoQ said:

    Your comment implies some equality of force between the employers and the employees. This might be true sometimes (good programmers in an urban area usually do have choice) but in general, there is a tendency that employers are stronger. For example, in many regions, there is one company that is the biggest employer and most people have no choice but to work there or move away from the region.

    Peple have been moving to follow jobs for centuries.  It is not the responsibility of the government or the employer to make sure you have a secure job.  The employer needs to be flexible to adapt to changing markets and economies.  If this means the employee needs to be mobile to stay employed, then so be it.  I'm sure all the migrant workers in Central America would love to find jobs close to home.  But they follow the work because their skills are in demand in other locations.  Software development is no different.

    lawl,

    Other countries have  been doing fine economically while having rules to protect the employees from employers. And it IS the responsibility of the goverment to make sure i can get a job. Perhaps not where you live, but it is where i live, and it's working fine so far. lowest unemployment rate in the EU. Only 3.2%



  • @stratos said:

    lawl,

    And it IS the responsibility of the goverment to make sure i can get a job. Perhaps not where you live, but it is where i live, and it's working fine so far. lowest unemployment rate in the EU. Only 3.2%

    That is your country.  Where the people have voted to make things that way.  This is the United States where the people have decided that hand outs and government protection are not necessary.  That is great that all you Europeans have protection from being fired, but the OP is in the United States.  Here we don't rely on the government to take care of us.



  • Too much protection from unemployment is rather counterproductive, since the barriers for getting rid of unnecessary employees make it less likely that those persons are given job in the first place.

    For example, in those European countries with a relatively tight protection, large companies rather avoid hiring people; instead, they use temporary workers (which are, in fact, kept for a relatively long time, so they mostly aren't "temporary")



  • @roto said:

    @asuffield said:

    Spoken like a true corporate shill. Because naturally, the goal of society is to serve the needs of businesses, at the expense of all the people. Businesses aren't a means to an end, they are the purpose of everything.

    If you don't like it,

    It doesn't affect me, because I'm fortunate enough not to live in the US. The rest of the world has some rather different ideas about the purpose of businesses.



  • @ammoQ said:

    Too much protection from unemployment is rather counterproductive, since the barriers for getting rid of unnecessary employees make it less likely that those persons are given job in the first place.

    That's hardly the worst problem. You need a base rate of unemployment of about 5% to keep inflation in check (yes, this really is important, ask anybody with a background in economics). The important thing is to make sure that it's not the same 5% all the time.

    Note that "protection from unemployment" is not the same thing as "protection from corporations fucking with you". 



  • @asuffield said:

    @ammoQ said:

    Too much protection from unemployment is rather counterproductive, since the barriers for getting rid of unnecessary employees make it less likely that those persons are given job in the first place.

    That's hardly the worst problem. You need a base rate of unemployment of about 5% to keep inflation in check (yes, this really is important, ask anybody with a background in economics). The important thing is to make sure that it's not the same 5% all the time.

    Note that "protection from unemployment" is not the same thing as "protection from corporations fucking with you". 

    Could you or anyone name this rule? I tried searching for it, but couldn't find anything. Not that i don't believe you, but i was just interested in what the underlying reasons for it would be. 



  • @asuffield said:

    That is the standard line of bullshit put out by the proponents of the "Right to Work" idiocy. Here's the flaw: YOU WERE NEVER A BLOODY SLAVE. You have always been able to quit at any time. There has never been a law which required you to work to the end of your notice period. You can always just walk out. (You won't get any more paychecks and you may have to give back your previous one, depending on whether your contract works in advance or in arrears)

    You may not be a slave, but non-right-to-workers are certainly something akin to an indentured servant.  (Actually, I think there might be some confusion here between "right to work" and "at-will employment".  The opposite of "right to work" appears to be "forced union", which is bad for a whole different set of reasons...)

    And ask anyone that's been saddled with a noncompete clause whether or not they are a slave...  You could be the best programmer in the world, but if you're stuck with a noncompete in a non-right-to-work area, you had better *really* enjoy your job...



  • @stratos said:

    @asuffield said:
    @ammoQ said:

    Too much protection from unemployment is rather counterproductive, since the barriers for getting rid of unnecessary employees make it less likely that those persons are given job in the first place.

    That's hardly the worst problem. You need a base rate of unemployment of about 5% to keep inflation in check (yes, this really is important, ask anybody with a background in economics). The important thing is to make sure that it's not the same 5% all the time.

    Note that "protection from unemployment" is not the same thing as "protection from corporations fucking with you". 

    Could you or anyone name this rule? I tried searching for it, but couldn't find anything. Not that i don't believe you, but i was just interested in what the underlying reasons for it would be. 

    If the unemployment rate is close to 0%, it means there is no-one looking for a job; so employers have to pay ever-increasing wages to get anyone at all (enticing him away from another employer). Just look at the IT job market back in 1999. Wages explode, prices explode, inflation is the only possible outcome.



  • @studean said:

    non-right-to-workers are certainly something akin to an indentured servant.

    Such contracts are illegal and therefore unenforceable in most of the world. No contract can ever require a person to do any kind of work - they always have to take the form "either do these things, or you don't get paid" or "do these things or owe us a debt payable either in goods/services of our choice or in any legal tender of your choice". A contract which gives you no options other than to do the work is void (under anti-slavery laws).

     

    And ask anyone that's been saddled with a noncompete clause whether or not they are a slave...  You could be the best programmer in the world, but if you're stuck with a noncompete in a non-right-to-work area, you had better really enjoy your job...

    Never sign a contract with a dubious non-compete clause. They aren't exactly common and there are plenty of jobs with employers who are willing to cross them out. (Also, a non-compete clause which prevents you from getting another job, and doesn't pay you for the time when you can't work, is pretty much always void - if a company wants to write a non-compete that will stand up in court, they have to make it specific enough that you can get a job with somebody who doesn't compete directly with them)



  • @stratos said:

    @asuffield said:

    That's hardly the worst problem. You need a base rate of unemployment of about 5% to keep inflation in check (yes, this really is important, ask anybody with a background in economics). The important thing is to make sure that it's not the same 5% all the time.

    Could you or anyone name this rule?

    It's a collection of theories rather than a specific rule - the exact figure for the right level of unemployment is difficult to pin down due to the number of variables and the unclear relationship between them, but everybody agrees that it's somewhere around 5% (the safe bracket being something like 4%-10%, based on empirical observations of history - any higher, and you get the opposite problem which causes rapidly increasing unemployment). Key terms to look up: Phillips curve, full employment, natural rate of unemployment.

    Pinning down the details of how this stuff works is a subject of current research in economics.



  • Hand-outs are unnecessary?  Since when did anyone in the US vote on that?  If that were true, there would be no welfare program, or food stamps.



  • Never sign a contract with a dubious non-compete clause. They aren't exactly common and there are plenty of jobs with employers who are willing to cross them out. (Also, a non-compete clause which prevents you from getting another job, and doesn't pay you for the time when you can't work, is pretty much always void - if a company wants to write a non-compete that will stand up in court, they have to make it specific enough that you can get a job with somebody who doesn't compete directly with them)

    Just signed one, and I found it to be quite reasonable. For 1 year, I can't work at a company that uses the same clients as my current one (or "take" their clients for myself, for that matter). It's just limiting enough to make sure they won't lose business, but I'd have to try to go about breaking it. Surely, my next company will have completely different clients...



  • @boolean said:

    Never sign a contract with a dubious non-compete clause. They aren't exactly common and there are plenty of jobs with employers who are willing to cross them out. (Also, a non-compete clause which prevents you from getting another job, and doesn't pay you for the time when you can't work, is pretty much always void - if a company wants to write a non-compete that will stand up in court, they have to make it specific enough that you can get a job with somebody who doesn't compete directly with them)

    Just signed one, and I found it to be quite reasonable. For 1 year, I can't work at a company that uses the same clients as my current one (or "take" their clients for myself, for that matter). It's just limiting enough to make sure they won't lose business, but I'd have to try to go about breaking it. Surely, my next company will have completely different clients...

    So long as you don't work for Microsoft or the Post Office or something like that, that sounds like a tolerable one (although I'd still object to it, to try and squeeze a higher salary out of them). If your company suddenly takes off and half the world becomes their clients, you'd want to get it altered or removed next time your contract is up for renegotiation. 


Log in to reply