Sitemaps
Experts

Hartley Brody

Build things, tell people.

Bio

Full Stack Web Developer, Author of The Ultimate Guide to Web Scraping, Former Inbound Marketer at HubSpot. Started two companies as Technical Co-Founder.

Recent Answers

Web development

Would Google allow me to build a server that uses Google search to get links relevant to a particular topic and then sends these links to users


Hartley Brody

Build things, tell people.

It sounds like you're trying to build a site that takes a user's query and then goes out and runs it against a number of major search platforms, then aggregates those results. You might be able to get away with this on a small scale, but these companies put enormous amounts of time and money into making their search experience fast and user-friendly, usually so they can sell ad space against it, or otherwise monetize users' search intent behavior. For you to take the results they generate and display them in a different experience -- one that they can't monetize, and one that you might be trying to monetize -- would put your interests directly opposed to theirs. Their first layer of defense would likely be captchas, rate-limiting or other technological impediments which would make it very tough for your site to continue to operate. If you find a way past those, then you'll likely start hearing from their lawyers, a solution that will be even more expensive to engineer around. Building a website on top of someone else's platform always has an element of risk. But when your interests are so poorly aligned with theirs, then the risk of them cutting you off and shutting you down one way or another is virtually 100%.

Lean startup

What is your go-to site for hiring freelance resources to build your startup?


Hartley Brody

Build things, tell people.

This doesn't specifically answer your question, but a lot of people steer clear of "the big sites" like eLance or oDesk because they're worried about getting low-quality code back or having other issues with the deliverables. If the kind of work that you need done is fairly vanilla web development (ie not scientific computing, super high performance stuff, specific algorithms, etc) I've found that you can actually get high-quality code back from the freelancers on those sites for very cheap. The important thing is to be very specific with them so there's as little ambiguity as possible. You'll need to write detailed product and technical specs yourself, as well as create mockups of what the pages should look like. These are the components that require the most design and careful thinking. Once you've fleshed all of that out, it's easy to hand off to someone cheap and and have them crank through it quickly. They'll usually appreciate that their project is so well defined. So while there are definitely some horror stories that come from the "big" freelancing sites, they can definitely be a great way to hire freelance resources, if you know what you need to have built very specifically.

Web development

What 3 questions to pose to a developer, to gauge his expertise level?


Hartley Brody

Build things, tell people.

If you're not technical yourself, then you might not be able to gauge the efficiency of a candidate's algorithms or critique her code. But there are still some higher-level, more behavioral things that a non-technical interviewer should be looking for in a strong development candidate: 1. What are some tech blogs that you follow? Explain an interesting article to me that you read from one of them. The software development world changes all the time. Best practices are constantly evolving and new libraries are regularly released which make developers more productive. If a candidate doesn't keep up with the latest software news, that might be a red flag that they're not curious or trying to improve themselves. Also, having them explain a technical concept to someone who's non-technical is a great way to gauge their communication skills. Do they seem like someone you could work with and understand easily? Do they care about pausing to make sure you understand, or do they just drone on with jargon? If you feel overwhelmed while they're explaining this answer, imagine how you'll feel when they're telling you why the product has bugs or isn't going to be done on schedule. 2. Tell me about a time you ran into a big roadblock with something you were building. How did you get past it? It's inevitable that a software developer will get tripped up or have to solve some Gordian Knot. Everyone has to bang their head against the wall from time to time. Maybe an API didn't have the data they needed or some function was running too slow and they weren't sure how to speed it up. You're looking to see how they are as a problem solver. Did they come up with a clever but hacky solution? Were they methodical or did they fly by the seat of their pants? Did they go back to the stakeholders and see if the feature's requirements were flexible? Did they work on it for hours and hours trying new things? Did they ask for help from colleagues or on the internet? No right or wrong answers here, but you want to get the sense that this isn't someone who throws up their hands when they hit some friction. 3. Tell me about your favorite project that you worked on. What work are you most proud of? By asking them about the project they're most proud of, you'll get to see what it is that they value most. Maybe one candidate is most proud of a side project they built, even if it wasn't that technically complex, while another candidate is proud of their esoteric PhD project or some specific algorithm they improved. Again, no right or wrong answers, it really depends what type of candidate you're looking for. But it lets you see into their mind a bit, and get at some of the aspects that can make someone a strong development candidate. If you want to talk more specifically about hiring for your team, I'd be happy to do a call!

Technical Recruiting

I am a non-technical cofounder. Where are the best places to find and attract a technical cofounder?


Hartley Brody

Build things, tell people.

If you want to find and attract someone with coding skills to join your venture, here are the tips I usually give people: 1. Find Where We Hang Out. Note that this isn't just founder dating events and places where you're "supposed" to find us. There are other communities where programmers congregate that you could join if you do a bit of research. Find a few technologies that might be relevant to the product and find some local meetups for those. Engage with us in online communities as well. I've made many strong friends over the internet, some of whom I've never met in-person before, one of whom I even started a (now failed) business with a year ago, without us ever having been in the same city. 2. Realize What You're Asking For. The most frequent mistake I see "idea" people make is grossly underestimating what they're asking for. Don't explain your entire concept and then ask how many days or weekends we could build it in. Starting a new project from nothing takes a long time, even if the developer is experienced. You're not looking for a "quick favor", you're looking for a cofounder and some serious commitment. 3. Don't Be Possessive. If the relationship works out and we come on board to start building, it won't be "your" idea anymore. The concept *will* morph and change as it runs into the real-world constraints of technology, resources and time. You have to be willing to trust our judgement on some of those decisions. 4. Demonstrate Your Value. If we're deciding whether or not to join your project and add our valuable skill set to the venture, we need to know that you're generating value as well. And no, "having an idea" does not constitute adding value. What will you be doing while we're sitting in front of our keyboard for hours and days and months? You should be out interviewing potential customers, analyzing the market and competitors, setting up some branding and a basic landing page, growing an email list of interested users, working on the company's pitch and marketing/sales copy, and setting up an industry blog with regular content about your industry. Ideally, you'll have started doing all of these things before you started looking for a technical cofounder. If you can show that your idea already has demonstrable traction and potential, you'll have a much easier time finding someone to help you. 5. Be Cool. This should go without saying, but don't be snobbish. Don't tell us how your idea is the next Facebook or Google and we better get on board before we miss out. No one responds well to those kinds of things. The conversations I get most excited about are the ones where someone comes to me genuinely just asking for feedback on their product or idea, with no sales pitch of "you HAVE to build it for me." Despite common social stereotypes, coders are people with feelings and opinions just like you. Think of it like a date, if there's no initial chemistry, the relationship (and potentially, the product) are doomed to fail. Just be cool. --- I've written about this a bit more extensively on my blog: http://blog.hartleybrody.com/find-a-coder/ Feel free to give me a call if you'd like some feedback on a product concept!

Search Engine Optimization (SEO)

How do you re-structure duplicate URLs which were already indexed by search engines?


Hartley Brody

Build things, tell people.

If you'd only like the content to live at one location, and you're worried about legacy links that people shared across the internet breaking, then a 301 redirect from the old URLs to the new URLs is what you're looking for. Every HTTP Request receives a response code from the web server. Response codes in the 200s mean "everything went well", response codes in the 400s mean "user error" (like the famous 404, "we couldn't find the page you requested") and response codes in the 500s mean server error (Twitter's famous 503 Fail Whale). 300s indicate some sort of redirection and a 301 response code specifically tells the requesting client that this piece of content has moved to a new URL *permanently* and will never be back at this old URL. When web browsers receive a 301 redirect, they'll cache it and automatically forward all future requests for the old URL to the new one without even asking the server. Similarly, when search engine crawlers encounter a 301 redirect for a URL that they had already indexed, they update their information to move that old content (and all of it's old ranking information) to the new URL. This means you don't have to "start over" to get a piece of content to rank if you move its URL. However, your question makes it sound like you actually *do* want the exact same content to be served out of multiple URLs, but you'd ideally like only one copy of that content to be indexed and ranked to avoid splitting your inbound links and any other duplicate content issues. In that case, I'd check out adding so called "rel-canonical" tags to your pages, to indicate which version is the "canonical" version of that piece of content, and have all other versions point to the canonical one with the tag. Google is pretty good about using these, and Bing says they use it has a "hint." More info: https://support.google.com/webmasters/answer/139394?hl=en In a world where websites might choose to organize the exact same content in a number of different ways, adding "rel canonical" tags to your pages adds a lot of semantic meaning and helps you avoid a number of issues that duplicate content brings. Hope that helps!

Contact on Clarity

$

3.33

/min

4.9 Rating


Schedule a Call
Send Message

Stats

5

Answers

63

Calls

Areas of Expertise

Web developmentInternet MarketingWeb ApplicationsPythonFull Stack Web DevelopmentWeb Scraping