Hacker Newsnew | past | comments | ask | show | jobs | submit | lolatu54's commentslogin

Ads have many specialized requirements that you wouldn't really want to build yourself. Tracking, tokenization of url parameters, rotating ads to meet impression goals, and typically advertisers have build their ads to be served by major ad networks, so you would have to replicate their systems to support those ad units. Ads are way more complicated than most people realize.


I've heard some Ad networks are asking clients to setup reverse-proxys, so they can make the image APPEAR to come from same origin. It's getting crazy!


As an engineer in a Ads company, I totally agree. It's not just grab ad content from your customer, write some api integration with various publisher and send them the ad. The complexity involved in serving an ad properly and efficiently is way beyond the understanding of outsiders. Rotation, different kind of measurable metrics (we have at least 3x metrics than you can see from google analytics), ad serving efficiency (believe or not, we are able to serve ads faster than some publishers serve their own content), tons of targeting configurations and more. Tracking makes all those things possible.


It's possible the industry could build some sort of "cross advertiser network API" that would allow proper accounting/selection of ads while remaining on one company's domain (from the perspective of that user's web browser). It would require the cooperation of a lot of parties, many of which (optimizing firms for example) have a vested interest in the way things work now.


We give fizzbuzz style tests to all our candidates. Most fail, but it's not an indicator of experience at all. Some of the quickest to pass just got out of GA and never worked in the industry before. It really tests aptitude at a specific type of problem. Because of this it does not make or break the interview. We also look at their portfolio/code samples as well. After interviewing many candidates I've found the one's who pass our fizzbuzz tests also have much better code.

Because of this I'm convinced that aptitude and passion are significantly important to the ability to program. Just grinding your way through CS classes will not a programmer make.

I should add we let the candidates use google, so even if they don't know modulus or whatever, they still can prove their ability to look up things.


> Because of this it does not make or break the interview.

You mean that you continue the interview process for a coding position with someone who failed FizzBuzz algorithmically/structurally (not for a trivial syntax error)?

At a prior game company we gave what I felt was a FizzBuzz-level task on paper: in C, given a string of characters representing a hex number, return the long it represents. (basically, write strtol(input, NULL, 16); without using strtol)

I was appalled at the number of people who couldn't come close (not subtle bugs or mis-handling case issues, but rather: show someone else their code and have that person guess what function the person was trying to write).

When the Fizzbuzz blog post(s) came out, representing a much simpler problem, I couldn't believe that someone would bother to shower and leave the house to interview for a programming position and be unable to do Fizzbuzz. So I gave Fizzbuzz to a few candidates, often in a joking sort of way (so as to not offend any qualified candidates). Results were predictably shocking and dismaying. It's a problem simple enough that you either can do it or not; there's precious little middle ground. (As other posters mention, these are the people that interview over and over, so hopefully the actual employed population of programmers is overwhelmingly able to do it.)


I agree with you. This article is incredibly, just woefully dead wrong. I have interviewed hundreds of programming candidates. Reviewed thousands of lines of code. Programming is an aptitude that requires passion. The only programmers who are good are the ones who love to do it. If you don't enjoy it, find another profession. Because all the things he said aren't true are.

If you don't want to be constantly learning then this is the wrong profession for you. You have to stay current, or else you will slide from good to mediocre to fired within the span of several years.


I'm not as sold on passion as a requirement as I was. Too often, it's just monomania or obsession in a fancy outfit. See also: Programmer Passion Considered Harmful: https://news.ycombinator.com/item?id=9211214


I don't stay current (fads fade and I've seen too many to care); I have little passion for programming after 20 years; and yet I'm still hired with high contract rates to help people out of development holes.

The plural of anecdote, however, is still not data.


Well that has a smell doesn't it. There may be a use case where you feel the need to stuff a url with json data, but it sure feels wrong.


Every time I have to debug another problem in Wordpress, every time I encounter another bug in WP's core code I raise my head up and cry, impotent rage against the nameless void. Wordpress' architecture resembles a plate of spaghetti. It's abominable, a horror upon the face of this planet.

I don't mind PHP though :)


And, yet, the results for users are stunningly great. I heavily use both WordPress and Drupal for sites. WordPress may be uglier on the backend, but to people just using the software, the differences could not be more stark, and Drupal does not fare well.

Things like upgrading the core software...with WordPress it's so easy that it doesn't even take thought; hell, they've made upgrades automatic by default a few days ago. With Drupal, I'm months into a migration process to get our site onto Drupal 7 (not even kidding). It's been more complicated, and more error-prone, than the process of migrating from OpenACS to Joomla and then from Joomla into Drupal 6.

WordPress also seems to have the ecosystem right. No matter what kind of task you're trying to solve, there are a dozen plugins for it, some free, some commercial, some a hybrid of the two (sometimes annoyingly spammy about it). I've whipped up several websites in the past few weeks for various side projects I have, and it's downright fun to build complicated sites with WordPress. And, because there are more themes than there are people using WordPress (exaggeration to make a point), getting a site looking good and not like every other WordPress site is trivial and cheap. I find myself wanting to make new websites because it's more fun than working on my company website running Drupal. When it comes to building custom code, I prefer Drupal (mostly), but I do that pretty rarely; I interact with the frontend and admin interface daily.

I've almost talked myself into migrating my company site to WordPress+bbPress. I wonder if there's a really good ticket tracker option for WordPress...


"No matter what kind of task you're trying to solve, there are a dozen plugins for it, some free, some commercial, some a hybrid of the two (sometimes annoyingly spammy about it)."

This is a double-edged sword that can get you into trouble quickly. Personally, I prefer systems that focus on one thing and one thing only.


But, I need more than one thing on my websites. Sure, you can have many disparate parts all doing their one thing well ..but the user experience for that often sucks. Controlling notifications from four different tools in four different places is deeply user hostile, for example, and that's the situation I'd be putting my users in for our website (unless I built a unified notification UI for forums, content, tickets, and store applications). Likewise unifying logins/sessions is often a nightmare (I've done it but don't like doing it). Handling spam across multiple tools that allow user content, etc. There are big costs to single-purpose tools. For some folks the cost is worth paying.


I had the exact opposite reaction to Wordpress - I found it an excellent reference for studying how to build a great CMS. For me its code is concise and easy to follow. The time I spent with Wordpress was a great adventure in someone else's code... I think debugging WP is pretty fun!


agree, while it may have some technical limitations it is one of the most successful CMS's ever, and gaining in being a very successful open source program as well. I'm a bigtime WordPress user and really don't have any problems with it. Most of my websites load in under 2 seconds (with a lot of tweaking) so I really can't complain.


I can't remember where I read this but I think Google's new "gold standard" for load time is < 1s. A couple of years ago I think it was < 3s.


Perhaps two whole seconds fine for your needs, but to put in perspective your performance-is-fine claims in multiple posts in this thread: I won't go live with a site that doesn't render in under 150ms, because I consider doing worse than that disrespectful to my users and wasteful of their time. The amount of effort I have had to put in in the past to make WordPress perform even adequately has been disgusting.


I think the confusion is a page can render in 150ms but load time in the above comment was more about when the load event would fire on your site. 2 seconds for load event is pretty good. It's not google fast but it's not bad if your site has any images or loads css/js - most the WP sites I've ever dealt with have 50-60ms render times...


Two seconds to fire a load event would not be allowed out of the test environment anywhere I have worked.


correct, ttfb for instance on many servers is 1 second alone. A framework being rendered vs the entire load time of a website are 2 completely different metrics.


I spent two days replacing WordPress with custom PHP that does exactly what we need for our blog (read a bunch of static text from files), and then I never had to care about the horrors of WordPress (or worse, the plugins) again!


If this WP API thing gets traction and people start deploying lots of front end themes that rely on it rather than direct calls into WP's internal organs, it wouldn't be impossible to redo the core in any stack.


It doesn't necessarily make sense when you have a team working on different things, front-end devs working on the templates and back-end devs working on services, etc.

Furthermore most likely you will be sharing many partial templates or widgets between different views and sections in your app. So those have to go in some sort of common views folder, losing much of your grouping.

I wouldn't say either way is right or wrong, it just depends on your workflow, size of the app and size of the team working on it.


Why doesn't the widget go in its own folder?


or in their own module, pulled into the project with bower


I think the only way people would be comfortable is if you use strong one-way encryption, meaning you yourself cannot decrypt a user's data. But to enable trust, and being a startup, you would have to have your code reviewed by a reliable third party or open-sourced for public review. Google gets away with it because they have built a brand with a reputation that some people trust enough with their data (I don't personally, but enough do). A much easier path is to create a version that works locally with no external communication. Both options would be ideal, but perhaps more work than you care to take on. No matter how it pans out it will be a great learning experience.


As a forty something manager - I want to work around people who know things I don't - I want to learn from them. And I do every day :) But ageism is real and you most likely felt it. You might want to focus on team leadership, but certainly never lose your enthusiasm.


geezer here - You don't really have to relearn everything every 5 years, but yeah, part of what I love about tech is that I'm always learning and ready to adopt cool new technology when it is truly a better solution to a problem. Experience allows me to see through the hype and know when something new is actually better, something that younger guys lack. I feel really young at heart because I'm always learning. One thing 20-30 year olds should remember, time speeds up as you get older. You will be forty before you know it. Better start creating an industry that can support you when you are older or else you will be the next dinosaur who can't get a job.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: