|
Aramoro posted:try deploying an enterprise application on WebSphere with notepad and tell me how far you get.
|
# ? Jun 11, 2012 09:04 |
|
|
# ? Jun 5, 2024 03:59 |
|
pigdog posted:Notepad in favor of IDEs.
|
# ? Jun 11, 2012 09:04 |
|
Every time I encounter someone who calls himself a programmer but has never heard of Unix, a little piece of me dies.
|
# ? Jun 11, 2012 09:09 |
|
het posted:You think the only alternative to an IDE is notepad? Not at all I was being flippant. IDE's are just a tool, like the language you're writing in is just a tool. And using the right tools for the job is important. quote:Every time I encounter someone who calls himself a programmer but has never heard of Unix, a little piece of me dies. You can use Vi if you like, but Unix WebSphere is even harder to get right.
|
# ? Jun 11, 2012 09:24 |
|
Markov Chain Chomp posted:Every time I encounter someone who calls himself a programmer but has never heard of Unix, a little piece of me dies. vim and emacs are just notepad for Linux, with the additional hassle of having to open an SSH session in PuTTY.
|
# ? Jun 11, 2012 10:41 |
|
baquerd posted:Just because someone doesn't want to spend a ton of spare time creating meaningful programs and putting them on github doesn't make them a bad programmer. I find it hard to believe that most people really have the mental energy to put in 8 serious hours of programming a day and then do more when they get home, there's such a thing as downtime afterall. I treat contributions to projects as a sufficient but not necessary indicator of programmer quality. The absolute best programmer I've ever worked with doesn't have a github account, doesn't contribute to any open source projects, and tells me he never programs after 5:00 because he'd rather be in his garden But as this is the newbie programming thread, the people who ask questions here don't have the years and years of experience he does. For them, I think Markov Chain Chomp is spot on - github dramatically lowers the barrier to writing meaningful code, which is IMO the best way to become a better programmer.
|
# ? Jun 11, 2012 14:21 |
|
If you don't have any experience and references (i.e. you're just coming out of Uni), github is your portfolio. Put some poo poo on it and link it from your CV. Make it your best work, be really fussy about getting the code perfect (this means pruning comments as much as it means adding them). You ought to be expected to replicate that standard of coding in an interview though. Also, screw any language that needs an IDE to be usable.
|
# ? Jun 11, 2012 15:28 |
|
Zombywuf posted:Also, screw any language that needs an IDE to be usable. I can't think of any language that 'needs' an IDE to be usable. But you'll be toiling to write much SPARK-Ada with out a set of tools to do it with for example.
|
# ? Jun 11, 2012 15:37 |
|
Zombywuf posted:Make it your best work, be really fussy about getting the code perfect (this means pruning comments as much as it means adding them).
|
# ? Jun 11, 2012 15:51 |
|
Markov Chain Chomp posted:Of course you try to catch stuff like that, but if your thesis here was actually correct, code reviews would also catch all bugs. They don't. Things slip through, even with a review process. I wasn't calling any specific person here a terrible developer, sorry if it sounded that way, but I agree that mistakes will inevitably sneak through the review process, and there will be bugs that creep in and can snowball over time. Ideally you will fix those bugs and misleading comments as you come across them. If you're forced to waste a fair amount of time figuring out how a chunk of code works, then you should be correcting and adding comments in there so that the next guy (or likely yourself again 2 months later) doesn't have to wrack their brains for more than a minute or two. I honestly haven't ever read a text or even heard someone say that comments aren't to be trusted before, unless it was in the context of using meaningful labels at the expense of overcommenting. I'm pretty baffled by a lot of what you're saying tbh, and I think it can be misleading for newbie jobhunters who might find themselves saying things in an interview that gets them cut because of it. I do think that setting up a github account is a great idea for someone without a lot of experience, since it can indicate a lot of good things. I don't think it's necessary however, since a shop that's going to want to make sure you can actually code, will have you code something small in front of them.
|
# ? Jun 11, 2012 17:40 |
|
Pweller posted:If you're forced to waste a fair amount of time figuring out how a chunk of code works, then you should be correcting and adding comments in there so that the next guy (or likely yourself again 2 months later) doesn't have to wrack their brains for more than a minute or two. You forgot "adding unit tests". Well-named and well-maintained unit tests are like super-comments. They tell you what the code is supposed to be doing and also confirm that it's doing what it says.
|
# ? Jun 11, 2012 18:20 |
|
My god, imagine if somebody started on your fizzbuzz question by writing a unit test.
|
# ? Jun 11, 2012 20:47 |
|
Yeah, that would be insane if you weren't doing TDD. I would write the unit test afterward, to make sure I did it right.
|
# ? Jun 11, 2012 21:07 |
|
Safe and Secure! posted:Yeah, that would be insane if you weren't doing TDD. I would write the unit test afterward, to make sure I did it right. I'd be impressed if someone TDDed a FizzBuzz-style question, honestly.
|
# ? Jun 11, 2012 22:03 |
|
Ithaqua posted:You forgot "adding unit tests". Well-named and well-maintained unit tests are like super-comments. They tell you what the code is supposed to be doing and also confirm that it's doing what it says. This is why Python's doctest is fantastic.
|
# ? Jun 11, 2012 22:32 |
|
Ithaqua posted:I'd be impressed if someone TDDed a FizzBuzz-style question, honestly. Yeah, if someone did that I would jizz my pants.
|
# ? Jun 12, 2012 00:45 |
|
wolfman101 posted:I would jizz my pants.
|
# ? Jun 12, 2012 01:04 |
|
Either they give a proper facial or no deal. Anyway... regarding comments. Comments generate rigidity in the program as they need to be updated every time you change the code, so the effort to keep them up to date (and they will get out of date) hinders refactoring, pretty substantially at that. Focus using them, as well as unit tests, on public interfaces, or to explain what the code is for at class level. Instead of comments, strive to make the code itself readable by using meaningful names, organizing code to methods that do one thing (and expressing that thing in the name), and perhaps less obviously make an effort to write good commit messages for your code. In a proper IDE you can turn on annotations to see the last commit message as well as commit history for every line of code in your project, so you can easily track the changes to see why any piece of code was written.
|
# ? Jun 12, 2012 08:20 |
|
pigdog posted:Either they give a proper facial or no deal. Another aspect is that comments aren't international - I have had to deal with codebases that are written entirely with Japanese comments and Russian comments before and frankly it wasn't obvious what to do with the comments in those languages (if we don't know what the comments in a section of code that we are changing mean, should we add our own comment that the original devs can't understand, do we delete the comment, do we use google translate to try to get across how trying to patch over a visual artifact bug?)
|
# ? Jun 12, 2012 15:30 |
|
hieronymus posted:Another aspect is that comments aren't international - I have had to deal with codebases that are written entirely with Japanese comments and Russian comments before and frankly it wasn't obvious what to do with the comments in those languages (if we don't know what the comments in a section of code that we are changing mean, should we add our own comment that the original devs can't understand, do we delete the comment, do we use google translate to try to get across how trying to patch over a visual artifact bug?) I've never had to deal with this and I'm curious- were the variable names based in English? How would a Japanese or Russian programmer do their job if they didn't know english, since the alphabets are different? I'm guessing that in order to be a programmer you've got to be familiar with basic english to ever get started in the first place, since all the major language syntaxes seem to be heavily based in english.
|
# ? Jun 12, 2012 18:09 |
|
Pweller posted:I've never had to deal with this and I'm curious- were the variable names based in English? That's why everyone should write every application in Piet
|
# ? Jun 12, 2012 18:13 |
|
baquerd posted:Just because someone doesn't want to spend a ton of spare time creating meaningful programs and putting them on github doesn't make them a bad programmer. I find it hard to believe that most people really have the mental energy to put in 8 serious hours of programming a day and then do more when they get home, there's such a thing as downtime afterall. Agreed. I consider myself a fairly successful software developer in the bay area. I just went through the interview process for a lot of big companies out here because I'm looking for a change. Know how many interviewers asked to see my github account? None. Know how many of the people I work with have github accounts? Neither do I, because I don't care what they do in their free time. You know what they did ask about in interviews? Previous projects I had worked on at my other jobs. If you're a fresh college grad who hasn't done any professional programming before, I can see how a github portfolio could be useful. Give people a sense that you're not completely green and know how to code, show you're passionate about it, that's reasonable. However, the mindset that some people have that I'm out of date or not cool because I don't have a github is dumb. The notion that I have to spend 50 hours a week coding professionally and then spend a significant portion of my free time coding recreationally seems ridiculous to me.
|
# ? Jun 12, 2012 18:30 |
|
So is it normal for interviewers to not comment at all about your coding test and just shove you out the door? No code review, just a "nah you didn't do what we asked, best of luck" I'm feeling like I wouldn't have wanted to work for that place if that's the attitude. When I get home (on the train now) ill post the problem for the program they asked me to write and I want to see what some of the pros in here would do with it.
|
# ? Jun 12, 2012 19:28 |
|
aBagorn posted:So is it normal for interviewers to not comment at all about your coding test and just shove you out the door? If your implementation was so completely incorrect or bad that you were disqualified as a potential candidate, then yes. I've shoved people out the door because I had poo poo to do that day and didn't want to waste any more time on an obvious no-go.
|
# ? Jun 12, 2012 19:53 |
|
Ithaqua posted:If your implementation was so completely incorrect or bad that you were disqualified as a potential candidate, then yes. I've shoved people out the door because I had poo poo to do that day and didn't want to waste any more time on an obvious no-go. Well then, I don't feel completely as slighted then. The gist of the problem was this: Bank X wants to play .wav files for numbers in their clients account balance (filenames were 0.wav-20.wav and then by 10s after, with "special wav files" like hundred, thousand, dollars, cents, cent, and 'and') They wanted an output of filename strings, delineated by a + sign, for all numbers (inputted in a text box) from 0.00-999,999.99. E.g. - if you put 4,532.23, the output label should read "4.wav + thousand.wav + 5.wav + hundred.wav + 30.wav + 2.wav +dollars.wav + and.wav + 20.wav + 3.wav + cents.wav" I'll admit my code was rough and had some pretty gnarly if statements but it worked. I was writing unit tests (well, I had just started them) when time expired (2 hours. Also within this 2 hours I had to build a multi table SQL database and a couple of stored procedures)
|
# ? Jun 12, 2012 20:12 |
|
I try to pass on feedback for the internal recruiters to give to unsuccessful candidates, but half the time I end up really having to struggle to find something positive to say. If someone fails the test we're certainly not going to spend time on them going through an awkward code review. It's bad enough when you go in to interview someone who just scraped the test and you know within 5 minutes it's a no.
|
# ? Jun 12, 2012 22:02 |
|
Milotic posted:I try to pass on feedback for the internal recruiters to give to unsuccessful candidates, but half the time I end up really having to struggle to find something positive to say. If someone fails the test we're certainly not going to spend time on them going through an awkward code review. It's bad enough when you go in to interview someone who just scraped the test and you know within 5 minutes it's a no. Ah. Just a simple, "you should have gone with xx data structure" or "you shouldn't have put this into an array" even, would have at least sent me home with some info to look at SO or google or whatever and try to better myself. Eh, it's in the past already. Can't dwell.
|
# ? Jun 12, 2012 22:06 |
|
aBagorn posted:Well then, I don't feel completely as slighted then. How did you go about implementing it? And why did this require a database?
|
# ? Jun 12, 2012 22:12 |
|
Ithaqua posted:How did you go about implementing it? And why did this require a database? The database was a different question, within the same time limit. I made an array of the numerical filenames and an array of the placeholder filenames. They wanted me to use a method with a string input parameter that returns the string for the output. They had it set up like this, and I didn't change the original methods: C# code:
So I used some a switch based on input.length to determine where to place the placeholder filenames. I then used Int32.Parse() on the elements in input.ToArray() and matched values to my numerical arrays. I then concatenated a string with string variables based on the statements.
|
# ? Jun 12, 2012 22:24 |
|
aBagorn posted:Well then, I don't feel completely as slighted then. They are essentially looking to see if you do that, and then also if you account for the fact that x<19 have unique names for x. When I had this question asked it was with another engineer, who probably realized my code wouldn't compile if transferred onto a computer but he understood that I knew what problem he was asking me. Also not sure why you'd spend much time on unit testing (unless of course they asked about it), since you can just explain what test cases you would write when asked. Edit: Based off reading your solution, why did you have "gnarly if statements?"
|
# ? Jun 12, 2012 22:28 |
|
Strong Sauce posted:Edit: Based off reading your solution, why did you have "gnarly if statements?" I guess, thinking it over, it didn't. Just 2 levels nested deep (for those "teen" numbers where I couldn't just have it go '20.wav + 9.wav' and had to make it do 19.wav. Had to do that kind of thing twice (once for the numbers in the tens+ones place, once for the number in the ten thousandths+thousandths place)
|
# ? Jun 12, 2012 22:36 |
|
aBagorn posted:I guess, thinking it over, it didn't. Just 2 levels nested deep (for those "teen" numbers where I couldn't just have it go '20.wav + 9.wav' and had to make it do 19.wav. Had to do that kind of thing twice (once for the numbers in the tens+ones place, once for the number in the ten thousandths+thousandths place) Here's how I did it, although this is my 15 minute braindead implementation. There's probably a better way that would pop out at me if I gave it some more thought. Of course, it crashes and burns magnificently if the number isn't formatted with commas. C# code:
New Yorp New Yorp fucked around with this message at 23:30 on Jun 12, 2012 |
# ? Jun 12, 2012 23:26 |
|
Ithaqua posted:Here's how I did it, although this is my 15 minute braindead implementation. There's probably a better way that would pop out at me if I gave it some more thought. And that is why you are a professional developer and I'm struggling to get a job. I took over an hour and my result wasn't nearly as elegant. Edit: As far as comma breakability, you could split the string only at the decimal point, and then when you are parsing the [0] substring, you can check for any commas and throw them out and then check string.length and work it that way, yeah? aBagorn fucked around with this message at 01:12 on Jun 13, 2012 |
# ? Jun 12, 2012 23:47 |
|
aBagorn posted:And that is why you are a professional developer and I'm struggling to get a job. I'm guessing C# has some substring replace function? You just remove all the commas. Most of the time though the person asking the question won't care and will just tell you that all input will be a string representing any positive real number.
|
# ? Jun 13, 2012 02:02 |
|
aBagorn posted:Edit: As far as comma breakability, you could split the string only at the decimal point, and then when you are parsing the [0] substring, you can check for any commas and throw them out and then check string.length and work it that way, yeah? Perl code:
kitten smoothie fucked around with this message at 02:13 on Jun 13, 2012 |
# ? Jun 13, 2012 02:10 |
|
edit: nm, I'm blind
pigdog fucked around with this message at 13:41 on Jun 13, 2012 |
# ? Jun 13, 2012 13:38 |
|
What's the deal with skills sections on CVs? I understand that generally this is a no-go but I feel that often the CV becomes the first screen when you apply for a job so if you mention all your skills in your cover letter then you might get dumped straight away before they even get to your cover letter. I currently have a skills section but I'm not very happy about it. I am a recent grad so I was thinking maybe a list of the papers I did would be better than a general skills section. Thoughts?
|
# ? Jun 18, 2012 00:17 |
|
I see both Skills and Publications quite often on resumes from interviewees in your general situation. I haven't seen a resume yet that doesn't have a Skills section at all though. Why is it considered no-go?
|
# ? Jun 18, 2012 03:34 |
|
csammis posted:I see both Skills and Publications quite often on resumes from interviewees in your general situation. I haven't seen a resume yet that doesn't have a Skills section at all though. Why is it considered no-go? I might be mixing this thread up with one of the IT regarding skills sections not being great. Do you have any links for an example of a skills section done well?
|
# ? Jun 18, 2012 06:43 |
|
|
# ? Jun 5, 2024 03:59 |
|
Red_Fred posted:What's the deal with skills sections on CVs? I understand that generally this is a no-go but I feel that often the CV becomes the first screen when you apply for a job so if you mention all your skills in your cover letter then you might get dumped straight away before they even get to your cover letter. One thing which might matter is I've never applied for a job directly with the company, always gone though agencies. A Skills section will help an agency find you a position and then tailor your CV to that position. An agency will be specialist IT recruiters but they probably won't have the knowledge to decipher your paper titles into the fact you have Java or Embedded software skills. Quite often your CV will never make it to the client, the agency will reformat it for you, so ask the agency for a copy of the CV they sent.
|
# ? Jun 18, 2012 09:56 |