How to Hire a Web App Developer: Job Posting Teardown

Two years ago, on a whim, I signed up for an account on Elance, and just barfed out my idea with all it’s features stream of consciousness style onto the job post.  There was no structure to the post and I gave no guidance.  If you read the job post out loud, it sounded like I was explaining my idea to my friends at a bar rather than me trying to explain to a developer how he or she should turn my idea into an app.

As you can imagine, this is a costly mistake.  Because I didn’t provide enough detail upfront, I paid for it in all the back and forth emails.

If this happens to you and your developer is in another timezone, they’ll have to wait 12 hours until you’re awake to get clarification.  Wasted time and wasted money.

Here’s a job posting that I found recently on Elance that is many times better than the first one I created.  This sounds like someone that has maybe done one or two projects using outsourced developers before.  There’s still some room for improvement, though.

Job Posting Teardown 1

How to Hire a Web App Developer Tools & Resources:

If you need help explaining with your job posting description, post your question in the comments and I’ll help you out.

I won't send you spam. Unsubscribe at any time.

Frontend vs Backend: Learn Before Hiring a Freelance Developer

This article should take 5 minutes to read and at the end you’ll be able to speak more confidently with developers because you’ll know the difference between frontend vs backend and other major components of a web app. 

Two years ago when I started to design and hire outsourced developers for my first apps I was blissfully ignorant of the technical guts of web apps.  It wasn’t until I deposited my first few hundred dollars into an escrow account for a developer I hired on Elance that I realized I should at least know how the pieces of a web app come together so that I would know if

  1. I am hiring the right kind of developer (frontend vs backend) for the job
  2. and how features and changes would impact the app (frontend vs backend changes could be more or less costly)

I started reading more about frontend vs backend languages, SQL, CSS, jQuery, but after staring at documentation and stumbling through tutorials for hours every day, I was bewildered.  The only thought occupying my mind was “how much of this do I need to know and will it ever end?”  I felt like I was free falling down a dark endless technical abyss desperately grasping at concepts, trying to piece it all together.

I eventually resigned and convinced myself that “I’m just not wired that way”.  I would have to blindly trust that the developer I hired would be the right kind of developer and that they were making the right technical decisions for me.

To some extent that is the right attitude. You hire someone with tech expertise so that they can think about these problems.  However, the more you know about what your developer is doing, the better control you have over the successful outcome of your app.

You can learn enough so that you’re not completely cut off from the technical decision making.  Here are the 3 main parts of a web app.  From here you can dive deeper, but know these things and you’ll have a foundation to build on top of, which is what I was missing when I was trying to learn to the first time around.

The “Backend”

The backend is code that runs on the server.  The backend’s most visible responsibility is sending meaningful data to the frontend.  Think of the server like a server at a restaurant.  You (the frontend) tell the restaurant server what food (data) you want and the server brings it to you.

For example, if you visited your Facebook Newsfeed, the backend is responsible for figuring out which text and images to package up and then sends the text and images to the frontend.

Another large responsibility of the backend is that it interacts with the database.  If someone signs up for a new Facebook account the backend is responsible for saving that user to the database.  Once saved, the backend can then fetch, update and delete that user.

Popular backend languages are PHP, Java, C#, Python and Ruby.

The “Frontend”

Frontend code is run in the browser.  The frontend is written in JavaScript, HTML and CSS.  HTML is used to structure the data that was sent from the backend.  However, the data is not pretty and it’s not interactive, it’s only organized.

To make it pretty, you have CSS.  CSS is a styling language and is used to add colors to the site, change the font, change the size of the font, specify the placement of images.

To make it interactive, you have JavaScript.  JavaScript is a ‘client-side’ language.  For example, on Facebook, if I want a messaging modal/pop-up to appear when I click on someone’s name in the Facebook chat, I need JavaScript to add that interactivity.

The combination of HTML, CSS and JavaScript — collectively known as the frontend — creates the User Interface (UI).

Frontend vs Backend - Google without frontend CSS

This is what Google’s homepage looks like without CSS.

The Database

The database is just like a large Excel spreadsheet.  It has columns and rows and contains all the important information that your website needs to remember between the time a user closes the site and when they re-open the site.

For example, if you made a post on your Facebook wall, navigate away from the site and then come back, you expect to see the post.  The post is there because it was saved to the database.

Whenever you hear of anyone running SQL queries, they are running commands to get or manipulate the data stored in the database.

Frontend vs Backend - A database is like Excel

A database is like a spreadsheet. It has rows and columns. You can add, update or delete rows from the database’s table.

“What does this mean for me when I’m hiring a developer?”

The combination of the database, the backend and the frontend makes up the technology stack.  A full-stack developer is a developer that can write code for the frontend, backend and typically also handle the set up of the database.  For most web apps you can hire a full-stack developer to build out the entire app.  For larger projects you will typically break out the work between a frontend and a backend developer.

If this is your first time hiring and managing developers, I highly recommend you only hire one developer.  Because the frontend and backend are so intertwined you will have to manage work and communication between the frontend and backend developers.  This will unnecessarily complicate your project.

When hiring a fullstack developer, you should still ask for their previous work that exemplifies their frontend skills and their backend skills.  You also want to understand what language they plan to use when developing your app.  This is because if you need additional work done later or if things don’t work out with your original developer, you don’t want to be stuck with a codebase that was written in a language that’s hard or expensive to hire for.

So as you can see, there really is no frontend vs backend as they are both forever intertwined.


Frontend vs Backend and how it all works together diagram

How clicking on a photo album requires collaboration from the frontend, backend and the database.

What technical terms do you hear often when talking to developers that you would like to learn more about?  Post it in the comments and I’ll give you a layman’s explanation.

I won't send you spam. Unsubscribe at any time.