Building a consultancy while living in Japan with Keith Perhac

by Jake Jorgovan on May 18, 2015.
_________________

Today I am honored to have an incredible guest on the show Keith Perhac.

Keith runs a digital marketing agency called Delfi-Net, and best of all, he runs the agency while living in Japan!

For the past 12 years Keith has been living in Japan while building up a business primarily with US based clients.

In this episode, we dive into Keith’s journey, how he got started and built the agency to the point where it is today.

There are a lot of great insights in here on building up a successful business and living a non-traditional lifestyle.

Mentioned in this episode:
Segmetrics
Kalemezus
Delfi-Net



Charging $20k+ per week with Brennan Dunn

by Jake Jorgovan on May 12, 2015.
_________________

In this episode I am honored to have Brennan Dunn as a guest.

Brennan has built up an absolutely incredible consulting career charging rates of $20k+ for a single week of work!

In this episode, Brennan shares how he built up a consulting career to justify charging those rates.

Brennan also shares best practices for raising your rates and getting more clients.

Brennan is an absolute authority and leader in the freelancing and consulting space and his advice in this episode is absolutely invaluable.

I would highly recommend picking up one of Brennan’s books Double Your Freelance Rate. I bought a copy over a year ago and since then my rate has tripled! Brennan also offers an incredible free email course where he shares absolutely incredible insights. Sign up for it and I know you will get a love of value out of the lessons!



How to hire a JavaScript developer

by Peter DePaulo on May 7, 2015.
_________________

That Javascript, it’s so hot right now.

It’s time to hire a JavaScript expert, and that’s probably a good idea. JavaScript doesn’t just run on the front end, but has become a powerhouse for creating full-featured and full-functioning web applications. Users expect snappy, responsive sites and intuitive interfaces. If it’s on the web, JavaScript is there.

Whether you’re trying to find a front-end designer type, a full-stack generalist, or a node.js back-end engineer, I’ll cover some high-level tips that will help in your selection process.

Before the JavaScript: What do you want?

The first (and hopefully obvious) thing to consider is what you want to accomplish with this project. In a time where everyone has an idea for an app, it helps to be specific about what the app does or at least the reason for the work being done. This doesn’t mean you have to completely spec out the technical details, but the more information you put into what you are trying to do, the easier it will be for someone to put that into code. The more you hash out internally, the less time you will have to spend explaining to a developer what you want and the less money you waste on unnecessary process.

For example, instead of simply expressing “I want a menu bar” you might say “I want a dark colored menu bar at the top of the page with dropdown elements on the rightmost side.” The things that you might think are obvious might not be so transparent to someone coming to the project with fresh eyes.

The many faces of Javascript

Once you have the idea and the project sketched out in detail, it’s time to start considering which type of Javascript developer you need. There are a ton of frameworks and libraries out there, so I’ll cover important themes with examples rather than deep dive into the technical details.

Front-end Javascript Developer

If you already have a back-end engineer, then you probably don’t need someone to write the business logic. A simple website with a basic contact form is completely in the realm of a front-end developer with only a small amount of experience. The work done in Javascript will be limited to polish, and responsiveness. They should at least know the JQuery library. (People that specialize in this are often called web designers, though the definitions have become very blurred.)

A fully interactive user interface will require more experience. You’ll likely want to go with a Javascript framework. Generally speaking, the primary thing to consider is not one’s experience within a single framework, but the understanding of what problems each framework solves. If you see that someone has extensive experience in Angular, they will be able to pick up something like React or Ember.js fairly quickly.

Most of the time, you can first look for specific experience in a framework. Know that it isn’t a disqualifier as long as they know a similar framework. The contradiction is in the case that speed is your primary focus. If you need to get something done rapidly, hire for very specific framework experience to cut out the learning time. A front-end developer should understand user experience, design, and should be assumed to know html and css on top of Javascript. They should make things look good, and should be able to convert mock-ups to working interfaces.

Back-end Javascript Developer

If you have someone to build the front-face of your app, then you are looking to a Node.js developer to build the backend. This experience is harder to measure in demos, because the most impressive technical feats are invisible. This kind of specialist will surely know another server side language. If they have already built apps with Node.js, great.

A back-end person is going to be responsible for any functionality that runs on the server. They will need to be familiar with databases as well. This will be either some kind of SQL database or MongoDB. (There are other schema-less databases, but mongo is the most common.) They will be able to connect data to the front end. A back-end engineer is great for writing APIs. They should understand the strengths and weaknesses of Node.js. If starting from nothing, they should be able to choose a database based on the project requirements. Don’t ask them to draw you anything or design the look of the site.

Full Stack

An app built from scratch will require understanding of how data is going to be stored and moved on top of pure Javascript knowledge. It will also require pretty strong front-end chops. A full-stack engineer should have a breadth of experience. This will include either knowledge of Meteor.js, or a stack that uses Node.js on its own supplemented by frameworks. Most common of these is the MEAN stack (MongoDB, Express.js, Angular.js, Node.js).

This person really needs to be able to handle any part of the application, and their experience should reflect that. Projects completed with Javascript frameworks are primary indicators of capability. Projects completed in other full-stack frameworks such as Ruby on Rails or Django are also good indicators that someone knows their way around web apps.

A full-stack developer is the most versatile, but not necessarily an expert in any one part of the stack. Perfect for prototyping, great for building apps from start to finish, but it would be unwise to hire a generalist full-stack developer for pure database architecture or for very specific design requirements.

Communication is Key!

The most common bottleneck to a project is not an ineffective developer, but a lack of communication.

Current tech culture would have you believe that an amazing developer can take the idea that you scribbled on the back of a napkin with ketchup and come back in week with the exact thing that you imagined perfectly tested and ready to scale to 10 billion people. This is a lie. There are amazing developers. They can build exactly what you ask them to build, but only what you ask them to. If they’re good, it will be ready to ship and can scale pretty well.

The thing in your head will not end up in the world exactly as you imagine it unless you can make it by yourself completely while predicting how the user will use it. You will have to communicate that to someone who understands it enough to make it.

For this reason, the most crucial part of hiring anyone (and especially one who must translate a set of ideas and drawings into a functioning tool) is that you can get what you want into their head. Communicating what you want is largely in your court, but finding that person who can grok things quickly can make a project go from frustrating-to-the-point-of-insanity to that-feeling-of-spreading-soft-butter-on-bread (ahhhh yiss).

I’ve seen many litmus tests for technical talent, but not much in the way of technical communication. The best way to test for an ability to communicate is to ask people to reiterate instructions. This often seems silly, which is maybe why people don’t do this simple test, but it is worth the time.

Another test is to ask questions on the edge of your knowledge with a focus on understanding rather than vetting. Maybe you know a little bit about JavaScript. In that case, try asking about some more complicated JavaScript specific ideas like closures or how the object model works.

If you know absolutely nothing about programming, ask something that you’ve heard about but don’t understand. If you can’t think of anything to ask, inquire about what new thing in JavaScript seems exciting. If you find that it’s easy to learn things from the person that you are asking, they are probably good at understanding and communicating abstractions.

Determining technical talent in JavaScript

Okay, this is probably what you were hoping for to begin with. At this point, being specific in what you want helps immeasurably. The question is “How can I tell if someone is good at JavaScript when I am not?” The first step is to try to find projects that the applicant has completed that are similar to yours. If they haven’t sent you anything to look at, ask them to do so.

Portfolio

These days, there is not necessarily a need for a static portfolio or personal website. A set of links is usually more than enough to get an idea for what people have worked on in the past. The portfolio is a great weeder to determine if pursuing more conversation with a person is valuable.

Live projects or demos are best. Look at what kind of functionality each of them has. Click around and get a feel for the style. If you like the projects overall, ask what features the applicant has built. This will give you an idea of what they are capable of.

For example, if one is built in a framework you want to work in, ask if this person created the app or started working on existing code. This is the most important factor in determining the technical skill of the person: if they can build what you want. If they have a set of projects that have parts of the functionality that you are looking to build, then they can probably build yours. It is really important to get a very clear idea of what features they are solely responsible for. People who have solved specific problems will be able to answer in pretty granular detail.

Github

Github is the go-to for most projects. If you are building anything more robust than a basic website, you should be (or get) familiar with it.

You want to look at the projects that they have worked on by checking out the repositories that they have created or forked. If you are not already familiar with the organization of different kinds of JavaScript apps, it might be hard to figure out the file structure. At the very least you can look at their most recent commits and pull requests at the bottom of their profile page.

Inside of any given repository, you can see what languages are used by clicking the thin, colorful bar at the top. (hint: look for a lot of projects that have javascript.) You can also look at the commit logs to see what parts they have written. See if they have actually made changes to code in their commits.

If they have made meaningful contributions to open source projects, then they are golden. These projects are also a great discussion point. If they don’t have a Github ask them why and if there is another place where they push commits (like bitbucket). Something to note is that you won’t be able to see their commits to private repos. Their public profile might under represent their contributions.

Talent over trivia

If an applicant seems to have a strong grasp on the language and a lot of general experience, don’t fret if they haven’t done too much in the specific framework you want to use. People that have a deep understanding of the problems and patterns that show up in a variety of frameworks will be able to adapt to how a specific one handles them.

The projects that they have completed and how well you can communicate with them should dictate whether or not they get the gig. Good luck!



Building a remote agency with Authentic Form & Function

by Jake Jorgovan on Mar 30, 2015.
_________________
Building a creative agency is hard. Building a creative agency when you don't live in the same city as your partners can be even harder.

Chris and Bryant at Authentic Form & Function have managed to pull this off.

In this Working Without Pants podcast interview, they share with us how they started up the agency, got their first clients and how they manage working as a remote team.



Writing great proposals and building software products with Nathan Powell

by Jake Jorgovan on Mar 23, 2015.
_________________
As freelance professionals, we are consistently having to create proposals for new projects all of the time. Often this means hassling with Microsoft Word, inDesign or some other design software to make our proposals decent.

The guest on this episode of the Working Without Pants podcast set out to make the process of creating proposals easier.

Nathan Powell of Nusii started his career as a freelance designer / developer and created the proposal design tool Nusii out of a need he experienced first hand. The software makes it simple and easy to create and send beautifully designed proposals to your clients.

In this episode, Nathan shares his story of building up his career and what he has learned from launching a software product. He also shares some of his best practices for writing winning proposals.

If Nusii sounds interesting to you, then visit this link and use the promo code gunio for 50% off your subscription for the first three months.



Learn and Earn!

Sign up for great tutorials, guides, rants, raves and opportunities to earn more money!