I have been sending out my resume to whatever Rails jobs I can find. There is a limitied supply unless you want to relocate. It seems like the Rails stuff out there gets alot of applicants, though I am not sure if they tend to be locals, very experienced etc. I have also been applying for C++, Java, and Perl jobs. I have alot of background in C++, but am a little rusty. I have done some Java, but not really J2EE. I have been trying to send out 20+ resumes a week so I can''t limit myself to Rails. I need to find a job. Here is one problem I seem to have, I wonder if others have this problem. Although I apply for Java and C++ jobs, since I am hopeing to find Rails work, I may not come across as overly enthusiastic, though I try my best to give a good impression. Sometimes I feel too relaxed at these interviews, and I feel like I should be a little nervous or on edge. I try to sit at the edge of my chair instead of laying back in the chair and so on, something I read along time ago, but I feel like I need to throw water in my face or something. The other things, is I get asked technical questions on C++ and Java that I may be rusty on. Since I am focused on Rails, and that''s what I have been studying, I feel I may be spreading myself a little thin. Today I was asked what a virtual C++ destructor was, I blew that one as well as why .h files where needed besides .cpp files, which I realized within 5 minutes after the interview it''s because of linkage. I won''t get these same answers wrong a second time of course. Another question. I am mid 40''s. I would like to know some stats on older programmers. I would like to keep writting code until I am at least 75, though maybe not full time all the time. I have some money saved for retirement, but I would actually like that to be part of my retirement plan is to not really retire fully. Anyone else feel that way ? Are there alot of older programmers ? Does the job market for older programmers look promising or not ? Are there similar or different age descrimination issues down the road ? Ever wonder about that ? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
surf wrote:> Here is one problem I seem to have, I wonder if others have this > problem. Although I apply for Java and C++ jobs, since I am hopeing to > find Rails work, I may not come across as overly enthusiastic, though I > try my best to give a good impression. Sometimes I feel too relaxed at > these interviews, and I feel like I should be a little nervous or on > edge.This reminds me of a FAQ regarding excessive UML or CMMI. Someone says, "We tried that, but we kept slacking off on it and just writing code. Should we try harder to do it? Maybe take away our computers for a while?" There''s a reason why such things feel hard - they are bad for your project. If you are not having fun, you are not doing anyone, anywhere, any good. There''s a reason most new code should not be in C++, and there''s a reason why Java will continue to be a cash wick.> Today I was asked what a virtual > C++ destructor was,Segue directly into coding style. Reveal that you will detect the team''s existing style _before_ deciding if you should prematurely optimize or pessimize your destructors. Make them virtual, or make their class uninheritable. And never inherit except to override a method. (Try enforcing that one in Rails!! ;-)> I blew that one as well as why .h files where > needed besides .cpp filesBecause back when C was invented nobody wanted to touch the broken linker for the PDP-11. That''s it. An entire architecture based on fear of high-bandwidth linking. Oh, and then ORB systems like ActiveX with its #import system, as a spontaneous secondary system. Tip: Redundancy is bad. C++ has two module systems (#include and an ORB with an IDL), and has two systems to pass arguments. (x) goes into functions and <x> goes into templates. Redundancy is bad.> Another question. I am mid 40''s. I would like to know some stats on > older programmers.Our brains tend to fossilize, yes. I usually just hand my cell-phone to my 11yo daughter for programming. She switched it to Spanish for a prank, and that backfires when I''m too lazy to switch it back or complain.> I would like to keep writting code until I am at > least 75, though maybe not full time all the time. I have some money > saved for retirement, but I would actually like that to be part of my > retirement plan is to not really retire fully. Anyone else feel that > way ? Are there alot of older programmers ?There seem to be quite a few "thought leaders" out there who have passed the age of forced retirement. ;-) And the answer, again, is to always try to have fun, and seek your dream. -- Phlip http://www.greencheese.us/ZeekLand <-- NOT a blog!!! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Thu, Jan 04, 2007 at 10:53:26PM -0000, surf wrote: } I have been sending out my resume to whatever Rails jobs I can find. } There is a limitied supply unless you want to relocate. It seems like } the Rails stuff out there gets alot of applicants, though I am not sure } if they tend to be locals, very experienced etc. } } I have also been applying for C++, Java, and Perl jobs. I have alot of } background in C++, but am a little rusty. I have done some Java, but } not really J2EE. I have been trying to send out 20+ resumes a week so I } can''t limit myself to Rails. I need to find a job. If you need a job, you need a job. I worked as a Microsoft whore for almost a year (developing a large, mission-critical, internal, database-backed, VB.NET desktop app, employed by a consulting company and contracted out to the company developing and using the app). I did this because I was moving to another state and I needed a job to pay the mortgage. It wasn''t my favorite experience programming-wise, though the compensation, benefits, and work environment were pretty good. I spent my free time learning stuff that interested me, however, which happened to include Ruby and Rails. I then got lucky in that a very appealing local job was announced on this mailing list. I applied for it and, happily, got it. } Here is one problem I seem to have, I wonder if others have this } problem. Although I apply for Java and C++ jobs, since I am hoping to } find Rails work, I may not come across as overly enthusiastic, though I } try my best to give a good impression. Out of the various companies looking to hire programmers, only a slim fraction of them give a damn about "enthusiasm" per se. The closest they come is that they want to know that if they bring you on and invest the time and money in training you (no one is as productive their first week, or month, or even year as they are in subsequent weeks, months, and years; that means that even if there is no formal training, they are paying you to learn how to do your job effectively for the first N days you are working for them, plus the time you are taking from co-workers in your learning), you won''t leave before that investment has paid off. You are unlikely to get a full-time job, as opposed to a short-term contractual position, if it looks to them like you working for them would only last until something better comes along. There was a time, well before I entered the workforce, when there was a mutual agreement of loyalty between employer and employee; this time has past, but most employers still give it lip service and expect potential hires to do so as well. You are ultimately lying to each other, but it''s just a ritual you have to observe, like saying, "doing fine, how are you?" when someone asks how you are, rather than telling them your very real problems. } Sometimes I feel too relaxed at these interviews, and I feel like I } should be a little nervous or on edge. I try to sit at the edge of my } chair instead of laying back in the chair and so on, something I read } along time ago, but I feel like I need to throw water in my face or } something. This is a red herring. Yes, you need to appear attentive and on the ball, but nervousness implies a lack of confidence in your own competence. It is your responsibility, as an interviewee, to make the interviewer feel that hiring you would be a benefit to the company; if you don''t appear to be confident of that, why would the interviewer have any confidence? } The other things, is I get asked technical questions on C++ and Java that } I may be rusty on. Since I am focused on Rails, and that''s what I have } been studying, I feel I may be spreading myself a little thin. Today I } was asked what a virtual C++ destructor was, I blew that one as well as } why .h files where needed besides .cpp files, which I realized within 5 } minutes after the interview it''s because of linkage. I won''t get these } same answers wrong a second time of course. This is egregious. If you are applying for a position that requires certain skills, you had better be able to demonstrate your competence in those skills. Being able to hold up your end of a discussion of virtual destructors, pure virtual methods, duck typing as it applies to templated classes/methods/functions, what goes in header files rather than source files, when to inline methods/functions, how to use the C preprocessor effectively, STL iterators, etc., etc. is necessary to demonstrate your competence in C++. If you can''t do that, you don''t *deserve* to get a job programming C++, period. Dedicate the time to developing and polishing your skills, because you shouldn''t expect to get a job requiring skills in which you are not competent. On the flip side, if you are unwilling to put the effort into competence in a particular skill (and this means a lot more than looking up the answers to questions you blew in an interview), don''t apply for jobs requiring that skill. } Another question. I am mid 40''s. I would like to know some stats on } older programmers. I would like to keep writting code until I am at } least 75, though maybe not full time all the time. I have some money } saved for retirement, but I would actually like that to be part of my } retirement plan is to not really retire fully. Anyone else feel that } way ? Are there alot of older programmers ? Does the job market for } older programmers look promising or not ? Are there similar or } different age descrimination issues down the road ? Ever wonder about } that ? There are rumors of a shortage of software developers at the moment. True or not, the combination of the rumors and a growing backlash against crappy (typically defined as "poor security," e.g. Windows) means that employers are, largely, more concerned about competence, which comes from experience, than cheap labor, which comes from youth. That does mean (and I keep coming back to it) that you need to be able to demonstrate your competence. --Greg --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Thu, Jan 04, 2007 at 09:57:20PM -0800, Phlip wrote: [...] } Tip: Redundancy is bad. C++ has two module systems (#include and an ORB } with an IDL), and has two systems to pass arguments. (x) goes into } functions and <x> goes into templates. Redundancy is bad. [...] C++ is really three different languages. There is the C preprocessor, which has its own syntax, the templating language, which has its own syntax, and the base language, which has its own syntax. It is not redundant to have both <x> and (x), it is a separation of two different languages'' syntaxes. } Phlip --Greg --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Gregory Seidman wrote:> C++ is really three different languages. There is the C preprocessor, which > has its own syntax, the templating language, which has its own syntax, and > the base language, which has its own syntax. It is not redundant to have > both <x> and (x), it is a separation of two different languages'' syntaxes.Right: The language is not DRY. -- Phlip http://c2.com/cgi/wiki?ZeekLand <-- NOT a blog!! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Languages evolve. Remember, C, as specified by K&R didn''t have prototypes. They were added later. The C standard runtime evolved over time to fit developers'' needs. C++ was such an evolution, although it was significant that it merited a new language name and new standard. I followed C++ very carefully, and if you consider templates to be a different language, I must disagree. They are yet another case of language evolution. C++ did not come with features like collections and iterators built in. The solution that carried the day was templates and these templates required their own syntactic sugar. That you use a different punctuator to delimit a placeholder argument in a template than you do a formal argument to a function doesn''t make the language less DRY. What makes C++ less DRY is how many C++ developers have chosen to implement using it. You can write a cruddy Ruby application exactly the same way. By the way, returning to the original question, you really *should* know how C++ works if you expect to use it as your primary programming tool. However, I''d be concerned if an interviewer wanted a language lawyer rather than an accomplished developer. Virtual functions, destructors included, should be understood by developers but if you''re not planning to implement at the root-most levels of the class library, abstract classes, pure vfuncs, and virtual destructors are features that simply show your memorization of the language spec and don''t reflect on your ability to know when to use these features. My $.02 Phlip wrote:> > > Gregory Seidman wrote: > >> C++ is really three different languages. There is the C preprocessor, >> which >> has its own syntax, the templating language, which has its own syntax, >> and >> the base language, which has its own syntax. It is not redundant to have >> both <x> and (x), it is a separation of two different languages'' >> syntaxes. > > Right: The language is not DRY. > >-- View this message in context: http://www.nabble.com/-Rails--Job-market-Rails%2C-Java%2C-C%2B%2B%2C-etc-tf2922625.html#a8183889 Sent from the RubyOnRails Users mailing list archive at Nabble.com. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Fri, Jan 05, 2007 at 11:06:03AM -0800, s.ross wrote: [...] } I followed C++ very carefully, and if you consider templates to be a } different language, I must disagree. They are yet another case of language } evolution. C++ did not come with features like collections and iterators } built in. The solution that carried the day was templates and these } templates required their own syntactic sugar. That you use a different } punctuator to delimit a placeholder argument in a template than you do a } formal argument to a function doesn''t make the language less DRY. [...] Actually, the point I was making is that they are genuinely different languages, interpreted/executed by different processes. The C preprocessor is a separate process that executes preprocessor directives, meaning embedding #include files and dealing with #if and #ifdef directives. The resulting source then passes through the template interpreter; note that the C++ template language is Turing-complete. The syntax tree produced by the template interpretation is then compiled to native code. You can sort of argue that the compilation process takes care of both the template language and the rest, but I claim that a Turing-complete compilation process means that you have a separate language. } My $.02 --Greg --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Jan 5, 2007, at 7:36 AM, Gregory Seidman wrote:> > On Thu, Jan 04, 2007 at 10:53:26PM -0000, surf wrote: > > } Sometimes I feel too relaxed at these interviews, and I feel like I > } should be a little nervous or on edge. I try to sit at the edge > of my > } chair instead of laying back in the chair and so on, something I > read > } along time ago, but I feel like I need to throw water in my face or > } something. > > This is a red herring. Yes, you need to appear attentive and on the > ball, > but nervousness implies a lack of confidence in your own > competence. It is > your responsibility, as an interviewee, to make the interviewer > feel that > hiring you would be a benefit to the company; if you don''t appear > to be > confident of that, why would the interviewer have any confidence?I agree with this, mostly. You don''t know if you''re going to get an interviewer who will let your demeanor slide as long as your content is good. If you have to lie to yourself to feel confident, then start lyin''... to yourself, that is! Just do an impression of someone who is confident, and stop the impression after the interview''s over :)> > } The other things, is I get asked technical questions on C++ and > Java that > } I may be rusty on. Since I am focused on Rails, and that''s what I > have > } been studying, I feel I may be spreading myself a little thin. > Today I > } was asked what a virtual C++ destructor was, I blew that one as > well as > } why .h files where needed besides .cpp files, which I realized > within 5 > } minutes after the interview it''s because of linkage. I won''t get > these > } same answers wrong a second time of course. > > This is egregious. If you are applying for a position that requires > certain > skills, you had better be able to demonstrate your competence in those > skills. Being able to hold up your end of a discussion of virtual > destructors, pure virtual methods, duck typing as it applies to > templated > classes/methods/functions, what goes in header files rather than > source > files, when to inline methods/functions, how to use the C preprocessor > effectively, STL iterators, etc., etc. is necessary to demonstrate > your > competence in C++. If you can''t do that, you don''t *deserve* to get > a job > programming C++, period. Dedicate the time to developing and > polishing your > skills, because you shouldn''t expect to get a job requiring skills > in which > you are not competent. > > On the flip side, if you are unwilling to put the effort into > competence in > a particular skill (and this means a lot more than looking up the > answers > to questions you blew in an interview), don''t apply for jobs > requiring that > skill.This is needlessly severe, I think. Not knowing the answer to a technical question is by no means proof of incompetence. I''ve been programming professionally since the early 90s and i get hit with tons of questions involving stuff I have no idea about. The key is not to "fake" the answer, because people can always spot that BS a mile away. You have to emphasize that while you don''t know the answer right now, you know how to get the answer quickly and that''s the more valuable skill. Tell the interviewer you''re going to take reasonable guess at the correct answer, guess, then describe in detail exactly what you would do, where you would look to find the actual correct answer as quickly as possible. Every time I''ve handled a stumper question like that, it''s never been held against me. It''s important to convey that you know how to get answers fast, and that you''re genuinely, personally interested in learning answers to become a better programmer. In spite of doing that, if you still get dinged because you didn''t know an answer from memory, then odds are it would''ve been a shitty place to work anyway. My $.02! -Jason --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Fri, Jan 05, 2007 at 03:34:08PM -0800, Jason Frankovitz wrote: } On Jan 5, 2007, at 7:36 AM, Gregory Seidman wrote: } >On Thu, Jan 04, 2007 at 10:53:26PM -0000, surf wrote: [...] } >} The other things, is I get asked technical questions on C++ and Java } >} that I may be rusty on. Since I am focused on Rails, and that''s what I } >} have been studying, I feel I may be spreading myself a little thin. } >} Today I was asked what a virtual C++ destructor was, I blew that one } >} as well as why .h files where needed besides .cpp files, which I } >} realized within 5 minutes after the interview it''s because of } >} linkage. I won''t get these same answers wrong a second time of } >} course. } > } >This is egregious. If you are applying for a position that requires } >certain skills, you had better be able to demonstrate your competence in } >those skills. Being able to hold up your end of a discussion of virtual } >destructors, pure virtual methods, duck typing as it applies to } >templated classes/methods/functions, what goes in header files rather } >than source files, when to inline methods/functions, how to use the C } >preprocessor effectively, STL iterators, etc., etc. is necessary to } >demonstrate your competence in C++. If you can''t do that, you don''t } >*deserve* to get a job programming C++, period. Dedicate the time to } >developing and polishing your skills, because you shouldn''t expect to } >get a job requiring skills in which you are not competent. } > } >On the flip side, if you are unwilling to put the effort into competence } >in a particular skill (and this means a lot more than looking up the } >answers to questions you blew in an interview), don''t apply for jobs } >requiring that skill. } } This is needlessly severe, I think. Not knowing the answer to a } technical question is by no means proof of incompetence. You''re reading a little bit too much into it. Being unable to demonstrate competence is not the same thing as proof of incompetence. It is your job, as interviewee, to make the interviewer comfortable with your level of competence; this is more a matter of creating a perception than of actual competence. At the same time, being unable to create the perception of competence does mean that you won''t (and shouldn''t) get the job. } I''ve been programming professionally since the early 90s and I get hit } with tons of questions involving stuff I have no idea about. The key is } not to "fake" the answer, because people can always spot that BS a mile } away. You have to emphasize that while you don''t know the answer right } now, you know how to get the answer quickly and that''s the more valuable } skill. Tell the interviewer you''re going to take reasonable guess at the } correct answer, guess, then describe in detail exactly what you would } do, where you would look to find the actual correct answer as quickly as } possible. I agree with this 100%. If someone says, "Oh, yeah, I always have to look that up in my copy of Stroustrup. I just don''t use it often enough to remember it between uses," then I''d give him/her credit for demonstrating competence. It isn''t about memorization, it''s about being able to use the language leveraging a combination of one''s own experience and all the resources available to a modern developer (including books, Google, etc.). C++ is a huge, kitchen sink language, but even smaller languages (like Ruby) have twists and corners that we don''t use often enough to remember off the tops of our heads. Of course, you can only get away with that so many times in an interview. It isn''t unreasonable for a particular question to delve into parts of a language you don''t use regularly, but if a large proportion of the questions do then it is an indication that you don''t have that much experience with it (or recent experience, which is often indistinguishable in the eyes of an employer). } Every time I''ve handled a stumper question like that, it''s never been } held against me. It''s important to convey that you know how to get } answers fast, and that you''re genuinely, personally interested in } learning answers to become a better programmer. In spite of doing } that, if you still get dinged because you didn''t know an answer from } memory, then odds are it would''ve been a shitty place to work anyway. Absolutely. Also, a sufficiently technical interviewer (i.e. not just some guy reading off questions the tech guys prepared and marking down your answers) will generally be happy to educate you; if you actually don''t know the answer, ask the interviewer to explain it to you. Most people enjoy talking and feeling superior (not in a weird, antisocial way, it''s just ingrained human behavior), so this can be an opportunity for the interviewer to get a subconsciously positive feeling about the interview experience. It''s also an opportunity for you to learn something. } My $.02! } -Jason --Greg --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---