Computer Science as an fart.



  • I always wanted the level of respect art majors achieve.


  • Winner of the 2016 Presidential Election

    Not quite at the level of spec work yet. At least this can be passed off as portfolio+networking, which is reasonable. Unlike some other things, to which the artists have an excellent response:
    Mike Monteiro: F*ck You, Pay Me – 38:40
    — CreativeMornings HQ



  • Programming requires both science and art skill.

    If the art part is weak, your UI and UX will likely have problem. If the science part is weak, your program will have performance problem, buggy or just won't run.

    So yeah, I have no problem for certain university to have BA in Computer Science. (I heard they have changed to BSc in Computer Science though)



  • Btw, why StackOverflow? There are thousands of computing related forums and people's effort spent there don't count?



  • @cheong said:

    Btw, why StackOverflow?

    Because StackOverflow has easily countable internetpoints that even a HR person can understand. </cynical>



  • How about MSDN forums? The site exist far earlier than SO but their point is something that HR cannot understand? </joke>

    And btw, where is the previous advice on bloging technical articles? Seems the career advices seldom mention it these days.

    I think Google has added function to query for now many related thesis "mentions" in thesis found. Don't know if they ever interested to add function to show number of mentions in search results for blog posts.



  • What exactly does SO and Github say about you as a developer. You're going to spend all day on those sites instead of working. Also what does it say about... Oh I don't know! working to fucking deadlines and fixing bugs in a timely fashion?

    *Edit : If you're straight out of college I can see how it would be useful but when you're interviewing for someone with over 5 years experience are you really going to look at github accounts and SO questions.

    @cartman82 You regularly interview people. any thoughts?



  • @Dreikin said:

    Fuck You, Pay Me

    Has this guy been hanging out with @Lorne_Kates?



  • @cheong said:

    I think Google has added function to query for now many related thesis "mentions" in thesis found. Don't know if they ever interested to add function to show number of mentions in search results for blog posts.

    Quite a few theses end up in Google scholar, where they do track citations. I don't think most theses (espeically BSc or MSc) get a lot of (or any) citations, though, so I'm not sure if that was what you referred to.

    For everything else (papers, ...), Google scholar tends to give a rather favourable estimate of the number of citations. It also find the weirdest places people cite things, so it's not exactly surprising.



  • Yes, that's what I mean. :smile:



  • @DogsB said:

    If you're straight out of college I can see how it would be useful

    Actually I doubt SO reputation advice has any use for students as well.

    Given how the site users currently give votes now, if you're university freshman and register SO account now, I doubt you can get any level of reputation of any use when you graduate.



  • Why is SO and github activity important for your career?

    @DogsB said:

    @cartman82 You regularly interview people. any thoughts?

    This is why.

    I only interviewed 3 people in my life. But each of them turned into a public spectacle, that many TDWTF-ers fondly remember. So suddenly, I'm like an interviewing expert around here, with forum members specifically @calling me out for my "insight".

    I bet there are TDWTF-ers who did dozens of interviews, over many years of their career. Who have much more experience (and funny stories) than me. But do you see them called out? No, because they did their work in private. No funny threads and screenshots for them. Therefore, their expertise languishes in obscurity, while loudmouths get all the glory.



  • So no insight to impart?

    I called on you because that you once alluded that you look for it and would like to hear your reasoning.

    @cartman82 said:

    Therefore, their expertise languishes in obscurity, while loudmouths get all the glory.
    The system works!



  • @DogsB said:

    So no insight to impart?

    I called on you because that you once alluded that you look for it and would like to hear your reasoning.

    Basically, with SO and github, I have proof you did work and I get to see it.

    All those heroic stories about meeting deadlines and tricky bug fixes are just stories. You could truly be the company hero, or you could be one of those guys who sits back and takes credit for other people's work. No way to tell.



  • If you're one of these technical people who have experience on the technology they're talking about, usually pressing a bit and you'll figure out whether it's just tales (i.e.: made up stories) or not.

    If you don't know the technology... well, it'd be difficult to tell if it's just pulled copy of other's Git repository with a few harmless random changes.

    On the other hand, at least someone will verify whether the "answer" makes sense on SO, although for some strange reason, both of the times I reply in SO, they tends to vote up the paid (i.e.: non-free) solutions and actually voted down my suggestion to use built-in mechanism of Windows.



  • @cartman82 said:

    Basically, with SO and github, I have proof you did work and I get to see it.

    I see this as similar to what applying to college has turned into, at least at top schools. There's a lot of competition, so you have to do something to stand out. Well, I say "have to," but that's just to get into the most desired positions.

    In particular, this stuff is just a public display of experience.



  • @cheong said:

    If you're one of these technical people who have experience on the technology they're talking about, usually pressing a bit and you'll figure out whether it's just tales (i.e.: made up stories) or not.

    A charismatic ignoramus can talk their way around such situation, whereas a socially awkward but competent coder might stumble. The interview situation is just too different from day-to-day work of software engineering. That's why it consistently fails to pick the best candidate.



  • I'd actually lend more credence to a candidate who does not use StackOverflow or GitHub.



  • @cheong said:

    Given how the site users currently give votes now, if you're university freshman and register SO account now, I doubt you can get any level of reputation of any use when you graduate.

    I know I'll never get any points on it, because I have the audacity to actually ask difficult questions that take more than 36 nanoseconds to answer, and thus they never get answered.



  • @cartman82 said:

    Basically, with SO and github, I have proof you did work and I get to see it.

    Right; and if the work is on BitBucket or ExpertsExchange you're just fucked!!!!!

    Look, if you're just giving general advice like, "do work and make it public so people can find it", well, ok. Fine. But recommending THOSE SPECIFIC SITES, both of which are EXTREMELY broken in various ways, is just retarded.

    I mean, what are you getting if you hire someone who uses GitHub not because they have to for work, but because they actually like it? You're getting some pathetic basement-dweller who thinks Git is the apex of usability and loves nothing more than writing out a long document in Markdown. Is that really who you want for your company? Would that person produce a product you could be proud of shipping?

    What do you get if you hire someone who does StackOverflow as a hobby? You get an employee who values easy shit over difficult problems. You're getting a person who's motivated almost entirely by external forces (he'll need constant reinforcement). You're getting a person whose social interaction is based almost solely around annoying "um, actually,"-type responses. Is that what you want? Hell no.



  • @cartman82 said:

    A charismatic ignoramus can talk their way around such situation, whereas a socially awkward but competent coder might stumble.

    If someone is so socially-awkward they can't explain the technology they are an expert in, you don't want to hire them.

    This job is 99.9% communication. And something like 75% of that is communication with other humans. THAT IS THE IMPORTANT JOB SKILL.

    @cartman82 said:

    The interview situation is just too different from day-to-day work of software engineering.

    That I agree with.



  • @blakeyrat said:

    I mean, what are you getting if you hire someone who uses GitHub not because they have to for work, but because they actually like it? You're getting some pathetic basement-dweller who thinks Git is the apex of usability

    No, you get someone that can read technical documentation and actually understand the tool they have to work with. Not like some others that can't be bothered to try to understand the tool they need for their work.


  • Winner of the 2016 Presidential Election

    @TimeBandit said:

    you get someone that can read technical documentation

    This is true. You know that anyone who's managed to get anything done in Git has read through some of the worst documentation ever, and worked out enough of the awful interface to soldier on. If all they've done is commit some code through TFS in VS then the only thing you can judge them on is the quality of that code



  • @DogsB said:

    Oh I don't know! working to fucking deadlines and fixing bugs in a timely fashion?

    The advice was to meet potential programming teams there.

    As if,

    Programming teams have the hiring say.

    And that you owe your programming team free stuff in order to impress them.

    This is a step backwards, not forwards, in professionalizing our field.

    @cartman82 said:

    while loudmouths get all the glory.

    This advice definitely seems to bias the experience space to hipsters.

    90% of my job is working a job, not actually programming anything. Hipster points with programming teams is not really my thing. You'll just end up in a hipster team. And hipster teams produce good quality stuff... that doesn't meet a real need. So, hipster teams fail in business.

    Look, we aren't doing agile because it's cool, but because it's better than anything else. We're trying to increase the professionalism of the field to the respect that engineering gets.

    So far we're only showing how immature we are.

    @boomzilla said:

    There's a lot of competition, so you have to do something to stand out.

    Yeah, you could waste your professional energy on that.

    Or you could go to a lesser school, get a job, and prove useful.

    God, I hate the education system. It's a weaksauce replacement for offering jobs based on merit, and working up a career. And it actually produces terrible employees. Like I said before, 90% of my job is just being a job, only 10% is actually the skill that produces my work output. So, schools are only training people for 10% of their work experience, and they're failing at that.

    Nothing about a personal project is useful in a work environment.

    I suppose, if you formed a team and worked on a charity code challenge for a long duration, that required getting requirements, negotiating fulfillment, and executing, with a review that showed accountability. Maybe that would be a good portfolio for what's really needed in the job market.

    But GitHub, convincing someone to take your pull request.... doesn't emulate the real work environment at all.

    @blakeyrat said:

    Would that person produce a product you could be proud of shipping?

    I used to think like this, and then I realized it's never about being proud of shipping it, but being profitable in shipping it.

    Yeah, that offends the artsy programmers, and yes you have to balance against ethics. But our ethics almost end at religiously acquiring programming requirements.

    Very rarely do our customers actually heed our advice, and treat us as experts on how a system works.

    But I suppose this is true for a lot of work. I imagine being a handyman and being asked to literally hang an island in the kitchen,

    umm... there's no good way to support a hanging island
    screw you, I want it

    @blakeyrat said:

    This job is 99.9% communication. And something like 75% of that is communication with other humans.

    Yeah, I've come to that conclusion as well.

    But you only really need a few of those.

    I think the best is to have a balance of highly skilled technical people, and people with 50/50 technical social.


  • Discourse touched me in a no-no place

    @Jaloopa said:

    You know that anyone who's managed to get anything done in Git has read through some of the worst documentation ever

    I beg to differ. Doing anything with running a CA using OpenSSL is definitely worse documented…



  • Ok, I give up.

    When the word privilege shows up, I know I'm dealing with airheads.

    I wonder if this guy watched "The Pursuit of Happyness"


  • :belt_onion:

    Too much point on StackOverflow is a negative IMO, but GitHub (and OSS in general) is perfect to see how the candidate codes when not under stress.
    I do not think employers want to keep their software engineers under constant stress, so coding under stress of interview is not testing under working condition. If there is no OSS contribution, there must be more coding questions but interviewer must leave the room and give enough time.
    This is when you want to hire a professional, if it is a junior level that you want then a different method could be better.



  • @dse said:

    This is when you want to hire a professional, if it is a junior level that you want then a different method could be better.

    I'm actually arguing the opposite.

    You use SO and GitHub, single person pet projects, in lieu of work experience.

    A professional shouldn't be judged by what they do on GitHub.

    That's like 1/10th of what a professional does.

    For example my current project.

    1 day determining which process to alter, there are multiple versions of the process used by different clients.
    2 hours determining whether backwards compatibility is possible.
    1 day gathering, and reconfirming project requirements because there were inconsistencies between new requirements and old requirements. A new parameter was supposed to be AND filtered with old parameters, but old parameters were OR. Double checked whether the client really wants to AND all parameters and whether they understood what that meant.
    2 hours actually programming, 2 hours testing and tweaking.
    1 day figuring out how to clone the project and through source control so it's a new process, and configure it to work with the system.

    So, that's 4 hours out of 4 work days, actually dedicated to coding the change.


  • Discourse touched me in a no-no place

    It misses out the 4 weeksmonths of meetings required while you try to find out that there is something wrong in the first place and sort out whether you are authorised to actually fix the problem at all.



  • @Jaloopa said:

    If all they've done is commit some code through TFS in VS then the only thing you can judge them on is the quality of that code

    And imagine, maybe some of that code even solves real-world problems! Those slackers!



  • Yes, this was after it landed in my hands, the actual programmer for the job.

    Before that it was a customer that wanted their custom change ported to the new version, discussions about that, tons of meetings, a contract made, etc.

    Turns out it's good I clarified the requirements, because after I noticed the discrepancy, the client changed their mind.

    Show me where this happens on GitHub or SO?


  • :belt_onion:

    In that case you should do due diligence then hire him for a month.

    @xaade said:

    A professional shouldn't be judged by what they do on GitHub

    Absolutely right, but if you see a professional on a medium to big size GitHub project that you can go back in history and look at the patches and then read PR and issue that resulted in PR that would at least make sure he can code properly. I have done one mistake in hiring and that was to hire a non-coder. As long as one can code the rest can be learned. No one will know what you know about your business better than you, so it does not make sense to expect them otherwise.



  • @dse said:

    As long as one can code the rest can be learned.

    Disagree.

    The rest can be learned to a degree, but that doesn't mean they'll be proficient at executing it. And it's also very.... meta, so it's hard to teach that stuff. It takes skill to perform the tasks surrounding coding, and often times people just don't get it.

    Sure if you're just thinking about source control, that can be very checklist procedure foolproofed, but not always. As one can see @blakeyrat is having a hard time with it, but from the glimpses I get past (blaarararagggg), I can tell their team is not implementing it in a straight forward fashion. Which means even source control can be botched by a good team of coders.

    Or, do you think everyone can be a project manager?

    Because, our job is to be our own mini project manager.



  • @dse said:

    As long as one can code the rest can be learned.

    Google has a ton of people who can code, they don't have a single person who can make their login system easy to use or understand.



  • Not only that, but one is forgetting that this GitHub and SO experience is filtering out tons of failures.

    Fail to produce code that can be pull requested?

    Do you show that to your team of interest?

    Fail to produce a good answer?

    I'm not against learning, and making mistakes along the way. But there are plenty of high rep people on SO that gamed the system by spamming the crap out of it, and deleting the answers and questions that failed.


    I'm just not convinced that one's interactions with GitHub / SO is faithfully portraying their skillset, or is adequately preparing them for a real workplace. And given the leetist attitudes, and hipster culture of it...

    My other concern is that anyone should expect this to be the way to land a professional job as a programmer.

    It seems a step back from formal education, which is only necessary because formal education failed so bad.


  • :belt_onion:

    @xaade said:

    Or, do you think everyone can be a project manager?

    No. But there is a reason to actually interview the person and look at what is called a track record.
    I never said being an active OSS developer suffice. It will just give clues that is otherwise never possible. Some times spending enough time in the issue tracker can even give you a clue as who is the manager and who is an ass.

    @blakeyrat said:

    Google has a ton of people who can code, they don't have a single person who can make their login system easy to use or understand.

    I do not know if this is the case, but if it is so they should also hire someone who understands UI design.

    I am horrible at UI design, all my GUI usually end up looking like an airplane panel with all the knobs in the one big dialog. That is why I prefer writing command line programs. Fortunately I never write apps or UI, it is best left to someone who understands UI (an actual designer) to sketch them for app developers. Even then you should test by hiring some elderly clicking and look what they do over their shoulders, see if it is discover-able, ...



  • @blakeyrat said:

    solves real-world problems!

    what? who would want to solve real world problems?
    that's not pure



  • @dse said:

    I do not know if this is the case, but if it is so they should also hire someone who understands UI design.

    They don't perceive a need for someone who understands UI design, because nobody even remotely involved with the team even slightly understands UI design.

    This is a problem that could only occur for a company that does the majority of its hiring via logic puzzles on billboards.

    @dse said:

    Even then you should test by hiring some elderly clicking and look what they do over their shoulders, see if it is discover-able, ...

    Yes, well, it's obvious Google has never even thought about that.



  • The worst sin of it, in my mind...

    In essence, it's reverse-mentorship.

    Where you have to be a good mentee to get ahead, and you're expected to just understand the concepts needed to make a clean coder, without having any mentoring or guidance along the way.

    We've relied on cult programmers for way too long to prop up how we expect programmers to learn and grow.

    And it's creating a lot of programming anti-patterns.

    Which have evolved into professional anti-patterns, like I've noting right here, in this tweet in the OP.

    Expecting good programming to be emergent in a distributed community environment, is a professional anti-pattern.

    Hell, I've learned more from listening to Bjarne Stroustrop than I have interacting on SO.



  • @blakeyrat said:

    Google has a ton of people who can code, they don't have a single person who can make their login system easy to use or understand.

    Well, if you're looking for such person by browsing through Github projects, prepare for disappointment.

    Problem is, evaluation based on a Github repo misses a lot of important things. Will this guy follow the business requirements even if they're less than sane? Will he try to rewrite the whole 10-year-old codebase in Node because he thinks that's the future? Will he try to skimp on bug fixing so that he can have fun writing in new cool features? Many Github projects are one-man-band, so is the guy even able to work in a team?

    Unlike for an artist, where being able to do good, aesthetic drawings is like 90% of the job, for a coder simply writing working code is a baseline, not a perk.


  • :belt_onion:

    @blakeyrat said:

    They don't perceive a need for someone who understands UI design, because nobody even remotely involved with the team even slightly understands UI design.

    I actually like GMail UI a lot. But I like vim too.

    @blakeyrat said:

    This is a problem that could only occur for a company that does the majority of its hiring via logic puzzles on billboards.

    logic puzzles is similar to StackOverflow, it results in one-trick ponies who write the perfect 10-liners to do a simple task. I bet most of these expensive contractors we read stories about them here come from that background.

    But what do you suggest is a better approach? how do you test for it?
    Perhaps anyone that will work on UI (and has no good OSS UI track record) should be hired conditionally for a month. I think you begin to like the OSS method :)



  • This is what I'm trying to say by this whole post.

    Wow.... my communication really sucks.


  • :belt_onion:

    @Maciejasjmj said:

    Unlike for an artist, where being able to do good, aesthetic drawings is like 90% of the job, for a coder simply writing working code is a baseline, not a perk.

    It is the most important one, or you have never had to deal with non-coders.

    @Maciejasjmj said:

    Problem is, evaluation based on a Github repo misses a lot of important things.

    Ok, but it is better than not looking at it and missing the real-life project contribution. Now if it was not GitHub and instead you could read the internal project management logs (and VCS) of your candidate at his previous job, would you simply refuse to look? seriously?



  • @dse said:

    But what do you suggest is a better approach? how do you test for it?

    That's just the point.

    We've developed a society where no one is interested in training people in soft business skills that are needed to prop up the hard technical skills.

    And then we're suprised that programming is an immature field, that schools have lackluster degrees, that programmers can't even program FIZZBUZZGIZZ. That we have hipster culture on Github being pushed as a way to find a job, when that's not even barebones skills needed for a real business programming job.

    @Maciejasjmj said:

    Unlike for an artist, where being able to do good, aesthetic drawings is like 90% of the job, for a coder simply writing working code is a baseline, not a perk.

    No one wants to invest to develop programmers beyond programming artistry.

    And thus we're still an immature field.


    We're often compared to engineering.

    But you know what. My friend graduated with a mechanical engineering degree, was hired on for a reasonable starting salary. And then proceeded to watch.... for at least 2 years. Just follow a guy around and watch, and be mentored.



  • @dse said:

    I actually like GMail UI a lot. But I like vim too.

    I'm not talking about Gmail which is... well, not good, but not godawful either.

    I'm talking about the confusing mass of login confusion. Where you have like 57 accounts by just being a normal user, but it's like 2 of them are your Gmail accounts and then 2 of them are like Google+ accounts that got auto-created at some point by some process, then there's one that's a YouTube account and it has a Google+ account also and then you go to use YouTube and it asks what account you want to use it as but it lists your Gmail accounts as well as your YouTube accounts (but does not list the YouTube account you share with a friend unless you logout and back in) and...

    Basically it's a HUGE FUCKING MESS.



  • Whereas single sign on (SSO) is a solved problem.

    It even works for websites. My windows authentication for my company gets me into their box site.



  • @dse said:

    It is the most important one, or you have never had to deal with non-coders.

    Yes, but it's still a baseline. There are lots of important skills above that.

    @dse said:

    Ok, but it is better than not looking at it and missing the real-life project contribution.

    My GH repo consists of college projects thrown together in an afternoon and hasn't been touched in a year. The other guy has a bunch of beautiful Node projects he's done by himself which do $random_amazing_things.

    And yet I'm still a better hire (well, for the purposes of this discussion), because I spent the last year writing solid code that the employer won't see because it belongs to my current company, being a part of good programming team (well, again for the purposes of this discussion) and simply didn't want to spend my energy on OSS projects when I could spend it for my employer's benefits instead.

    While the other guy's code doesn't work on Thursdays and he can't be arsed to fix that.


  • :belt_onion:

    I see that now, yes this could happen too. There should be still coding questions and presentation (screen-shots, ...), a ninja will be able to compensate for it. At the end it is hard to get the best and gut feelings sometimes is the best indicator.
    From the perspective of the hiring employer it is costlier to get a non-coder or worse (an impostor or an ass) than hiring a C+ instead of an A. Every team needs at least a few A/A+ in the team, but the rest can be less than A and it will still work out fine.

    I was directly involved in hiring a non-coder, it is bad because you do not want to fire them for different reasons and it is costly because it occupies one good position. But in the previous job I was involved in hiring an impostor and it cost us lots of money and wasted time.



  • Well, I'm not an interviewer, but if your code review practices are sane and you don't put new hires on business critical problems, then ending up with Paula Bean on your team shouldn't cost you more than two weeks worth of pay?

    Plus if someone was previously employed for some period of time and wasn't fired with a boot on his ass, it should not be a real risk.



  • @Maciejasjmj said:

    but if your code review practices are sane and you don't put new hires on business critical problems

    Businesses don't want to be responsible for developing professionals.

    They expect that professionals can be baked in an education environment.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.