Jump to content

Call for Coders 2017

I am baffled by the choice for NodeJS as a backend if you ever hope to scale at large. As someone who works with systems that process billions of requests daily I could never imagine doing that with Node. I've used Node before, its great for small scale applications you want to get done quick but is there something I am missing that seems to make Node that much more appealing? 

 

I mean heres to hoping it works out for them in the end but it feels like the technologies picked were the ones to get an MVP and not to scale.

Link to comment
Share on other sites

Link to post
Share on other sites

My 2 cents:

I'm baffled by the amount of hate NodeJS is getting for scalability. I mean sure there'll always be some shiny new/better/more scalable platform out there that will perform 2-20x better than NodeJS; but is it really worth the headache when you run into some niche problem because you're using a framework that hasn't fully matured and hasn't been adopted by a large enough user-base to catch & fix all the issues?

Also, there seems to be a lot of arguing about what tools to use instead rather than actually working towards figuring out how best to utilize the tools that have been provided & are already being used. Sure there's so many other ways this could've been done and sure you can attempt to prematurely catch & fix the many possible issues with language/framework x; but surely it's more important to actually see the work through and improve upon it rather than actually arguing the countless possibilities?

Unfortunately I'm still a beginner when it comes to developing extremely large scalable systems, though I do enjoy using NodeJS for what it's worth. I would agree that you shouldn't be doing huge complicated tasks with it, but then in those circumstances you should be forking out sub-tasks/jobs in other languages (C/C++) or applications (ffmpeg) which are more suited for the task.

Link to comment
Share on other sites

Link to post
Share on other sites

Once you guys need an Android and iOS developer to write the apps to consume your web service hit me up! :)

Link to comment
Share on other sites

Link to post
Share on other sites

55 minutes ago, ewalker said:

I am baffled by the choice for NodeJS as a backend if you ever hope to scale at large. As someone who works with systems that process billions of requests daily I could never imagine doing that with Node. I've used Node before, its great for small scale applications you want to get done quick but is there something I am missing that seems to make Node that much more appealing? 

 

I mean heres to hoping it works out for them in the end but it feels like the technologies picked were the ones to get an MVP and not to scale.

 

1 hour ago, iNyx said:

I filled up the the forms and I think I'll waste their time, being quite busy already and being in Argentina not being able to move there may not be what they're looking for... so ignore my postulation! (José Sachs is my name).

 

I wonder what frontend framework will be used... the rank may probably be like this for them

  • React
    • This is the most popular one right now, specially because Facebook is behind the framework. However, is not based on any standard what so ever. For me, writing JSX is a step backwards.
    • React is used in really big sites like Netflix, Hulu, WhatsApp Web, parts of Facebook, Vimeo and maaany others.
    • Quite a lot of tutorials for it, since the community is large at the moment.
  • Vue.js
    • Also uses Virtual Dom like, becoming popular because of it's lightweight but somewhat powerful
  • Angular 2 (this is way too "over engineered", too bad)
    • Backed by a team of Google I think it's their biggest flaws, they had a incredible big community and backstabbed many by going in a complete different route with over-engineered features, too much that their template syntax is a bit overwhelming at first.
  • Polymer
    • Also backed by Google, this is the only library/framework I've see them using the most. YouTube Gaming, Play Music and many many other Google services uses Polymer and it's really good material design components.
  • Aurelia
    • It's really "out-of-the-way", basically you end up writing almost vanilla ES7 code with less than a line of framework boilerplate.
    • It's based on web standards and they are devoted to keep it that way, so you can learn and use what you've learnt in the future.
    • This is the one I personally use everywhere, at work, personal projects, etc. The reason? Well, it since it stays out of my way I'm really productive, maintenance is awesome and painless because of the bauty of ES7 and not a single line of framework junk I've to remember.
    • Also another reason to use it, a LTT viewer usually contributes to it on GitHub (me! :P, maybe other I don't know)
    • I've a bunch of APPs and websites already on production made with it, so I can say it's very stable, ok... I know, all the others are stable.... I just wanted to throw it out there 

And well, for NodeJS there are not so many but the good ones for APIs are either Express, restify, Koa (made by the dudes behind Express, it's basically the new and next "express") and not much else.
For media transcoding... well, in my case I coulnd't find something magic that solves it. Gotta code that on your own (not all tho)

 

Why I posted this? I don't know.

Nice analysis. 

Link to comment
Share on other sites

Link to post
Share on other sites

Unfortunately it appears most of the discussion is around the choice of technologies they appear to be using. We all have our favorites. I'm more concerned with the project plan itself. It's obvious that they want to build a video platform like Vessel.

 

How many job openings are there? Sounds to me like they currently have two (maybe three) people who can code. You'll need more than a handful of coders. And that brings me to my second point.

 

Please be more realistic about requirements. We're all used to seeing and deciphering the over-bloated requirements most commonly seen on job boards. It's much harder to stomach when we have Luke personally delivering them.

Link to comment
Share on other sites

Link to post
Share on other sites

I'd love to help out and volunteer a bit. But as a 15yo in Australia, that might not be easy... :P I would consider myself pretty proficient in NodeJS/Javascript though. Websockets, not so much, but hey, learning opportunities :D

Link to comment
Share on other sites

Link to post
Share on other sites

9 hours ago, nicklmg said:

Submit your application: https://goo.gl/forms/7DkgeTvCRxKbTnPM2

 

We're building something awesome, and you could be a part of it. Let's take over the galaxy together.

 

 

Guys  (and I use the word on purpose) I filled out the form.  But... two things:

 

1. Node. For everything? Really? Another poster has eloquently described why other architectures would be more scalable. He's correct. Is there a reason you wouldn't choose React, or Polymer, or even Angular for  one scalable fast app to rule them all?

 

2. I'm not sure the video could have seemed more *unconsciously* misogynistic if you had actively tried for that effect. Really.

 

It's pretty obvious that the entire team is currently sporting at least one Y chromosone. Your presentation makes it clear that the idea that a really great developer might be gasp-- female --is very much an afterthought. And it's an afterthought stated in the subjunctive tense. Why not extend your range (and avoid lawsuits) by consciously seeking an awesome coder with two Xs. 

 

It doesn't have to be me, although my 16 y.o. son would be thrilled if I got an interview. I:

- am good at working with remote teams, and know how to create and maintain distance work relationships

- am a documentation guru

- am a CMS SME (SharePoint. Sad!)

- recently spent the best part of a year writing NG SPA

- have experience making accessible beautiful and user friendly, accessible GUIs 

- know something about architecting layered db-based apps

 

Can I show you this work? Nope. It's classified. Which is yet another reason I want to work elsewhere. 

 

So, anyway, you won't hire me. But maybe, just maybe, you'll redo the video so it says you're seeking an awesome coder,  not just an awesome guy. Think about it.

 

Link to comment
Share on other sites

Link to post
Share on other sites

I really hope this works out and would like to get progress updates.  Maybe every Friday (or two) you guys could give a report on how things are going (new features etc)?

 

I don't think my coding skills would be right for this project but I do have a tip.  Make sure to log user statistics as well as video play statistics.  Having statistical data on the users like how often they log in, how long they log in for, where they log in from, how long they watch videos, how often they comment, whether their comments are unique and not just spamming the same messages etc...  That is important information to know when keeping spammers out and can make maintaining what could be a large user base much easier.  Just a tip, though. ;)

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, TheReturningVoid said:

I'd love to help out and volunteer a bit. But as a 15yo in Australia, that might not be easy... :P I would consider myself pretty proficient in NodeJS/Javascript though. Websockets, not so much, but hey, learning opportunities :D

 

Pretty impressive being that young. :)

 

Honestly, I believe linustechtips can use a lot of people who have skills in a certain key area and project managers could define a "clearly defined set of requirements" to guide the developer.

 

That would be a better approach to reduce the costs for the team by having project managers defining a very limited scope of requirements for each contributor. It's easier to manage that way.

 

Keep up the pursuits of programming. If you start out that young and consider yourself proficient then that's an excellent start to great career.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Hilary said:

Guys  (and I use the word on purpose) I filled out the form.  But... two things:

 

1. Node. For everything? Really? Another poster has eloquently described why other architectures would be more scalable. He's correct. Is there a reason you wouldn't choose React, or Polymer, or even Angular for  one scalable fast app to rule them all?

 

2. I'm not sure the video could have seemed more *unconsciously* misogynistic if you had actively tried for that effect. Really.

 

It's pretty obvious that the entire team is currently sporting at least one Y chromosone. Your presentation makes it clear that the idea that a really great developer might be gasp-- female --is very much an afterthought. And it's an afterthought stated in the subjunctive tense. Why not extend your range (and avoid lawsuits) by consciously seeking an awesome coder with two Xs. 

 

It doesn't have to be me, although my 16 y.o. son would be thrilled if I got an interview. I:

- am good at working with remote teams, and know how to create and maintain distance work relationships

- am a documentation guru

- am a CMS SME (SharePoint. Sad!)

- recently spent the best part of a year writing NG SPA

- have experience making accessible beautiful and user friendly, accessible GUIs 

- know something about architecting layered db-based apps

 

Can I show you this work? Nope. It's classified. Which is yet another reason I want to work elsewhere. 

 

So, anyway, you won't hire me. But maybe, just maybe, you'll redo the video so it says you're seeking an awesome coder,  not just an awesome guy. Think about it.

 

 

You make some very good points about Node. It will take more then a "narrow" approach such as "node...node.js for everything".

 

Being a guy myself I'd love to represent us guys by saying keep it up. You obviously express knowledge in these areas you've mentioned. The project does need people who understand both technology and business requirements. 

 

Thanks for sharing your input for what it's worth. :)

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

You should consider using golang for your web application. NodeJS devs are jumping ship to go at a high rate. Go is not only a system language but a very powerful web platform. Your development time would be reduced and you get more bang for your buck with the same hardware. In my opinion NodeJS is very inefficient.

Link to comment
Share on other sites

Link to post
Share on other sites

Please! make this project open source! Put it on github or something so we can all work on it!

 

Also, why node.js??

Link to comment
Share on other sites

Link to post
Share on other sites

Wasn't node.js dying back in 2012 why are people trying to say it is garbage all over again? Anyway I would like to help but I am very busy earning my CS degree maybe I can volunteer for small things eventually, if LTT still needs help at that point.  

Link to comment
Share on other sites

Link to post
Share on other sites

I think WordPress would be a good approach to make the platform.

It is easy to get into and highly customisable.

I think it will save a lot of time and make it easy to update it

 

Link to comment
Share on other sites

Link to post
Share on other sites

52 minutes ago, Hilary said:

Guys  (and I use the word on purpose) I filled out the form.  But... two things:

 

1. Node. For everything? Really? Another poster has eloquently described why other architectures would be more scalable. He's correct. Is there a reason you wouldn't choose React, or Polymer, or even Angular for  one scalable fast app to rule them all?

 

2. I'm not sure the video could have seemed more *unconsciously* misogynistic if you had actively tried for that effect. Really.

 

It's pretty obvious that the entire team is currently sporting at least one Y chromosone. Your presentation makes it clear that the idea that a really great developer might be gasp-- female --is very much an afterthought. And it's an afterthought stated in the subjunctive tense. Why not extend your range (and avoid lawsuits) by consciously seeking an awesome coder with two Xs. 

 

It doesn't have to be me, although my 16 y.o. son would be thrilled if I got an interview. I:

- am good at working with remote teams, and know how to create and maintain distance work relationships

- am a documentation guru

- am a CMS SME (SharePoint. Sad!)

- recently spent the best part of a year writing NG SPA

- have experience making accessible beautiful and user friendly, accessible GUIs 

- know something about architecting layered db-based apps

 

Can I show you this work? Nope. It's classified. Which is yet another reason I want to work elsewhere. 

 

So, anyway, you won't hire me. But maybe, just maybe, you'll redo the video so it says you're seeking an awesome coder,  not just an awesome guy. Think about it.

 

Luke used 2 male pronouns when describing half of their team and you somehow equate that with extensive misogyny?

He stated that there are two individuals in Canada that are working on it as well as two males who are overseas and you just gloss over that and claim "it's pretty obvious that the entire team is male"? You only know that 50% of the team is definitively male.

I'm not sure what video you watched but it's pretty obvious it wasn't the one in the original post so how about you go SJW somewhere there is ACTUAL discrimination happening...

Link to comment
Share on other sites

Link to post
Share on other sites

So you are looking for codemonkeys and architects, ok at some point you'll have a big enough army to tackle the problem. As long as you throw enough money or time at it.

 

What I'm not hearing is how you're going to tackle the actual issues YT is facing, at some point you'll run into the same problems. Let's say you get 10% of the traffic YT has (maybe if you're lucky) even that is enough to overwhelm you and any filtering you might have going on. How are you going to separate the "good" from the "bad"? How are you going to tackle the copyright issue? I mean YT content creators are famous for cryin bloody murder when it comes to copyright, playing the victim when it comes to other people's /company's copyright and then yet again playing the victim when somebody else abuses their copyright. How are you going to filter out hatespeech from somebody who's just fooling around or is trying to make a serious point? And most important of all, how are you going to prevent those charlatans from the WSJ pulling of another fast one?

 

Don't get me wrong I applaud the initiative but I think it's better to think about these problems before hand and then start throwing money/time at it.

Link to comment
Share on other sites

Link to post
Share on other sites

would it be possible for someone from the staff to message me about something similar I have some questions.

Link to comment
Share on other sites

Link to post
Share on other sites

You guys should make part of this open source.  I know that it may not be possible to get everything open source, but for at least some parts like the video encoding/streaming could be open source, and I am sure lots of people would donate some time for free. ;)

Link to comment
Share on other sites

Link to post
Share on other sites

59 minutes ago, zacklukem said:

You guys should make part of this open source.  I know that it may not be possible to get everything open source, but for at least some parts like the video encoding/streaming could be open source, and I am sure lots of people would donate some time for free. ;)

I would more than happily contribute to this for free. In fact, I'd rather work on maintaining this with no pay than to be employed to work on it and get paid :P

Link to comment
Share on other sites

Link to post
Share on other sites

I really hope the people that hang out in and post in the programming sub forum see this, might bring a nice opportunity to one of them.

k7hkk.jpg

(I don't use Fortran nor node.js, haven't gotten there yet just figured I share  this meme) 

Link to comment
Share on other sites

Link to post
Share on other sites

im not interested.

you need more than one person.

you need a project manager.

you need to advertise on a traditional recruitment website.

What is patreon?

how can you collect advertising revenue without bending over for the people handing over the cash?

             ☼

ψ ︿_____︿_ψ_   

Link to comment
Share on other sites

Link to post
Share on other sites

 

This is not good, the posting ended up in /r/recruitinghell.

 

And for the fun of it, let's play a game of guess the programming language.

use std::cmp::Ordering::Equal;
use std::collections::HashMap;
use std::fmt;

enum Result {
    Draw,
    Loss,
    Win,
}

#[derive(Default)]
struct Stats {
    won: u32,
    tied: u32,
    lost: u32,
}

impl Stats {
    fn new() -> Self {
        return Stats { ..Default::default() };
    }

    fn add_result(&mut self, result: Result) {
        match result {
            Result::Draw => self.tied += 1,
            Result::Loss => self.lost += 1,
            Result::Win => self.won += 1,
        }
    }

    fn played(&self) -> u32 {
        return self.won + self.tied + self.lost;
    }

    fn points(&self) -> u32 {
        return (self.won * 3) + self.tied;
    }
}

struct Team<'a> {
    name: &'a String,
    played: u32,
    points: u32,
    won: &'a u32,
    tied: &'a u32,
    lost: &'a u32,
}

impl<'a> fmt::Display for Team<'a> {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{:30} | {:2} | {:2} | {:2} | {:2} | {:2}",
               self.name, self.played, self.won, self.tied, self.lost, self.points)
    }
}

fn add_game(teams: &mut HashMap<String, Stats>, team: String, result: Result) {
    teams.entry(team).or_insert(Stats::new()).add_result(result);
}

pub fn tally(input: &str) -> String {
    let mut teams: HashMap<String, Stats> = HashMap::new();

    // Process game data
    for line in input.lines() {
        let game: Vec<&str> = line.split(';').collect();
        if game.len() == 3 {
            let (team_a, team_b, result) = (game[0], game[1], game[2]);
            match result {
                "draw" => {
                    add_game(&mut teams, team_a.to_string(), Result::Draw);
                    add_game(&mut teams, team_b.to_string(), Result::Draw);
                },
                "loss" => {
                    add_game(&mut teams, team_a.to_string(), Result::Loss);
                    add_game(&mut teams, team_b.to_string(), Result::Win);
                },
                "win" => {
                    add_game(&mut teams, team_a.to_string(), Result::Win);
                    add_game(&mut teams, team_b.to_string(), Result::Loss);
                },
                _ => (),
            }
        }
    }


    return tally_fmt(&teams);
}

fn tally_fmt(teams: &HashMap<String, Stats>) -> String {
    let mut results: Vec<Team> = teams.iter()
        .map(|(name, ref stats)| Team {
            name: name,
            played: stats.played(),
            points: stats.points(),
            won: &stats.won,
            tied: &stats.tied,
            lost: &stats.lost,
        })
        .collect();

    // Ordered by points desc and name asc
    results.sort_by(|a, b| match b.points.cmp(&a.points) {
        Equal => a.name.cmp(&b.name),
        other => other,
    });

    // fmt
    let header = "Team                           | MP |  W |  D |  L |  P".to_string();
    let mut output = vec![header];
    for result in results {
        output.push(format!("{}", result));
    }
    return output.join("\n");
}

 

Link to comment
Share on other sites

Link to post
Share on other sites

Guest
This topic is now closed to further replies.


×