How Can I Get Paid To Work From Home As A Developer, Designer or Other Role?

Someone asked me how to find a remote (telecommute) job that pays well earlier today.  Here is my answer to them. It felt like a question that a lot of people have so I decided to write an article about it.  If you want to work from home, the chances are less as a functional business person than if you are a developer or designer.  Your odds will much better if you are either a web developer who can do some design or a full stack web developer who can work with JavaScript (jQuery, probably AngularJS and Node.js (these last two are optional, but are in high demand right now) and either Ruby on Rails, Python & Django or PHP and one of the popular frameworks like Laravel, Symphony or Zend.  If you are looking to move yourself in one of these directions check out my learn to code section.  You would also need to develop a portfolio of work experience as a developer that you could showcase via a portfolio website that showcases your design and development skill set and via Github (some people also use Bitbucket, but Github is the more popular option) which showcases selections of your code in a publicly accessible way.

In all three possible scenarios (business functional role, Designer, Developer) you are going to have to hustle a lot more than you do during your current day job to make sure you have project work.  Part of this is because you are your own agent and sales rep.  You will also want to network like crazy, and not stop until you have so much coming your way that you don’t need to or until you have found several people who can refer business to you that they can’t work on or a larger company that will hire you full time.  Attending related conferences (e.g. web design, web development, development (e.g. programming full stack web applications) will also help.

You should also get yourself set up with an LLC or S Corp and a standard service contract so that when you do work there is no risk to the client that you are their w2 employee.  1099 is often used instead of w2, but most stats and the federal government are not fooled. You and your client can get a painful and inconvenient reclassification long after the work has been done so it isn’t worth it.  An incorporation itself usually runs around $150-300/yr (sometimes every other year).  You should hire a lawyer to help you with this if it is your first time.  Be sure to check back with at least once a year to make sure your contract does not need any major changes due to changes in local, state or federal law.  Don’t assume your plain text reading arm chair analyst self can divine what the contract terms that you find on a site like doc stock will be sufficient.  You will also need to file taxes every year which you should be able to do with the help of an upgraded version of Turbotax.  A CPA could be hired for the early stages, but that is overkill – just use turbotax.  You should also check to make sure if your county or state has a personal property tax requirement for your business (some states do, some don’t).  This may require that you file an additional return that is not covered by Turbotax.  The tax is usually minor.

Not everyone likes working from home.  Ask people what it is like and how they cope or if they need to.  A lot of people end up getting a co-working space membership to help make things more social.

Your best bet is to start doing this on the side long before you quit your day job to do it.  It is harder and more complicated than you think it will be, but it has its rewards and can give you more flexibility.  An even better option would be to find a company that is 100% remote or 100% distributed.  One example of a company like this is Intridea.  They are that kind of company and they have people all over the world working for them.  What you don’t want to do is to try to convince a company that is not that way from the start to let you be 100% telecommute.

  
Add Comment Register



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

It’s Not Bad, Yet. It Will Be: Thoughts on Testing Startup Apps

The title, ‘It’s Not Bad, Yet. It Will Be: Thoughts on Testing Startup Apps’ is one that was added after the fact.  This originally appeared as an answer on a popular Q&A site (see foot note).  

Context: A founder asked the following question: ‘Is it bad that I don’t have a single test written for my Startup Web App written in Rails? It’s an online analytic app.  I’m not used to writing Tests, but with my Dev team we understand the features that we implement and make sure things are in place before we go into production.

Thoughts:
This is not my first time.  I have been launching and developing for the last 5 years.  But, I just wonder what are some pitfalls of that practice.’

It’s not bad. Clearly you’ve not had an “a-ha” moment with testing yet though. When that time comes, you’ll lament on how terrible it was when you didn’t have unit and functional tests. You’ll likely push a feature to production only to realize 3 days later that the newly released code breaks some obscure part of your system. Upon fixing that, you accidentally push more bugs to production.

Then you hire new engineers. They’re CONSTANTLY submitting pull requests  laden with bugs. So you put more stringent code review requirements on them. You don’t trust their code and you end up wasting more and more time fixing the issues they create.

Your new hires eventually learn their way around, and if you were smart while hiring, they even know their way better than you do now. As a matter of fact, one asshole of a developer has now written ~33% of your codebase and he’s decided to leave your dumb startup to work for BetterSalary Co. He followed your lead: no testing whatsoever.

Now you’ve got to implement a new reporting feature that extends functionality written by your old, and more handsomely-paid, subordinate.

“Oh GOD,” you cringe as you open his code. You plead with the coding gods to help your plight, but alas, they do not help you. Coding gods do not exist.

As you trudge and hack your way to completion, you realize that you literally have no idea what’s happening, why your code works, or even how long it will work. “Let’s try this out in staging…” you wisely muse. Nothing works. You ponder the issue and A-HA! “TIMEZONES!” You exclaim. How could you forget to take into account timezones?

You push a fix. Ok, that got you a little further, but it’s still breaking on some of the code that your colleague wrote.

Next week, you’ve got slightly less hair, your co-founders are feeling slightly less confident in your ability and you finally feel vindicated – you just pushed that stupid reporting feature.

In group chat, your sales team is going nuts. “WE CAN’T GET INTO OUR WIZWOG THINGY AND ALL OF OUR OPERATIONS HAVE STOPPED.”

Good thing you at least take snapshots. Le rollback.

If only you had setup tests. You might not have pushed all those bugs to prod and your new hires would have some guard rails while they learn the ropes. Furthermore, given sufficient time, complexity will prevent you from groking all parts of your system. You need to test so you stay productive as time goes on.

So, it’s not bad, yet. It will be.

This article is adapted from an answer to a question titled ‘Is it bad that I don’t have a single test written for my Startup Web App written in Rails? It’s an online analytic app.‘ by John Fawcet.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Startup Burn Rates: A Game of High Stakes Poker

Yesterday, over on Quibb, I commented on an article about the alarm sounded by Bill Gurley in a recent Wall Street Journal article, then echoed by Fred Wilson and Marc Andreessen. They warn how the increase in startup burn rates could lead to spectacular flameouts. I’ve decided to join the conversation and share my view on what I speculate is happening.

As a pure spectator, entrepreneur and investor, I’ve witnessed changes in early stage venture capital and the startup liquidity cycle. These changes have been widely reported by Mark Suster from Upfront Ventures and other notable VCs. To summarize, investing has changed because startups have changed.

Here is how:

1 — What once took $3 million and 20 engineers to build, now cost $30k and only requires two good engineers to build. With 100x cost reduction comes 100x more startups. Most startups don’t fail because they weren’t successful at building a product, they fail because they aren’t successful at gaining traction and growing users and revenues.

2 — When companies are successful at #1, money becomes a commodity. When you can show that customers in a large or rapidly growing market are adopting your product, and your customer lifetime value (CLV) exceeds what it costs you to acquire that customer, you can almost always raise capital to fund growth.

3 — For startups, the market values growth, not profitability. As a result, startups that are successful at #2 choose to grow at unreasonable rate, as opposed to growing at a reasonable rate that keeps them borderline profitable. Since the market values growth, startups are in an arms race to gain marketshare. Consequently, they’re driven to raise money on a near continual basis to invest in customer acquisition to “own their market.”

The cycle goes like this: raise a round; invest in growth; show growth data to VCs; then let them compete to fund your next round – which leads to a much higher valuation. Rinse and repeat! When you’re successful, your startup is on its way to the unicorn club.

With the above mentioned changes in entrepreneurship, venture investing has changed accordingly:

1 — Early stage VCs that make initial investments in companies at Series A or Series B typically reserve 50% of their investment funds for follow on rounds. Historically this has been enough to maintain a decent pro-rata percentage ownership to limit dilution as portfolio companies raise later-stage rounds to accelerate growth. Many venture funds are now finding that their reserves aren’t nearly enough to maintain pro-rata in the wake of multi hundred million dollar late stage rounds. Some early stage VCs have raised additional funds reserved specifically this purpose.

2 — Due to the changes in startup growth described above; a significantly larger growth opportunity due to a growing market of mobile consumers with credit cards on file; and the propensity for startups to remain private longer, the funding landscape has changed accordingly. Many large institutional investors that historically invested only in public equities have now started investing, pre-IPO, in unicorns. Uber’s recent $1.2 billion raise at a $17 billion pre-money is the premier example of this — but not the only example.

3 — If I were an early stage VC trying to maintain pro-rata as my portfolio companies doubled down on fundraising due to the arms race for growth fueled by a new crop of eager late stage investors, I’d be very uncomfortable as well. Growth for most companies typically requires more headcount. In addition to payroll growth, increased headcount almost always requires more office space — leading to significant long-term lease commitments and other fixed expenses. When and if this new crop of late stage investors retreat back to public equities, the late stage funding bubble will pop. Massive layoffs and in some cases insolvency will ensue, resulting in spectacular flameouts.

For early stage investors like Bill Gurley, Fred Wilson and Marc Andreessen who have lived through the dot-com down cycles of the past, follow-on investing to maintain pro-rata in the current environment must feel like a game of high stakes poker.

Note: This article originally appeared on Clarence’s blog here.  Clarence is a SocialMatchbox alumni based in Palo Alto, CA.  Before he moved to the bay area he lived in Maryland.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

No Cell Service At The Office or At Home? Fix For Crappy AT&T Cell Service.

After a ton of trial and error, I have a half-way decent solution to my nightmare scenario.  Are you getting no cell service at the office and at home?  Here is my fix for crappy AT&T cellular service.

This started with an incubator that I moved my startup into a few years ago.  There was a 1-3 bar level of signal for my iPhone 4, and then on the 5 via AT&T.  I tried everything except getting a booster antenna.  It was on a major college campus so I was wondering if AT&T had some major coverage issues.  I also wondered if it was the building’s science and tech engineering that made it impervious to signals.

The problem was so bad I managed to convince AT&T to let me out of my contract.  Tip: If you are in a building most of the day for your job or home and you can’t get coverage then you can get out of your contract.  It will take some back and forth over a few weeks or months, but you can make it happen.

The cure was Verizon, or so I thought.  Verizon infuriates me every time I interact with them.  AT&T did too when they lied to me about an upgrade to my service level that cost me unlimited data for two iPhones, but not in the way that Verizon does.  For example: a few years back I moved and needed to change my Internet service address.  Verizon tried to double my cost with no improvement. The new location was across the street from a Verizon building which added insult to injury as far as I am concerned.  After significant frustration I decided to cancel and they switched me over to someone who offered to give me a net decrease in the cost of my Internet service through Verizon.  I said no thanks.  I do not wish to do business with companies that cause me unnecessary frustration as a customer.  Anyway, I switched over to Verizon.  Let’s just say that I was not happy with the call waiting user experience on the Verizon iPhone vs. the AT&T phone (e.g. you can’t switch over and hang up on the call you are on with Verizon, so you end up on two simultaneous calls with the same person you were leaving a voicemail with or whatever else.) so I got out of my Verizon contract and switched back to AT&T (that was surprisingly easy).

You are probably thinking that I had to be crazy to go for a phone that doesn’t work, but I just decided to use Skype’s dedicated phone number option and opted to go through 4 headsets until I got to one that I liked.  That worked really well for me because I had a static IP address and a really fast Internet connection thanks to the incubator being on a campus that also happened to be a major Internet hub location.  I could forward my calls to Skype.

Fast forward to our moving the startup out of the incubator into an office in a major downtown area a few years.  I ended up with a bunch of new problems (e.g. four out of five calls attempted fail and nearly every call faded in and out).  AT&T told me a bunch of lies (yes, literally) about what the problem could have been, but wasn’t.  After an upgrade to a new iPhone model I figured this out after I got a really open and communicative guy form their tech support team who was really savvy about tech (most of the folks I spoke with were level 1 help desk people reading scripts – nice people, but not capable of really helping).  It turned out that of 4-5 towers, one was up to date and it was blocked by a building.  It was also having some difficulties.  The block caused the phones in our office to alternate between the older out of date towers and the new one which caused us to get from 0-3 bars.  The average number of bars was 1-2.  One bar is not enough to make or sustain a call and the variance was frequent enough that we could not use our phones.

I started using Google Hangouts to make calls, but eventually got a 3G Micro Cell tower.  AT&T sent me two before I got the one that worked, but it does work.  It gets me 5 bars now even though I have to turn off LTE while I am using the tower.  If you are not getting cellular service in your home or office then this could help you.

One tip that should help you avoid the time suck that I had to go through once I got the 3G Micro Cell tower is to do a web search for troubleshooting the 3G Micro Cell tower for your specific router.  The AT&T tech support people do not have any idea what to do with your router even though the company has at least one article on how to solve this issue for D-Link routers on their website.  I found it and solved my own problem after 2 hours on the phone with them telling me to power-cycle my router, modem and 3G Micro Cell tower over two days. So you can skip calling 800-331-0500 or 611 once you get them to send you a 3G Micro Cell tower.  Just make sure they send you one for free like they did for me.  You should NOT have to pay for duct tape on their crappy infrastructure in your home or office zip code.

Update:
The new AT&T Micro Cell Tower drops calls 5 minutes in consistently for all lines on the plan.  Not a day has gone by where this has not happened since we got it up and running.  It may be time to tack the phone back and switch to a different carrier.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Trap Catch Of The Week

generalassemblyspam

Last week I signed up for and attend an event called DC Tech Day.  This event was hosted by a group from New York.  It was a good event, but today I learned that they sold or shared my email address with at least one 3rd party (General Assembly) without my permission.  There is no excuse for this.

Here is how I caught them in case you want to do the same. I use a web host that allows catch all email addresses. I used “dctechday@mypersonaldomain.com”.  When I register for an event, I use the domain of the event or event host.  In this case it was dctechday.  When I get an email from General Assembly via dctechday@, it was clear that I had not signed up via generalassembly@ (I know because I am signed up for General Assembly via that separate address).

The DC Tech Day event organizers (their LinkedIn profiles) (and here, and here) should know better than to do this.  If you attended their event you should let them know that you do not wish for your email address to be sold or shared without your permission.  For the record, they are a third party development outsourcing shop from out of region hosting a “local” event as if they were local.  Shame on both General Assembly for acquiring email addresses to spam this way and for engaging in spamming emails that are clearly not opt-in.

I personally hate spam and take it very seriously.  If you spam me I will take the time to report the violation to your email host (in this case it is SendGrid), my ISP, and to spam lists.  I get more emails than I can possibly ever read and I do not need your help filling my inbox with whatever it is that you should have found a way to get in front of me through creative and ethical channels.  If you are new to the job or an amateur when it comes to sending emails that is no excuse.

If that is you, you should take the time to go out and figure out what you should be doing before you continue to do your job.  Mailchimp has a great article titled ‘Common Rookie Mistakes‘ that is a good place to start.  Ophelie LeChat also wrote a great post titled ‘How to Sell Your Email List Without Spamming Them‘ that would be good reading as well.  Serena Acker’s article on the Hubspot blog also provides some good background: ‘Your Email Marketing Tactics Might Be Illegal. Here’s How to Fix Them‘.

Still not convinced that this is a bad idea? How do you know if you are compliant with US, UK, European, state or other national spam laws? If you are going into the business of selling email addresses then you might want to think twice.  According to a discussion on Slashdot, the selling of email addresses could send you to jail.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Build A Website With A Ruby on Rails Based CMS

Sometimes you just want to put up a nice looking website and spend the balance of your time customizing it, integrating it and styling it.  Sometimes you just to put up a website fast.  If you want to build a website with a ruby on rails based content management system (cms), this article contains a list of open source content management systems built with ruby on rails that you may want to check out.  If you are looking for PHP or Python based web content management system options then you may find an earlier article that I wrote to be more helpful.

My list of Ruby on Rails based CMS Packages:

BrowserCMS
– An open source CMS package by a Bethesda, MD based company (BrowserMedia) that has a large collection of features (called “modules”), and plugins.  There is one main contributor (a MD based developer) out of 37 total.  Unlike many of the other open source projects mentioned in this article, BrowserCMS’s core contributors appear to be former employees of the company that created it (BrowserMedia).

Jekyll
– Described as a ‘blog-aware, static site generator”, Jekyll has around a dozen core contributors including ones active presently.  GitHub Pages are powered by Jekyll, so you can easily deploy your site using GitHub for free—custom domain name and all.  Hosted on Github (view contributions).

Nanoc
– Has 58 contributors, but one who is responsible for the bulk of the effort.  Hosted on Github.

Nesta
 – Written in Ruby using the Sinatra framework. Content is stored on disk in plain text files (there is no database).  Nesta is an active project with a handful of plugins, but it has one main contributor who is responsible for the bulk of the effort.  Has a few themes, or it can be customized.  Hosted on Github (view contributions).

Radiant – Has 51 contributors and a growing collection of extensions, but the number of contributions to the project have slowed down this year and are due largely to one contributor (a DC based developer) .  There is a live demo up so you can check out the backend, etc. Hosted on Github (view contributions).

Refinery – With 353 contributors and a growing collection of extensions, Refinery is popular and well supported.  Hosted on Github (view contributions).

Spree Essential CMS – A CMS companion to Spree Commerce, a popular Rails based eCommerce system that does not appear to have been updated since 2012.  The project has 7 contributors and a polished website.  Hosted on Github (view contributions).

I am plan to spend some time with a few of these, probably Refinery and Nesta.  Maybe Nanoc which sounds interesting.  I know the lead contributors to Radiant and BrowserCMS so I will probably try both of them out.  Spree Essentials looks interesting given that I have a Spree site in the lab right now, but this project looks a bit out of date.  I will try to write about my experiences with them.

If I missed a CMS, gallery or eCommerce option let me know.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Why Asynchronous Learning Falls Short

Having participated in two hack day events, one hack night event, series of classes via Coursera, and two CodeAcademy tutorials since August, I feel like the online options could be significantly better if they would just accept that asynchronous learning falls short.  I could probably go a bit further and say the same thing about MOOCs, but I won’t.  I will explain.

Wikipedia defines asynchronous learning as “a student-centered teaching method that uses online learning resources to facilitate information sharing outside the constraints of time and place among a network of people.”

By contrast, Wikipedia’s definition of synchronous learning is “a learning learning environment in which everyone takes part at the same time. Lecture is an example of synchronous learning in a face-to-face environment, where learners and teachers are all in the same place at the same time.”

Now don’t get me wrong, I am not saying that there are not good parts to asynchronous and synchronous learning models.  The real problem that I am talking about today is when something is too asynchronous or synchronous.  In plain english, there are situations where the group helps and others where the group hurts.

A closer look…
CodeAcademy is a great example of Asynchronous learning.  So is Coursera.  With CodeAcademy you are basically out there on your own with no peers and no support.  A student taking a CodeAcademy tutorial (I don’t know that I could call it a course) can ask a question, but the forum aspect of the site is more or less dead.
codeacademy

 

 

 

 

 

 

 

The same is true of Coursera. There are discussions on Coursera, but they just don’t seem to accomplish a whole lot.  This is a unique challenge with MOOCs.  You simply have more people who need or want attention or help than you have time to provide it.

A Few Possible Solutions
My thinking about this was initially instigated by a conversation that I had someone who recently taught courses for Standford’s online high school who suggested to me that there needs to be something real time and rapid fire, almost like SMS messaging.  A few months back an Asynchronous learning company flew me out to San Francisco to talk about me joining their team to help spearhead product at their startup.  I had this exact discussion with them back then too.  It was not a company that I would work for or advise, but it was certainly an interesting thought exercise.

Facebook has done a nice job of evolving discussion groups so that they are more dynamic and almost real time.  I guess you could do something like that too.  A Facebook group is almost like a Chat Room.  I am sure there plenty of reasons why you do not want to have real time discussions around MOOCs and asynchronous learning sites, but I can’t think of a single one that is compelling.    Ultimately, I think that this is something that is going to happen one way or another.

If Coursera could figure out a way to blend the real time discussion and group work aspects of the synchronous learning model then I think their offering would be a lot more compelling. For starters, it would make it a lot easier for people to practice what they are studying if there were people who could help them or encourage them in real time.  As it is, MOOCs, tutorial sites and other blended learning options are a bit too quiet.

Another possible solution to this challenge is for the providers to be more responsive.  Web apps have services like Olark, which I, that allow a customer or user of a site to ask a question in real time.  You do not have to support this sort of interaction all the time, but if you held some office hours and made this an option it would be a lot better for the students.

This is certainly not going to resolve itself overnight.  Schools are starting to look to blended learning models as a way to allow students to master materials outside of the classroom in a way that is more engaging.  These are most often asynchronous.

  

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>