Edit: Not sure about for foreigners though.
People can own many companies and it has no bearing on if they have a full time job with someone else. In your case you would setup a 'Limitada' (Ltd) company and this can be done online at https://www.portaldaempresa.pt
I'm from the UK, setting up a company is easy, cheap. Each year I need to submit a small set of accounts, and a tax return. The first time you do this might seem hard, but it's basically form filling, and after the 2nd time it's much easier and simple.
Concentrate on your product, when you take on investment or make profit, look into setting up a company.
I believe it's common for a developer to have their own company to use to sell all their products over their carears.
You can start a sole trader business easily (and cheaply).In many EU countries there is a scheme where students or full time employees can start side businesses as sole traders and not be liable for VAT and social security taxes. I am not sure if this exists in Portugal but you can check with your local bureaucrats.
Activity like this will increase your employability in most companies. It can be an issue in government regulated businesses such as insurance but they are used to telling employees to shut it down.. it's a non-issue for hiring.
just my 2 cents, ignore if your market is something else.
Corporations are all about liability and ownership. As a student, you likely don't have any assets to protect. Once you take investment or add a partner, you'll need to do somethingn!
For example, "human-usable information" could be added by changing the color of certain words. If our site is meant to teach English, changing all nouns to the color green is useful and definitely "human-usable information," right? But how do you measure the amount of information it conveys?
It's ultimately very philosophically hard. This matters because a webapp's assets (images, styling, scripts) are as much a part of its content as the actual text on a page. But if you confine your definition to encompass only human-readable text, I don't think it's useful.
First, we can argue and pontificate and philosophize all we want, but ultimately there is no proof of the pudding except the tasting. This is a falsifiable hypothesis. It can be tested, so it should be tested.
That said... I can see two potential issues with this metric.
1. It's a ratio metric. Whenever you metric by taking two numbers and combining them into a single number (in this case, by division), you are losing information. You are saying that several very different scenarios are basically equivalent. You are saying that your current density of 25 story links in a 500KB app, is basically indistinguishable from 1 story link in a 20KB app, which is also the same as 500 story links in a 10MB app.
It also means that there are two ways to "improving" this metric. If you want to double the current density of 5% up to 10%, you have two options: One is trimming the fat from the app so it takes up half the space. The other is making your stories twice as long. Your metric will not distinguish between these two cases. I'm not sure that's a good thing. In particular, having stories twice as long has no impact whatsoever on the homepage.
2. It's a "means-to-an-end" metric. If this metric is meaningful at all, it's because of the relationship to content load times and how much extraneous junk is on your homepage. But... you can just measure load times and homepage click-through directly, and optimize for those. This provide additional value beyond what those metrics give you. If anything, it provides less value by over-focusing on just two things, which is only one part of content load time, and is only tangentially related to design bloat.
If you've already decided that content load times are unacceptable and you want to make them faster, this is a metric that you can look at and it will make an engineer say "huh" and give you an idea of how much room for improvement it is. You can use it as a benchmark, and compare to other apps to get an idea of whether your design can be streamlined. But setting this as a top-level metric and optimizing for it is just as likely to lead you astray as to have a meaningful impact. And if your content load time is already acceptable, I don't see the value in what this brings.
tl;dr It has use as a secondary metric, if you've already decided to slim down your page, to compare against other sites and give an idea of how much you can improve. As a top-line stat, improving this metric does not have a strong connection to improving your app.
But that seems to be where we're at now, unfortunately.
1. They never launch
2. They never make any money
If you can avoid these two pitfalls, you will likely achieve one or more of a) earning; b) learning; c) increasing your 'luck surface area'. So, it's a good opportunity if you can do it. There are plenty of reasons why you wouldn't have launched including:
- you kept your idea secret
- you tried to do too much
- you underestimated the areas that you're not skilled at
- you assumed that if you built it they would come
- More here: http://www.startupclarity.com/blog/launch-first-product-what...
The reasons for not making any money, or rather not making enough money that you wish to pursue it are multitudinous but include:
- you didn't choose a profitable product idea
- you underestimated the slow ramp of death: http://businessofsoftware.org/2013/02/gail-goodman-constant-...
- you charged too little
- you didn't solve a problem for people who were willing to pay you
- More here: http://www.startupclarity.com/blog/find-profitable-product-i...
I hope that helps and Good Luck!
The first two are kinda easy, but if it's "money", work from the money back to the idea rather than figuring out how to make money from a certain idea. Who's spending money, where, and on what? What sort of people do you have exposure to (on Twitter, HN, wherever)? How could you improve on something people already spend money on? Etc.
You can do this as a side project because there are lots of things that can make a great side project, bring in a few 1000 dollars a month or more, but wouldn't be interesting to someone trying to launch a business they want to scale.
Look at tools and plugins for software people use already, especially software that has a reasonable pricetag and that people us in their businesses. Anything you can sell to people for whom time is money is a really good start!
I launched a side project 5 and a half years ago which went on to become our entire business. I wrote about that, in a way that I hope will help other people do the same, in my book The Profitable Side Project: http://rachelandrew.co.uk/books/the-profitable-side-project
2 - go on elance/odesk to find some paying clients (pay is low, but easy to find). You can also use this to try different things and discover what kind of work you enjoy best. you can also call some technology consulting firms - they are always looking for talent.
3 - specialize in that area. tailor your website/blog to talk exclusively about that technology. between the inbound from your site and client base from consultant you'll easily be able to build an overwhelming referral stream.
For me, I wasn't sure if I still wanted to program, so I went back to the things that got me excited when I started (math models of perception) and I fell in love with it all over again. Now my dilemma is turning that back around and actually working on what I'm most passionate about in a full-time setting. In the meantime, hobbying it is better than not doing it at all
Since this will be a side-project (and your time is limited), try automating as many aspects of the business from the beginning. I am not implying that you should BUILD automation into the onboarding process, but use services like Zapier to make your life a bit easier.
I fall into the category of starting too many things that I don't finish. I've recently realized that the size of the things I was working in was just way too big, especially since When working on a side project you are working around your life schedule.
After limiting the size of my projects I've found I am completing all of them
If you really pay attention, something will stick out at you.
You'll likely have many ideas. Research them all, come up with some kind of a plan for each. Sit on them for a while...one of them will jump out at you.
His advice exceeds anything I could offer you.
I build small web apps for companies on the side. Little data management things the office can share... something like you might make with Access but obviously a lot nicer, more customized and networked. I host them also and charge a monthly fee. I don't think this is a way to get stinking rich. But it keeps me busy after work.
While numbers are only part of the equation, they were the primary reason I partnered with a recruiter: the percentage increases per-role he has secured me over the last 3 placements are: 52%, 28%, 33%.
The recruiter is happy because they get a nice cut every time I move. I'm happy because they're very motivated to secure a high salary which often attracts a better title. The companies I work with have been pleased with the work I produce. With each role and each step up in responsibilities, I grow a strong CV too. It's been a good choice for me so far.
None of these "promotions" would have happened without the recruiter. They're an enigmatic salesman for my skill set. I've got imposter syndrome and am not assertive at all in negotiations. The recruiter was the missing part of the equation.
Generally, as a rule of thumb: If a recruiter reaches out to you and masks the company's name, then they are likely an outsider who is trying to protect their potential commissions (and trying to force you to work with them instead of circumventing them). These guys (and gals) are pretty much worthless bottom feeders, and have nothing of value to offer you. In fact, they might do damage by blasting your resume to every company in silicon valley without your permission! Run away!! On the other hand, if a recruiter reaches out with the company name, and encourages you to interact with the founders directly or come to an event, etc then they might be legitimate. This latter group can open doors or fast-track you through the HR process and might give you an advantage over applying directly.
In general, I like to ask "what benefit do I receive by working with you instead of applying directly?" If they say something along the lines of "Well, I can get you a lunch with the CTO this week." then that recruiter might be worth dealing with. It's all about the value-proposition. If they don't offer you one, then don't waste your time.
I'd also take a cue from his general advice about finding a new job: only work with recruiters you've specifically selected. Likely only the top in your area, e.g. in the '90s there were only 2 worth dealing with for normal jobs in the D.C. area.
I have been placed in my jobs by recruiters nine out of the last ten positions (30 years). If you work with a recruiter it will become very apparent very quickly whether they understand your skill set and which positions match those skills. If you feel they aren't sending you on good interviews, dump them. There are many, many recruiting firms out there.
Anyway I am trying to fix part of the issue here: http://siscia.github.io/open-hire/
If you are interested feel free to write me :)
The good percentage are gold.
Most of my best jobs have come via a recruiter.
Several of the books are on this list from several years ago by NPR: http://www.npr.org/2011/08/11/139085843/your-picks-top-100-s... flowchart of the NPR list: http://www.sfsignal.com/archives/2011/09/flowchart_for_navig...
Alchemist by Paulo Coelho
Comes with a front-cover quote by Charles Stross, a popular post-singularity author (you may have read his work).
There's probably a passive income project in scraping HN once a month for book recommendations and putting them on a page with referal links to the various formats of the books on various sites. Not sure how passive that is.
It's an hilarious read and at the same time it's also interesting to read how people lived in Europe and the Middle East ~150 years ago.
"Last Chance to See" by Douglas Adams and Mark Carwardine - most underrated book from Douglas Adams, it's brilliant.
"Ninja," "Rockstar," "A-player." You can't expect to interest those people in middling jobs from mediocre employers.
Fix hiring expectations and you will have gone a long way toward solving the hiring "problem."
Test candidate via open source; as engineer I would love that, as hiring manager I would get a lot of nice information about the candidate, information that I won't get with an code challenge or a white board.
If you are interested just send me an email
My address is all over the linked page :)
Top link will be: > Firefox - Download Latest Version. 100% Free. > Firefox.freegogo-download.com
Which is InstallCore infected.
Google Chrome Free - Install Chrome Free For Your PC!Chrome.freepc-download.com
Download Chrome Browser 100% Free!
Chrome download | downloadian.comdownloadian.com/chrome
Ladda ner den senaste versionen av Chrome gratis p svenska!Chrome download | chrome.downloadem.comchrome.downloadem.com
Highscalability.com have some articles about Facebook's architecture here: http://highscalability.com/blog/category/facebook
The book covers the basics of both analog and digital, and focuses on developing intuition without getting _too_ bogged down by theory, with accompanying labs/projects. I took the course taught by the author of the book before going to school to study the same subject area, and it helped me develop intuition and general electronics knowledge in a way no other course has.
If you want preview of the book, e-mail me and I can send you some scans.
For a free resource, it is right up there with TSEGDSP .
There is some sloppiness in the book, but the first 5-10 chapters, with enough struggling, get you to think in terms of the basic models that you learn about early on. Once you understand how things break down conceptually, mapping theory to reality becomes a more manageable fight as you cross reference theory while looking at existing designs.
Are there any simulator-games out there? Like:
"Here are available components in your components box, now draw a circuit that lights an LED without distroying it, regardless how the 5V input voltage is connected. Max component count: 4"
Something in the spirit of Euler-project, but with electronics.
Electronic Interfaces: Bridging the Physical and Digital Worlds: https://www.edx.org/course/electronic-interfaces-bridging-ph...
Embedded Systems - Shape The World: https://www.edx.org/course/embedded-systems-shape-world-utau...
EdX has got some nice electronics courses: https://www.edx.org/course
Between, I am from compsci background
In elementary/middle and even high school I absolutely loved this book. I even had a backup copy. It might be a bit more basic than you need if you studied it in college though.
Alternatively - and less expensive - read The Feynman Lectures on Physics by Feynman, Leighton and Sands, followed by the first part of Jackson's Electrodynamics.
University of California Santa Cruz' Physics Department has two good courses that teach how to design and build the electronics for use as experimental apparatus. The first quarter is analog, the second digital. After I took both courses, I did well at a summer job where I repaired electronic gear for the department.
Starts in late March.
Although I think your idea of who goes to these bootcamps is pretty off. These aren't people who "had never opened a text editor in their lives." Some of them are people who were working in science, doing research and matlab programming, and wanted to make a career switch. Others are people who maybe majored in math, or perhaps a completely non-technical major but went to a bunch of hackathons or took some intro programming classes for fun, and then when they realized they loved tech it was to late for them to make the switch in college.
Top programs like the Flatiron school are NOT a walk in the park. They are intensive, 60-80 hour a week programs with a very low acceptance rate.
Of the dozen plus people I know who have gone through one, I can't think of a single person who had never programmed before entering into one of these bootcamps (not that it is not possible!).
"looking around, there don't seem to be many jobs for entry-level Rails or iOS developers. If you look around on job boards, there simply is not much competition for entry-level talent."
What? I get emails every other day from recruiters hiring for their social mobile ruby on rails web app. The tech shortage is present more than ever in every level of the industry.
I was hiring for a telehealth startup based in NYC and got some referrals to some recent General Assembly grads. I bit and went ahead and scheduled some interviews. It was a total joke, honestly. The graduates glossed over the entry-level interview questions with a lot of handwaving (I would ask them things like "How would you do x given y?") and quoted rates upwards of $100/hr even though their total experience was the 10 week course @ GA campus.
I was so turned off by that experience that I just never even considered hiring from a 'hacker bootcamp' again. I'll echo what others have been saying as well: You can hire them, and maybe they'll perform for a while - but the amount of time you'll need to spend to get them up to speed on CS basics will more than likely not be worth the investment. You're better off hiring a recent college grad whose only experience is working with Java - at least they have the fundamentals and can build on top of them instead of backtracking.
I'm willing to give anyone a try, and so I interviewed a lot of them over the phone, and gave nearly all of them the coding exercise. Which they almost universally failed to complete.
Still, I wound up hiring one as very junior. And that's exactly what she is. I don't have to hold her hand through the really really basic stuff, and she needs me to get her through sticking points pretty regularly, but overall she contributes to the team.
$100k, though, I really don't see it happening. And she's the exception - she finished the coding exercise.
Which means a lot to me. The coding exercise we use isn't particularly hard, but it requires you to do a bunch of separate things - and it thus requires some ability to go on google/stack overflow/etc and figure out something you didn't already know. Which is what I want most in a junior dev - a way to move forward when you get stuck.
I work at Conde Nast. I helped work with a bootcamp program to create a "internship" program for new graduates. We took eight students after attending a recruiting event and invited them to work on a cycling program. From the eight, we hired four.
Going into the hiring process, I was betting on the students rate of learning. We knew they didnt have the domain experience. We were hiring out of a RoR bootcamp, so their knowledge was also going to be irrelevant. Knowing they spent 10 weeks learning at a rapid pace, I believed we could extend that to our own code base.
Our experience was good. Because our company was in a unique hiring period, it made sense. We wouldnt do it again.
> Most of the job growth appears to be in academic stuff like AI and data science
This is incorrect -- web jobs are growing quickly.
> there are companies hiring people at $100k who, twelve weeks ago, had never opened a text editor in their lives.
This is rare, but it does happen. The more common case is the student that coded on the side for a year or two and then jumped in full-time to a school like mine.
> And if it's really possible to build a rails developer from scratch in 10 weeks, why not just just do it in-house through an internship program?
Running an educational program is hard. You might as well ask me "If your grads are really worth $100k a year, why not hire them all and make software?" That's, like, a whole different company.
> And why do most companies still ask for "at least a Bachelors in CS" for web and mobile development positions?
We tell our students, "This means 'you have to know how to code', so that random non-coders don't apply." As a former engineering manager, this was true in practice. I didn't care if an applicant had a BS or not, as long as they could code.
>But if the stats that these bootcamps throw out are true, there are companies hiring people at $100k who, twelve weeks ago, had never opened a text editor in their lives.
This is a very extreme case. As part of the admissions process for most great schools, people who have never opened a text editor are shown tutorials, books, and videos to prepare for the admissions challenge. They wouldnt be accepted until they can solve basic programming challenges. Example: (mks.io/ac1, mks.io/ac2)
There are some schools who admit people who have never opened a text editor in their lives. Flatiron School, MakerSquare, Hack Reactor and a few others are not those. IMHO, programs who admit very beginner students like those should be 6 mo - 1 year long.
> The run-of-the-mill web and mobile developer positions all demand at least some level of experience (generally 2-6 years)
Almost all of our graduates are hired for positions that advertised needing 2-4 years of experience.
> And if it's really possible to build a rails developer from scratch in 10 weeks, why not just just do it in-house through an internship program and avoid paying commission to these schools?
Properly vetting who would be a good student is hard (admissions), properly teaching people is hard, and creating a proper learning environment is also very hard (Most education institutions fail at one or more of the above). All of the above are certainly not core competencies of software companies, nor do they need to be.
First off, I think it varies quite widely on the school. We talked to people from General Assembly and the quality varied A LOT. There were some people who I would have said were capable of being a junior developer and some who I would say are hardly employable. None of them were exceptional programmers though. Everyone we talked to had never built anything prior to GA and were very clearly not what I would think of if I had to imagine an (ideal) programmer.
We did end up hiring a programmer from a program called App Academy and this program seemed way more legitimate. Their staff had people contributing to the linux kernel and git, which gave us a lot more confidence. Similarly, with some of the smaller programs that we interviewed with we saw an increase in quality. The largest correlation we saw though, was that programs that were compensated based on your compensation produced much better people. GA is just making money whether you suck or not. AppAcademy gets paid if you get paid. If you make 10% more, so do they. I think that's extremely evident in the students they send out into the world.
The combination of his salary and equity isn't too far below $100,000, but he's also quite exceptional. He had gone to Princeton, did great in school, had a perfect score on the SAT's, knew about Public Health, etc.
The average starting salary of $100,000 sounds like BS.Hire from smaller programs that get a commission - not tuition.Just like normal universities, students can vary in quality regardless of their "pedigree."
Judge for yourself.
What was great about Flatiron:- Really good faculty that cared not just about tech, but about teaching- Really good curriculum that fosters basic CS skills and an 'engineering mindset' instead of just 'learning Rails'- Fosters an attitude that encourages learning for learning's sake- Great support through the job placement system.
What was not so great:- You really can't come in with 0 experience and come out a competent developer. Most of the people in the program had at least some prior familiarity with coding, even if the experience was shallow.- Instruction focuses on the students at the middle of the individual semester's bell curve. Students with no experience (or lacking basic computer skills) can get left behind, students with way more experience (or more aptitude) can get bored.- To me, the average salary touted by the school is inflated. Most people seem to have landed in jobs that pay around 50-60k initially, although many people are able to move to higher paying positions quickly.
I haven't personally been through the GA bootcamp, but I know two people who have and have worked/interviewed with others that have. GA seems to not really give a shit about actually educating people or getting them jobs, just about making sure they pay tuition. There is little to no job counseling, instructors are of (at best) mixed quality, and the curriculum is extremely confused.
Like anything else that you're going to spend 12k on, do your research before you commit. Some schools are great, some are not, and what you get out of it always depends on what you put into it. Look for one (like flatiron) with great job placement, and connections to companies.
Additionally, the idea that 'most companies' require a CS degree for web devs is just not true. Most job postings that are out in the wild might ask for that, but most companies hire new devs through job placement services, or connections that can vouch for the skills of non-degreed developers, rather than through cattle call services like Linkedin, Craigslist, etc.
But all in all, not a bad place to spend a couple of years when you're inexperienced! Just gotta learn when to move on and not get distracted by the free pizza and all that stupid shit.
I just don't mention the boot camp, unless explicitly asked. The "Rails dev in 12 weeks" pitch understandably sounds like a scam at first glance. Fortunately it isn't, and I'm happily employed.
As others have mentioned, almost no one in our cohort came in without prior programming experience. They seemed to be screening for types who:
* Had prior programming experience
* Did not major in CS in college, if they went to college
* Performed well in technical interviews
Teaching is very hands off; per day, you're given a partner, a project, and limited guidance from an available TA/instructor. I rarely talked with our main instructor. Workweeks were expected to be around 90-100 hours.
I graduated a while ago, so this information may not be current. I also can't speak to graduates of other schools. At the time, it seemed like a good way to grab otherwise smart people who missed out on CS in college, and give them the opportunity to retrain.
To give you an idea about what kind of juniority is attractive to a shop like ours: We run our own in-house internship program which takes 9 months. It requires CS degree plus some previous experience (private pet projects are OK) to enter.
The intern is paid living expenses and has vacation like other employees. The goal of the program is to hire the intern as a permanent junior developer after 9 months. Junior starting salary is also a far cry below 100K USD, but then again we don't have to live in San Francisco.
We came back to their next graduation, and that batch of candidates was even worse. Next time, we didn't come back, but we did interview some folks over Google hangout. No one made to the next level of interviews. We no longer participate as a hiring partner with the bootcamp.
Now, that's a sample size of 1 (well, sampled it 3 times, but still only one camp), but the experience was about what I would have expected. Most of the bootcampers were 1) wanting to make more money and heard that coding pays well, or 2) out of work and trying to learn new skills to land a job, or 3) switching careers. About 95% of the folks we talked to fell into the never-seen-code-in-my-life-till-this-camp group. And it showed. The camp touted the campers as junior developers, and they were not remotely developers, let alone junior. They were people who now knew what coding looked like. That was about it.
Worse, we got some initial false positives because one of the questions I asked was the very simple but classic fizzbuzz test. It turned out that the day before the hiring day, the camp covered that test, as well as others, that get used in interviews. Not cool.
Overall, I'm not yet convinced of the value of such camps, at least those that say they can take someone with 0% coding experience and turn them into a junior dev in 9 - 12 weeks. I don't think so. Maybe if they've already graduated with a technical degree, or minored in CS, but not for someone who's worked for 15 years as a legal secretary, etc.
I recently interviewed a ton of boot campers and the skill level varies greatly. I would have hired a few of them for junior level roles, but we were really looking for more experienced people. IF you are considering boot camps is try to get in early so you have access to the best people there. My guess is that the best get snapped up fast.
To answer the original question - companies in my area are unlikely to hire from a Bootcamp and I think this may be a trend in smaller hiring markets.
I've had some experience with bootcamp grads over the past couple years, as they have applied to jobs I had posted (I recruit engineers). Based on my experience, the bootcamps seem to do a good job of building confidence in their grads, although that might be a trait of people who go to bootcamps (those confident that they can change careers in 10 weeks).
I believe there was also a trend of some bootcamps to hire their own grads in some capacity, which could skew the numbers a bit.
Like many of the other commenters here, I'm also a co-founder of a trade school (Code Fellows, we're 2 years old) that offers immersive programs for web and mobile developers. We have 13 different offerings to accommodate developers with varying skill levels and interests. Our flagship program teaches students who have on average ~2yrs of experience writing code professionally, and our hiring partners offer them >$75k/yr in Seattle (on average, though the spread is interesting...detailed stats here --> https://www.codefellows.org/alumni-stats)
I've talked with hundreds of hiring managers about this topic, and - to answer your last question - the reason why they want CS degrees is because web/mobile developers often need to design systems and solve complex computational problems (not to mention the need to build well-tested, scalable products). There really is no shortcut to learning the foundations of CS necessary to perform well at these tasks.
Thus, to piggyback off of what others have said here, many students who go through these intensive programs often have CS backgrounds and are looking for intense "polish" to get up to speed on recent industry tools and practices.
Less than a month out of the school I was offered a job paying $55,000 a year salary at a large insurance company.
They primarily use Java and Groovy. The bootcamp taught Ruby on Rails. Maybe I got lucky, but I've found that the ability to code is slightly less important than one's ability to speak about programming/code in general.
If you can read and understand documentation, understand fundamental concepts like OO or functional paradigm, and understand what a stack is, a closure, recursion, the difference between an integer and a float, or a character and a string, methods/functions, etcetera, you are more or less hireable.
Basically you have to understand how a computer works, and the fundamental concepts in programming, as well as how to apply them.
However, you do need to have some sort of experience to put on a resume. For instance, if you go to a coding bootcamp you should be able to develop a simple REST API which sends a blob of json from a DB to a URL. That's a relatively complex task, but with a tool set like Ruby on Rails can be done in < week.
Essentially what I am doing at my job is more complex list processing and analysis. Just taking a bunch of data from a db, performing some operations to it, and spitting it back out. Basic stuff.
These are my opinions, and not necessarily those of the company.
Hiring junior engineers is always risky. It's a bet against several factors that are nearly impossible to be certain about in any hiring situation, but there are several up-sides to the candidates that we've seen.
1) These are motivated people. The decision to drop everything and code 12 hours, 6 days per week, doesn't happen lightly. Contrast this to some college graduates who drifted toward a CS major.
2) These are not first-job people. Most are switching careers, but have already ironed out some important pieces of their adult life. You are less likely to encounter over-partying, failures to set an alarm, or other maturity problems that impact work or work/life balance. The end result is a more reliable worker.
3) They have a secondary competency related to their former life. Sometimes you can leverage this in their work. It's handy to have an ex-legal clerk doing TOS compliance or a sales guy helping on the ad system.
4) This tends to be a more diverse pool. The factors that still screw with women and other under-represented groups entering CS and related majors aren't as present here. If you've got a Silicon Valley "White Boys Club" monoculture holding you back, train them to fairly evaluate people not exactly like themselves and give it a try.
There can be downsides, of course. Of note:
1) These are not computer scientists. They know one or two toolkits and little or no theory. This can be mitigated by the maturity and motivation mentioned above.
2) It's up to you to effectively mentor junior employees. If you don't have a few people on staff that have the humility and patience to answer questions of junior folks, you're doubly hosed because of the lack of knowledge depth. But that's your fault, not theirs.
3) If you don't have some overlap between the toolkit they just learned and the work you're going to give them, there will be some major frustration. Don't hire a person out of a Rails bootcamp to write Java.
In the end I think this is a pretty decent, if imperfect, way to add quality junior employees.
I pointed out that, not only is my degree not-in CS, but I would probably be dissuaded from applying to a job that required one. He said "don't worry - it doesn't mean anything, they just all say that."
Here is my reasoning:
* 2 years of college is just to finish core curriculum/elective stuff (history, foreign language, writing, philosophy, etc)
* 2 years of college is used to finish computer science major
* Each year, students study for 40 weeks. So in total he studies for 80 weeks.
* Each week, he takes an avg around 3.5 courses a week.
* Each course takes him an avg 4 hours a course (remember college kids waste a lot of time...a lot of time).
Total= 2 years * 40 weeks/year * 3.5 courses/week *4 hrs/course = 1120 hours
Conclusion: If you put in bootcamp hours, which is 80-100 hours a week, it's only 11-14 weeks. That's the avg length of a bootcamp. Bootcamp = college degree in CS (from a mediocre program) minus the core curriculum and minus the 2-3 internships you would do in college.
Many people here are saying that bootcamp alums aren't as good as college grads. I don't have enough data, but I would agree with that statement. While bootcamp grads aren't as good as CS grads, I wouldn't say the bootcamp education is worse than a poor/mediocre CS program, because of some unaccounted for variables:
1) Internships are still vitally important! 2-3 internships is basically a full year of programming on a very diverse set of problems!
2) Selection bias: Better programmers tend to start earlier in their career, hence they don't have to go to bootcamps.
3) Confidence issues: It takes years for people to be comfortable with engineering. I would not be surprised if people don't have confidence issues going into interviews + work after a 12 week bootcamp.
2 had 2-3 years experience post boot camp. They are excellent mid-senior devs. They are from Flatiron School.
We have hired 3 juniors straight out of camp. All are on boarding at or exceeding our expectations. 2 are from App Academy, one is from GA.
EDIT: I'm pretty certain our JRs don't make 100k.
So it seems the general concern for these bootcamp graduates is that they know the basic skill to do entry level work but lack the foundation to progress to harder tasks? If anyone can speak from experience, what are some of the subjects that aren't taught in depth enough at these bootcamps?
Last summer, I successfully applied to both a graduate program as well as a bootcamp. I decided a graduate degree would probably be better in the long run so I decided to pursue that instead. However, because my undergrad degree was in biochem, I had no CS background. I was self studying for a little over a year but hadn't taken any classes so they told me I had to take some prereq courses. Long story short, they wouldn't let me take them out of order so just those 8 prereqs would've taken me 5-6 quarters, almost two years. And that's before I would even begin the master's. So I dropped out and contacted the bootcamp to see if I was still admitted and am now waiting to join the April class. I'm just wondering if anyone out there has any experience similar to this and has any advice on what I should do before and after the twelve weeks?
TL;DR Bootcamps aren't the only ones just looking for tuition money and could drag out a degree long and expensive enough to make it not worth the investment.
We also treat the internship as a real internship, not a contract-to-hire. We expect to be teaching them.
As others have said here in one way or another. The good ones are ones who were coding anyway and just needed some help leveling / focusing their skills. The ones who didn't have a clue about programming when they started, don't come out much better IMNSHO.
I graduated from the Flatiron School at the end of April 2014. 6 weeks past graduation, I had 3 job offers (1 apprenticeship and 2 full offers) and accepted an offer for $75k - which, by the way, is a very normal salary for a Flatiron School grad (http://www.quora.com/How-successful-are-code-bootcamps-like-...). Now, 6 months after starting work, I think anyone on my team would say I'm more than pulling my own weight. I've already been involved with interviewing candidates and training new hires.
I had some experience with coding pre-Flatiron, but it was relatively minimal (AP computer science - so effectively 1 3-credit college course).
A great developer is made of 4 parts: 1. Inherent talent, 2. Grit and determination, 3. Effort, 4. Experience. You can always boost someone's experience by giving them time to keep learning and helping them along the way.
In terms of recruitment, I can't speak for other schools, but Flatiron grads tend to be placed by networking, not job boards. It's easier for a fresh developer to make a contact and open up a job than it is to fight with others for an already-open spot.
I can't speak for other programs, but due to the rather steep admissions requirements, there's not a single student who arrives on their first day of Hack Reactor without having invested many, many hours into learning and coding. This included becoming proficient (at least to a functional novice level) with Git. I, myself, had a couple of years professional experience - but that experience was at a small eComm company in a small town, utilizing technology lightyears away from the bleeding edge. I went to Hack Reactor because I wanted to make a real go of my career. I don't have a CS degree, but HR got us up to speed on CS fundamentals to the point where I didn't encounter problems when I went to tech interviews.
I do not anticipate starting at $100k - maybe half that if I'm lucky.
The caveat is you have to be very selective in interviewing. Hand out small take-home test projects, and look for guys that not only do a good job, but go above and beyond. Most of the tech bootcamps guys are mediocre, but there's always a few standouts.
One of the benefits that you are getting from a bootcamp is the immersive opportunity to build practical skills building apps under the mentorship of experienced devs. This one key point is something that you won't get from Coursera, Udemy, or any other similar course platform. You can't get code review from a book, nor can you get advice about best practices related to the project on which you're working, from a MOOC-style course.
Here at Lighthouse, we bring in dozens of intermediate and senior devs to participate as TA's, sharing their knowledge, skills, and experience with our students. That, time and again, is one of the key points that our alumni highlight as one of the greatest values they got out of the course, above and beyond the practical knowledge in the curriculum.
Overall, you will get a better developer out of a bootcamp than you will get from someone who has endeavoured to build the same skills on their own, especially in that same amount of time. The ability to work with experienced devs and get that level of mentorship will always produce a better developer than someone trying to achieve the same level of wisdom and skill independently.
When I look at candidates (on all levels), I don't necessary need the most experienced person in the world. I look for people who are smart, gritty, and proven that they can learn quickly and effective in whatever role they're placed in.
It's true there aren't many job postings for entry-level developers, I've talked to a lot of folks who are learning that after their bootcamp, they need to do an apprenticeship before they're going to be seriously considered for an entry-level position. Companies that are willing to offer such on-ramps for new developers (and I know many who are building them) can find the incredible talent they need to grow their engineering teams and businesses.
That said, after attending a dozen or more of these hiring events I must admit that the quality is abysmally low. Two of my previous employers decided to hire our entry-level engineers from these "bootcamps" and 6 months later all of them had been fired for poor performance, even after weeks of mentorship and coaching. In my experience the amount of handholding was far greater than the work they could do on their own. I can recall helping people with basic command line navigation, simple git commands, and even things like running rspec. Trivial tasks that should form the foundation of your work as a software engineer required almost constant support.
My personal take is that these schools are great in that they encourage people to pursue engineering but I fear that just like other trade schools (e.g. ITT), it's offer a promise of a big paying job without adequately preparing people for the career ahead.
>If you look around on job boards, there simply is not much competition for entry-level talent.Do not rely on job boards for indication of what's out there. Out of the dozens of NSS grads who have been hired, the vast majority found their opportunities through networking or from companies that have relationships with the school and reach out directly for their junior position needs. The rapid establishment of my network was one of the unexpected, but most beneficial, results of attending NSS.
>Average starting salaries of 100k or moreThat seems like a stretch, at least anywhere outside of the west coast. Starting salaries around here have been about half of that, but the opportunity to get to six figures within a few years is certainly there.
Not really knowing App Academy's name because I was outside the area, I only read reviews that said it was a good program, so I applied. Bootcamps are only emerging in Los Angeles at the moment with General Assembly being the only one there last time I did reaearch.
I am now working as a backend Engineer in SF starting at over 100k.
None of my students have gotten jobs out of my short-term, part time (6 hours a week) course yet. Most of my students were already employed and looking to find out more about development, or starting their own business. That's why they did a less intensive course. A couple, both with jobs already, are going to start looking soon though, they tell me. I'm excited to see what they come up with :)
However, I know that from the immersive course (UX Design Immersive and Web Design Immersive) which are all full time, many students get jobs. One recently at a company I used to work at, and in fact, my Teaching Instructors were both ex-GA students one of whom had gone on to get a job and then start freelancing.
I think the key is to keep a balance of experience within the team so there is mentorship available and to have clear expectations on both sides on ability, how fast one might learn, and the relationship to that and salary. Roughly speaking, if a junior engineer is willing to start at 60% the salary of an experienced engineer but grow by 10-20% a year, it works.
However in the end I was overruled by others unfamiliar with the specific technology and relying only on raw years of experience numbers.
I think he accepted a different offer and relocated--unfortunately, another case of management not listening to the front-line troops (but not so for him, as he's better off elsewhere).
(And as another poster noted, I believe he was one of the few in the program who was fairly new to development.)
I definitely believe it is realistic to get a programming job without a degree in computer science or a related field.
Here's why:Computer science degrees (as a whole) have been greatly devalued recently. I've talked to dozens of employers who are frustrated with "CS grads" who know nothing but archaic languages and have no practical, modern coding experience. Most assuredly YMMV, but universities are doing a really poor job of keeping their curriculum modern and employable. Having a CS degree doesn't make you an engineer any more than studying Latin makes you a fluent francophone. Employers are much more interested in competency and performance than they are with credentials and grades. With software engineering, it's all about what you can build. Not only that, but a college degree isn't a great measurement of talent or skill.
If you can demonstrate competency or skill proficiently in an area that is in high demand for employers, you will be offered a job.
Best ways of learning have been: 1.the study groups done almost twice per month during 3 months after that RailsGirls event, 2. Learn how to get answers in StackOverflow, 3. Ask around to devs in the internet and even my colleagues (I do marketing in a software company).
I don't know how good are these bootcamps, and I'm not sure if all the comments here included are real or just bootcamps trying to defend their business. I'm pretty sure there are good teachers out there, but dont know necessarily if they are in bootcamps. Seeing that many of these bootcamps either they implied to commit full-time, either they were USA-based, either their curriculums were super-easy, I tried to look for specific help in places like Codementor (https://www.codementor.io/r/5HXQM64N3R referral link!), much flexible and I don't feel 'scammed' paying for really basic stuff that you can learn with time + internet.
In http://petithacks.com/posts/how-i-learned-to-build-a-rails-a... I gave more explanations about my learning.
The bootcamp was designed by the company to bring software developers from entry-level to the equivalent of 3-5 years of industry experience within 12 weeks with the goal of turning graduates into software development consultants.
I went through the first run of the program in 2013 and have been a consultant since I graduated. When I arrived at my first client, although I was lacking in domain knowledge, I was able to run circles around developers that had less than 3 years of experience. I was basically at the same technical level as the developers that had been at the client for 3-6 years. Within 6 months, I had guided the client's executive team on how to effectively target mobile devices as well as leading them to build their first responsive web application, which was built for one of the nation's largest retailers. I also now have a bill rate of someone with about 5 years of experience.
Bootcamps can be produce incredible results if they are done well, but ultimately it comes down to having the right people go through the camps and having the right people teach them. The participants need to be inquisitive, hard-working, and quick-learners, and the teachers need to be passionate about their craft and domain experts.
$100 (65k) is very unrealistic for a junior dev in London. I was hired at 35k, which is pretty good for a junior.
Caveat: as part of a maths degree (and as a hobby) I'd done a good few chunks of (self-taught) programming, so was a long way from "never opened a text editor".
Nobody got a 100K job offer, I think. All of them are productive junior people, who will probably go on to have good careers in the field.
But simply completing the program isn't a guarantee of suitability or even competence -- it's just an indicator that they are willing to spend significant effort learning.
We'd probably do it again at some point but our engineering team is not big enough to absorb too many junior devs and train these. GA helped in building a foundation, we wouldn't have had the resources to do this training on our own.
And no, we were not paying 100k to people right out of the program.
We treat our QA department as kind of a software engineering farm team. In fact, I don't know the last time we hired an entry-level SE directly. So maybe our QA engineers are what other places might consider a "junior SE".
Back during the .com boom days of the late 90's if you could spell the word computer you could get a job making over 60K+ a year as a "programmer". Some of what is happening today is beginning to remind me of that. History shows us that the market will correct itself. It's just a matter of when.
Also, my girlfriend teaches at Zipfian Academy (http://www.zipfianacademy.com/), a data science bootcamp, and so far they legitimately have a 100% placement rate. I'm sure they won't keep that up forever, but they do a great job preparing their students. Theirs is a little different, however, as they expect some prior programming and a fair amount of math, so it's fairly difficult to get into.
YES - we have hired out of Flatiron school. A total newbie who goes through the program can't come out as a full-fledged developer, but we have brought them in as QA/Automation engineers and then promoted to developer after 9-12 months.
It seems like you're confusing listed job requirements with actual hiring practices. They don't have that much to do with each other. I don't think every graduate of a developer bootcamp is necessarily qualified to go right into a full engineering role, but more than enough are to make it worth it to employers.
do you see people with CS degrees, from 10+ years ago, going to bootcamps to learn new skills?
I'm in that situation and mostly worked in network, sysadmin & security and also got an LIS so I'm quite removed from the front-end/back-end relationship on a practical level and would like to start some projects and be able to use things like node.js to solve common/daily issues quickly.
Your thoughts?(I'm probably just going to find some times to read up and exercise but was curious about other's thoughts?)
Also, has anyone from Canada tried any good school here?(From Montreal here, but interested about other big cities...)
There are quite a few assumptions being made in messages on here. I think thats partially because coding bootcamps are very different from one another. For instance, the students we have at Bitmaker Labs typically have little-to-no experience coding, whereas shawndrost of Hack Reactor points out that many of their students have coded on the side for a year or two. I cant speak to how everyone in this industry recruits, but I can share what Ive seen in my experience with Bitmaker Labs over the past two years:
- The number of open web development positions is exceptionally high and the barriers to entry (i.e. prerequisite diplomas, degrees, etc.) are very low in many cases.
Several people have already touched on this point. Ultimately, a students abilities are more important than their credentials. So when you have an industry with a huge number of open positions, and students with practical knowledge and a thirst for learning, its no wonder placement rates are so high at many bootcamps. For us, over 90% of our students find industry work within three months of completing the course. Bootcamps also do a lot of work to build relationships with companies that are open to hiring junior developers and tailoring their programs to fit employers needs. This can help open doors that are otherwise very hard to find when you are learning on your own.
- The job openings are for multiple types of programming languages, but the people hired into these positions do not always have experience with those languages. Startups and larger companies are looking for a great cultural fit in combination with decent coding skills.
As I was saying above, many jobs that we are able to find for students are not posted online. Beyond simply opening doors, we work hard with our students to build networking skills and an understanding of the job market so that they also how to create job openings for themselves. Many companies are focused on finding someone they will want to be around long-term employees who can integrate well into a fast-paced culture and who will be able to adapt to a changing tech stack. I think this is one big reason companies are willing to hire developers with a lower skill level or limited experience. Bootcamp students are really hungry to keep learning, a bootcamp is just the beginning of their coding career.
He was already a great programmer, but he took a DevelopMentor Guerrilla .NET class and made contacts there that put him on a contract for Alyeska.
I doubt if he was a mediocre guy they would have noticed him, but he absorbed and mastered the material and got noticed. shrug It happens.
shameless plug: we're hiring in SF for ruby/scala/angular, email me if interested.
I had always been interested in computers and the web, but never made the leap to building something with substance. It's really hard to figure out how all the moving parts of web development work together if you're on the outside looking in. I would read books, follow tutorials, ask friends to teach me, but I would always get stuck on something stupid like installing Postgres. The most important thing I learned at DevBootcamp was how to figure that shit out by myself without wasting time spinning my wheels in frustration.
The numbers that the schools boast about post bootcamp success are really inflated. Very few people who I graduated with found 100k jobs right out the gate. Most settled for 60-80k range, and it took a few months of looking (not bad though!). I'm currently in my second engineering job working on a Java stack. A job in a language and framework that DevBootcamp did not teach.
I think a lot of people don't understand that most of these programs are highly selective and fucking BRUTAL... I was at school grinding away most nights till 1 in the morning. Not only are they challenging in technical sense, but emotionally intense. Being stuck in a room with 30 really smart people who are sleep deprived and being forced to do yoga after a marathon coding session is not easy. I saw people cry on numerous occasions.
Getting a job is hard because of the assumptions people have about these programs. Everyone I went though the program with (and finished) might not have had a CS degree, but they ENJOYED PROGRAMING . Something I can't say about everyone I work with. I went though many interviews where I could tell the person I was white-boarding with wasn't going to give me a shot. I remember being in a final round technical interview and was asked a standard algo question. After answering the problem the person interviewing me asked me how I got to the solution... I had been asked it a million times before and googled the answer after the first time it stumped me in an interview. He did not like my answer.
Good programers are confident and enthusiastic.
Having a CS degree and a math background does not make you good at your job or a great engineer. It's probably a requirement to work on some of the really hard stuff. Google X/Palantir stuff...
I think most of the people coming out of these camps are dangerous enough to make an impact anywhere they go. Given a shot and a little finishing polish they will become great engineers.
Its very depressing to me though..... I freelanced as a web dev for years & turned it into a career because it came easy & now am sticking with it for a bit because I got an easy job offer to do some consulting. But man am I envious of pretty much every other profession...
Basically: if I were not already in this position (handed it on a platter), I wouldn't aspire to it. It upsets me to see friends with master's degrees in arts, sciences etc. clamoring to be low-end web devs. If you get up on the wave easily then by all means ride it for a bit but if you have to start from square 1 there are lots of better things to do with your time.
We've graduated both Web and iOS students and, well, I'm just going to come out and say it: We have a 100% placement/hiring rate of our graduates. Most students secure dev roles within a month of graduating, a few even before they graduate.
That's right. 100% in a country where with 1/10 the population, fewer companies and jobs generally, and no real "valley" comparable to speak of, we are able to have ALL our grads find DEV roles, mostly WITHIN Canada. While I can't speak to whether or not we can maintain that 100% for years to come, I can speak to why and how it's like this now.
While it's easy to argue that 4 or 5 year CS degrees are too long and often not "current" enough, the idea of a 8, 9 or 12 week program that claims to give BETTER or even equal results still seems off.
Being a CS grad who doesn't have strong displeasure with College programs like some others do, I feel that our philosophy is a bit different.
If you ask most professionals where they picked up their skills and expertise, they don't refer to any of their schooling. Instead they'll likely say "on the job". So, you don't grow as much from lectures, exercises, homework readings and online video as much as you do from "DOING". And no form education will ever replace that.
Here's another thing, Instead of comparing a bootcamp grad to a college grad, we should be comparing an bootcamp grad that continues to work as a dev for about 3.9 years to a CS grad coming out of a 4 year program. Who do you think will generally come out ahead?
If you do compare a fresh college grad with a fresh bootcamp grad, I feel that the CS grad does have better and definitely deeper understanding of COMPUTER SCIENCE. Of course they do, you're comparing 0.1 years of CS to 4 or 5 years of study.
Anyway, coming back to our crazy 100% placement of Jr Devs... I think this comes back to our more "humble" take on what our grads are truly capable of and need after graduation. The 8 weeks at our bootcamp prepares most of our students for a 3 month paid internship, which usually translates into full-time Jr. Dev employment at that same company.
So while most bootcamps tout "entry-level ready" developers, we suggest that most bootcamp grads are almost junior ready. They need a few months of mentorship within a company before I would feel comfortable calling them a Junior dev. Owning/Running a dev shop that hires most of it's juniors (as interns) from bootcamps helps me be more realistic about this.
As for salary comparables, Canada (East and West coast alike) is noticably lower than US. Post-internship, our grads make between 40K and 60K. There are definitely a few outliers that will make more than 70K, but that has more to do with their prior experience and what else they bring to the table.
Application => Interview 10%
Interview => Accepted 30%
Accepted => Funded 75%
Funded => IPO / Self-sustaining / Acquired 30%
If you have cash flow issues sometimes, then setup the base ones you can on the auto ACH, and others set on a calendar reminder. My bank lets me schedule the payments but then it reminds me before they come due so I can either adjust them or let them stand. I love that cause it makes it easy to work with those times when there is a cash flow crunch and I have to move a payment out a little or something.
One other point, to protect my credit, I have my credit cards (all 2 of them), setup to make at least the minimum payment + $25 just so I can't fuck up and miss them. I did that when I was younger a few times and man it sucks. But if I want to pay more then I just log in and make an "extra" payment which makes life easy.
Last thing, I don't do it, but I have a friend that has a specific account that he puts only X dollars in each month through his paycheck deposit. So X goes into that account and the remainder goes into his main account (almost every payroll department supports split deposits). He then has all the auto payments come out of the one account where he puts the X dollars into. He likes this because if one of the vendors has something hacked his risk is limited to only what was in that account, plus he never has to think about those payments. Just another idea for those worried about vendors having their primary account information, personally it makes sense to me I just have been too lazy to set that up.
How can people not manage to pay ~12 bills a month?
And like an expense report for 12 bills? You don't know how much your fixed costs are?
Seriously I just don't understand why this is such a problem for some people. On the 15th of every month I pay everything and then write down what I paid and adjust my budget spreadsheet.
This whole process takes 2 hours and I play 2 games of hearthstone or watch the latest episode of walking dead at the same time.
Without a trusted/secure appliance in your home, you would need to delegate spending authority to another legal entity, which would then need access to your banking passwords. That's a lot of risk for consumers to accept, and potential liability for a service provider (e.g. if they are hacked and money is directed elsewhere).
The trusted device would still need to contact a central server for open data that assists in scraping/archiving/parsing your bills from every possible utility/bank/vendor, but the execution of payment could happen locally and be controlled by you.
Many banks can automatically pay bills, but they don't usually support complex logic to "audit" a bill before payment.
0 outbound marketing yet, and already have 22 customers at $100/month. This year my goal is to scale up to 200 customers.
It's a really weird market niche where no one has built software for in 10 years. Pretty neat.
inquicker.com started as a hobby / learning opportunity (2005) and grew into a side project with about $20k/yr in recurring revenue from corporate customers (2008).
Eventually, it turned into a full-time job (early 2009) and I found a co-founder (late 2009). We hired our first four employees in 2010. In 2011 we signed our 100th customer and hit $1m in recurring revenue. In 2013 we hit $5m in recurring revenue.
It's done about 80k in sales in 3 months - I'm in the process of writing a blog post about how I did it, what worked and what didn't. It's not inexpensive, but it pays for itself quickly so people are fine with spending the $45 on the book + videos.
Feel free to ask questions here so I have content for the post.
The description says that it is for novelty purposes, but the reviews show people believe it works and it has a placebo effect. Most reviews say things like "I drove past a police station and it went off! 5/5".
It's funny to see it up in the top 20 of the Transportation category on Play, alongside companies that are heavily VC funded. https://play.google.com/store/apps/category/TRANSPORTATION/c...
I didn't pay much attention to it at first, but people liked the site and kept coming back. Year later the site generates around $30k a month and the operation costs are around $90 (close to nothing).
The site is very lightweight as it doesn't really downloads anything. It just extracts direct links to the files.
There are a great challenges that I have to deal with (like YouTube blocking IPs, sites changing designs all the time, etc.).
It is called LeadFuze (www.leadfuze.com) and it's an email prospecting and outreach service that generates leads via email. Good for B2B businesses and startups, or even companies looking to validate ideas.
I've managed to hit $1k/mo ($1,100) in recurring revenue within 30 days. Going to be a much bigger focus of mine now that it is gaining traction.
It reached the reddit front page for a day, and earned 3,000 during that day. Since then, it's averaged ~150 per month, with only small input from me (minor updates)
Edit: If you'd like to read a preview, you can do so here: https://www.masteringmodernpayments.com/read
Quite a change from my day job working in software but I enjoy the diversity.
Temporary email. Got lucky with traffic, and run two Google Adsense ads.
The first year, I sold for $0 of librairies. In 2014, I've made ~$45,000 and it's 100% passive income. I'm not proud to say that I've worked a total of 30 hours on the site last year (it sounds as if I'm lazy, and I'm not). Moreover, I've never spent a single dollar on marketing, no matter its form.
It works so well that I've taken the decision to leave my daily job to work on the site full time. I (perhaps naively) think that if I make that much money while doing practically nothing, I can surely make a ton more by actually working on it every day for a year. On Feb 1st, I'm making the jump.
It has been tough to get there though. The first year has been a disaster. I nearly abandoned the site. Then, one day, I started to gain traction. To this day, I have no idea why. Then, months after months, the sales went up. It took me weeks and weeks of work to create the libraries I'm selling today. I also did a lot of variations, based on the feedback I received from my customers. My customers are the best, I think. They like what I do, they give me a lot of feedback. In the course of my business, I also did stupid things I regret immensely, like copy a competitor (but honestly it was not intentional), and I'm really, really not proud of this.
Sales have reached a peak of $7500 for the month of May 2014.
The site is based on http://jekyllrb.com/ and is hosted on https://www.webfaction.com/, on a 9$ per month plan. As the site is static, I just need Nginx. That's it. GetDPD allows me to collect payments with both Paypal and Stripe.
To let people pay and downlaod, I use http://getdpd.com/. They are fantastic. I've tried a lot of other options and even though GetDPD looks terrible, it's a great product, well worth the tiny monthly cost.
I hope my story will let people know that it's totally feasible to do a great business as a side project. I honestly wonder EVERY.SINGLE.DAY how come it worked for me, but well,... it worked :-)
I've successfully stopped 1 full blown exploit (admanteumcoin) where there was code that allowed a block to mine any amount of coins desired, (and had RPC calls modified to hide this).
I started out doing it to try to help the altcoin ecosystem, because it's pretty interesting, and because it's a great way to learn more about cryptocurrencies and all their implementations. My code review directory (that isn't actually up to date) is on github: https://github.com/Earlz/coinreviews
I've been very successful in the technology world, including running my own scientific and software consulting company for many years, but as a novelist and poet I've been a complete failure, despite approaching the two in very similar ways. Maybe the markets are simply very different, or maybe it's just luck, or something else. So I think it would be interesting to see some side-by-side of projects that took off and projects that didn't.
There are lots of really interesting things people are posting here, but I bet for every success story there is a story of failure that involves a great many of the same elements, yet somehow never grew beyond the "that was an interesting way to spend my spare time for a while" stage.
Have an assistant that helps curate freelance/contract positions from around the internet and through opportunities I hear about offline. I'm a mobile developer, so it's an effective side business to be working on.
Many people have scored new clients and worked on interesting projects through the service. Some people find it's not for them. Definitely offer a money-back guarantee if you're working on something digital/saas. No reason to be taking people's money if they're not getting value out of your product.
Another valuable lesson: we did really well with podcast advertising thanks to Release Notes (http://releasenotes.tv/). If you can find a podcast with 10,000 - 20,000 listeners that serves a niche, you should be able to produce a nice return. IMO our landing page is terrible, but it converts quite well.
It currently makes about $1,200/mo. I do somewhat detailed income reports over at http://www.it-engelhardt.de/income-reports
My wife has always hated the meal planning/recipe organization and sharing process and available tools (she'd used a few different products). After asking lots of friends for recommendations and hearing enough times, "I use X, but I don't like it, so if you find something better, let me know." it seemed like a promising lead for a side project!
Worst case: I make no money, and my wife finally has the meal planning tool she's always wanted.
I only launched the book about 1.5 months ago, and I'm at about $1500 in revenue. I'm definitely hoping to see greater income with the higher tiers (including video) and greater marketing. I'm also speaking with some companies about them buying site licenses of the book, which would increase the revenue even more.
I am, today, skeptical that it's worth anyone's while to try to make money from ads published alongside one's articles. At one time that was widely accepted as the very best way to make money online, but no more.
I'm getting ready to do a KickStarter project so I can devote myself full time to this:
So far I have some remote employers and clients, and some employers in a few large US cities. After I have lots more remote employers, as well as some in a few other countries, I'll do the kickstarter.
Someone managed to make fifty-six grand from a KickStarter in which he said "I'm making potato salad". Not that he was going to sell it commercially, or had come up with a killer potato salad recipe. I mean like he was fixing his lunch for the day.
Just a couple days ago, I read that three times as much money is raised from crowdfunding than from VC.
Consider that with crowdfunding, you don't lose any equity. You also don't have the problem with a bad VC giving you bad advice, or even demanding you do stupid things.
There are some VCs who are very, very good. Despite having to fork over lots of equity, the good VCs are very worthwhile, but IMHO a bad VC is far worse than not getting funding at all.
TBH, the worst part about this is that it's so easy, I got pretty lazy about it. This is why I haven't answered the "what did you make?" question - I got so lazy about it in 2014 that the side projects brought in about half what they made in 2015. Kinda painful in retrospect.
Likewise, if I had web sites for this stuff, if I built email marketing systems, I'm sure they'd make more money. I even have a Kindle version of one of my books, and I still haven't gotten around to sharing it with my customers. Kind of embarassing, actually.
But even then, I'm well over the $1K/month mark. No worries there. All you really need to do is create stuff that people find worthwhile.
I have a small directory website. It's pretty boring stuff, but it is a good source of almost passive income. Never published it. I just created the website and sent the sitemap to Google Webmasters. It's 8 months old and I have 400k pageviews/month.
I have lots of projects in idea stage, I want to execute at least two in 2015. My plan is to reinvest all money from this first side project to create others.
bots4 is a freemium text/browser-based robot fighting game. It was making $3,000/month at one point, but revenue has dropped significantly since then (and it fluctuates a lot based on the activity of whales). Operating cost is $25/month for Linode VPS hosting. Here's the revenue history as of August 2013:
It makes money purely through in-game purchases. Players can buy what are known as "stars" for $10 USD each. Stars let you order items for your bot so that you don't have to camp for them. The alternative if you don't have stars is to wait for your item to appear, so stars ultimately don't enable you to do anything you couldn't do without them, but they are a big convenience, especially in late game where certain items appear very infrequently (still only O(hours) though).
If you want more info, you can read through my posts here (linked to archived version because it's not loading on the original domain):
The amount you make from the Job Board post is heavily dependent on the amount social followers (drives traffic and makes purchasing more appealing).
https://www.angularjobs.com started making ~$1000/month in revenue with a highly targeted social reach of ~10k followers.
Technical co-founder type? Take what you know about programming and offer recruiting services to the early users of your site. Both companies and developers visit job boards, providing both the clients and talent needed to collect recruitment fees(over 10K in major US cities).
My main gig is http://www.LinkPlugApp.com where I play a technical role.
LinkPlug is how I drive traffic to the JobBoard from social media accounts like the ones below(click a tweeted link to see an ad for the JobBoard):
edit: added Twitter account examples.
It's free to download and try it out, but then I charge for additional puzzles.
I was keen to give a complete version of the app for free (without ads) so that people understand clearly what I'm offering. This strategy seems to be working with good and returning custom. Not $1k yet but some reason for optimism ;)
My method is simple and has only four steps. 1. Write something cool and put it online for free. 2. Wait 4 to 5 years. 3. Gather all the emails asking if they can license it or pay you to adapt it. 4. Then slap on a price/marketing page emphasizing what everybody asked for.
http://websequencediagrams.com is my SAAS business. When I was working on 3GPP at RIM we had to spend hours in Visio moving boxes around, and pasting the results into word documents. It was a challenging layout problem. By 2007 I made a python script that did sequence diagrams automatically and put it online. I began to get emails from companies saying they wanted to license it, so I obliged. After I left RIM, I converted it into a freemium product. I have about 400 users paying $9 to $15/month.
My favourite is http://rhymebrain.com because I don't have to do anything. Google just transfers $1-2K into my account every month for Adsense.
Among that, I started selling Prestashop modules on May 14, and now I get around 800/1000 per month from this.
Getting money on your side project is (imho) the best feeling in the world. You get notifications (email for Prestashop, SMS that I configured for VoilaNorbert) at every sales, and when you receive them, oh that feels great! :)
This lead me to learn something very important : you have to finish what you start. It's my big default, I always stop in the middle. Norbert and the modules for Prestashop was an exception, and now they make money!
Next, my wife and I started CourseCraft (https://coursecraft.net, launched December 2012, e-course creator tools + we handle transactions for 5%-9% of sales). Since it's transaction-based it's a lot less consistent monthly, but growing faster. A typical month is $300-$400 in revenue, but it's been a lot higher (and a lot lower) here and there.
The site generates >$1.5k per month at the moment from AdSense alone, without any marketing other than SEO and broadcasting to the social followers we've accumulated. This revenue is secondary to the real and long-term value being generated in the form of large numbers of membership/email subscriptions and social followers.
Im working on a similar service using SMS.
It's not passive income, but I only use ~ 1 hour a day on it (packaging etc.)
http://undupe.com was something I spun up one day, it gained a little interest and now it runs around $400+ a month(with under 10 users). Not very much, but a nice start.
I'm working on moving this one up a notch past $1,000/mo while adding other small products to my portfolio.
$1k/mo is still a milestone I've been working on reaching. Up until now, I've been an active contract developer.
Still have lots of product tests running and seeing what will be next. Eventually, this will turn into a nice portfolio of digital assets and income.
I'm not making anything close to that but I've worked on a side project of mine for months with no gain. At this point I'm debating if I should just move on. It's not revolutionary but but any advice would be beneficial.
It's doing about 1.5k/mth. Launched it 2 months ago. Took me 6 months to create it. Still adding content to it though, will probably take about 1 year more before I complete it.
The site that hosted the course did most of the marketing for me so I just focused on the product. Startup cost was about $150. Spent it on microphone and digital writing pad.
200,000 searches per month on goggle UK + moz keyword difficulty of 31% = opportunity
I owe a lot to Feedback Army. It was the first thing I made where I made money without putting an hourly value on a unit of my time. I learned to think of my business as a system for fulfilling what I promised and collecting money from customers. This side project was a great way to cut my teeth on some business and service fundamentals.
Currently the videos generate about $3,500/month in revenue. There's little out of pocket expense for the initial production of each video (stock imagery, reference books, etc) and no ongoing expenses after production is complete.
I started out just focusing on topics that I was interested in but didn't have a lot of success. Once I started approaching things as a business my return improved dramatically.
It's got a standard F2P model for the collectibles aspect: you can get everything for free by playing the games / posting in the forums, or you can pay for it. It probably doesn't make as much as it could as I refuse to employ "dirty F2P Tricks", but that's a personal choice.
Check it out if you care to :)
Today it has 1mio pageviews/month, PREMIUM Membership, Photoshop Plugin, AdSense and some "30-days" ads.
And photos are still FREE :)
Neither app has any server-side components, so they don't cost me anything but squarespace fees for my website and my iOS dev program membership.
Edit: Oh yeah, they're both paid apps and I don't fiddle with the pricing
Growth was slow but steady, and the site now receives ~1.4M pageviews per month. The money to keep things up and running comes through banner ads - it's not a huge amount (have only started hitting just about $1000/mo in recent months, and don't know how long that'll last for), but it's still a nice revenue stream to have.
This is the quick (1 min video) version of how I did it: https://www.youtube.com/watch?v=y0y28HmcqUo&feature=youtu.be
This is the longer version: http://blog.quickmail.io/category/journey-to-1k-paying-custo...
It's an inventory/career management platform for working Artists. Slow but steady growth, mostly word of mouth and recommendations by influencers in the space. Me and one other business partner. We had our first $1k month in our 4th month of operation. We are well over that now and with current growth it should match the income of my full time job in the next year or so.
+ pc builder site http://assembleyourpc.net I created ~1.7 years ago, generates revenue from Adsense and few affiliate programs, 2-6 hours of work (per month))
+ other niche tools : http://portchecker.co and http://signature-maker.net weekend side projects, 0-2 hours of work(per month))
I've been running it for the last 5 years. The first 2 years, it was just a blog that I maintained for free. 3 years ago, I started selling access to audio recordings of the lessons as a subscription.
The site generates about $2K per month off of around 300K monthly visitors. It continues to grow but very slowly.
I got into this stuff because I am very interested in domains - especially .io domains
At first domains were just a fun hobby - to collect for future projects. But then I sold a few and bought a few more and scaled it out.
I created park.io to automate things.
I wrote a site creator for non-profits that allows them to create customized fundraising sites.
Source Code: https://github.com/rainmaker7/locator
Although I haven't spent a single penny on promotion and selling it for less than I should I guess.
I also operate some "for fun sites", which are all small projects for example a video-game discount aggregator (just scapes sites for discounts) all together ~$200/mo.
Will complete it by next weekend.
It's a SaaS app and a Chrome Extension. It has tens of thousands of monthly active users and makes $x,xxx per month.
It's a lot harder than you might think.
My clients give pretty reliable recurring revenue, so much so that it's gone from a side project to a full time gig for me.
Currently I'm working on scaling very hard.
It was a good year, and it feels good that 15 years of insanely hard learning have paid off... It feels surreal, like I'm dreaming and I'm going to wake up.
Backend page view tracking is not compatible with most forms of response caching.
These days RAM is cheap and SSD storage is also widely available. For a very long time, one of my side projects with 50K users was hosted in a EC2 small instance. With that out of the way, here are a few things you will need to take care of:
* Security (especially passwords) - Rails should take care of most of this for you, but you should ensure that you patch vulnerabilities when they are discovered. Also, stuff like having only key-based login to your servers etc.
* Backups - Take regular backups of all user data. It's also VERY important that you actually try restoring the data as well, as it's quite possible that backups are not occurring properly.
* One click deployment - Use Capistrano or Fabric to automate your deployments.
* A good feedback/support system - this could even be email to begin with (depending on the volume you expect), but it should be accessible.
* Unit tests - as your app grows in complexity, you will never be able to test all the features manually. I'm not a big fan of test driven development, but really, start writing unit tests as soon as you have validated your product idea.
* Alerts, monitoring and handling downtime - Downtimes are inevitable. Your host or DNS could go down, you might run out of disk space, etc. Use something like Pingdom to alert you of such failures.
* Logging, logging, logging - I can't stress on this enough. When things break, logging is crucial in piecing together what happened. Use log rotation to archive old logs so they don't hog the disk space.
10K user records is not the issue. It's dealing with the humans who use the app on a day to day basis.
Typically getting only a small fraction of your user base to be active in the app is pretty challenging - if you can acquire them in the first place.
That said, having even a few hundred active users can tip the scales in terms of what is manageable, depending on what the app does and whether they're paying money or not. Customer support can be a full-time job or worse. In the early days your users will discover every bug and problem imaginable.
Biggest mistake I ever made was scaling up an active user base on a free product without a revenue model. Twice I managed to hit a sweet spot in acquiring active users but because I couldn't leverage the scale to achieve anything other than more work for myself, I burned out and it collapsed very quickly. If you make more money as you grow, you can afford to invest in delegating responsibilities or at least justify it. Otherwise you've got a very stressful hobby on your hands..
Quick add-on edit:
If you're launching a web app for the first time, the biggest takeaway you should get from the comments on this thread is anticipate that customer support will be a major challenge.
One of the best ways to prevent a flood of CS inquiries is aggressive logging and alerts to squash bugs or outages before they inconvenience too many users. Lots of great comments in here cover that point, so take notes.
My service has a lot of moving parts, all of which are distributed among a couple dozen different servers. Keeping the technical infrastructure running smoothly requires a lot of data visualization of server stats, database stats, web request stats, worker stats, user stats, etc. I have everything piped into a nice dashboard so we can see if there is anything odd happening at a glance. When things break (and they will) you need to know where to look first.
Having 5k users also requires time to help them with support issues. Users generate a lot of bug reports, questions, and suggestions. To keep paying users happy, I offer a 1-day response time on support issues, which requires me to spend quite a bit of time sending emails.
Then, of course, if you want to grow the app, you need to spend time marketing it. We could talk for hours about this.
The list goes on and on. Feel free to shoot me an email (email in my profile) if you want to talk specifics about anything.
How's the distribution of traffic? Do people use it spread out over the month or mainly within the last or first days of the month? Do they use it on work days or throughout the week? Are they from different time zones?
What do they do? Is there a lot of write activity or is it mainly read? Is the read stuff cacheable between users or is it highly individualised. etc. etc. etc.
With reasonably "low level" tooling such as Java/Clojure/Haskell/whatever and a properly configured Postgres instance you should be able to go quite far. You're very unlikely to be CPU-challenged in the web app (again, no idea what your web app is going to be doing, so it's just a guess), most of the memory and CPU will be consumed by your database server caching and running queries. You should be able to handle a good 500-1000 db transactions / sec without much hassle.
IMHO most of the challenge will be making something that 10k people will want to use daily, not actually being able to scale to that many users.
That server runs happily as a single servo on http://modulus.io with absolutely no need for intervention on my part.
The rest of the application has similar requirements. I have one micro-equivalent server running the front-end, one the api and one the thumbnail generation. In general, this requires no hand-holding by me.
If your site is not processing or memory-intensive it should be feasible to scale to 10k users with a single $5/month instance on DigitalOcean or an equivalent level server on Heroku or Modulus or GCE.
Good luck attracting your first 5k users!
I have http://ficwad.com/ sitting around, with Google Analytics telling me it gets daily users in the upper end of that range. It runs on the cheapest plan webfaction offers (and I'm making it even cheaper with some affiliate credit...). The only place where it's running into issues is email, which I had to write a little queue system to throttle the sending to keep it under the plan's daily limits while still making sure that the important messages go out first.
I could make it fancier and put it on pricier hosting if I bothered to monetize it in any way.
2. Do not invest time and/or money in learning another programming language or framework until you are sure that for a specific component of your product, programming language X will perform at least 2 times better with 2 times less HW resources.
3. Stressing again on the app stack (I saw some really pushy comments on changing the programming language), it is rarely the bottleneck of a web app. You'll scale your storage stack way earlier and more often than the app stack.
4. Know your data. That's how you decide if it's better to use a RDBMS, document store, k/v store, graph database etc. Like I said before, you're going to scale your data before any other layer becomes a problem so choosing the right data storage solution is crucial. Don't be afraid to test various storage solutions. They usually have good -> great documentation and ruby tends to be a good friend to every technology. There's a gem for everything. :)
5. Scale proportionate to your business/product growth. You will have to scale at some point. But be careful to scale proportionate to your growth. For example, if the number of users will double, get the hardware that suffices that growth. Less HW resources will lead to a slower user experience thus user dissatisfaction. More HW resources than needed will increase your costs and the resources that are not needed will stay unused. Why waste money?!
These are my 2c. As your business gets bigger - I hope it does - other problems will occur. But usually these things will last up to 100k users.
Disclaimer: this is for a generic web app as you didn't give us any details. Depending on the app, some of my points might be inaccurate or invalid.
And it took me nearly 4 years to get that many users. We cant all grow like facebook!
The second problem is motivation, after a certain amount of time, it becomes far less fun and much more of a burden, at which point you have to decide if you'll power through, give up, or quit totally.
The rest is just a software/hardware problem, and easily dealt with when needed.
As for the load, it's not that busy, but not that quiet for what it is, (http://stats.thisaintnews.com) and it runs on a cheap server from http://www.kimsufi.com/uk/, has a Xeon(R) CPU E3-1225 V2 @ 3.20GHz, 16Gb ram and 2x 1tb hdd, unlimited bandwidth and 1gbps link. It only costs about 25/month iirc.
- A reliable hosting environment. I currently have a Linode VPS (basic $20 package, with $5 monthly backups) that runs http://sleepyti.me, my personal web site, an IRC server, a Mumble server, and a bunch of other stuff -- it's not even close to being maxed out resource wise, even with all the constant traffic the site is getting. It's important to remember that consistent network connectivity is a really important aspect here: a 30-minute downtime during peak hours can easily lose a lot of users. I'd say Linode is great, and I'm very happy with their service, but I also host several Sinatra web applications on a Digital Ocean VPS that only costs $5 per month (although I do my own backups, rather than using their service). I've noticed zero load-related performance impacts. Clearly, though, there is a limit to how far that can scale.
- A production web server. This probably goes without saying, but a lot of webapp developers are used to just working on their own dev environment. For my apps, I use nginx (and thin, when necessary).
- Security. Make sure that you have the basics of application security covered in your app itself. OWASP produces some pretty great "cheat sheets" that can help out in this area. Furthermore, make sure that your server is updated frequently, using SSL correctly, etc. I work in information security -- please believe me when I say that getting hacked is not something you want to deal with when you're trying to grow.
Hope this helps, and good luck with launched your apps!
Firstly, the load of a web app is going to be dictated by what the app actually does.
Also 5k-10k users should be clarified as to whether you mean total users or concurrent users. Testing capacity can be actually tricky figuring out how the number of users equates to actual hits to your servers.
As an example, we have nearly 50k accounts but on average only a few hundred are using the service at the exact same time. I would guess that our app is fairly complex compared to the average app. We run 3 app servers, 1 DB master, 1 DB slave, and 2 cache servers. Our monthly hosting bill is around $1,200.
If you back out the numbers, they go something like this: eight hour work day, worst hour has 25% of the user base actively logged in (we'll assume it is a very sticky app), 10 significant actions per hour implies 25k or so HTTP requests which actually hit Rails, which is less than 8 requests a second. You can, trivially, serve that off of a VPS with ~2 GB of RAM and still have enough capacity to tolerate spikes/growth.
Let's talk about the more interesting aspects of this question, which aren't mostly about capacity planning:
Monitoring: Depending on what you're doing, at some point between 0 users and 10k users, the app failing for long periods of time starts to seriously ruin peoples' days. Principally, yours. Depending on what you're doing, "long periods" can be anything from "hours" in the general case to "tens of minutes" for reasonably mission-critical B2B SaaS used in an office to "seconds" for something which could e.g. disable a customer's website if it is down (e.g. malfunctioning analytics software).
I run a business where 15 seconds of downtime means a suite of automated and semi-automated systems go into red alert mode and my phone starts blowing up. I don't do this because I love getting woken up at 4 AM in the morning, but because I hate checking my inbox at 9:30 AM in the morning and realizing that I've severely inconvenienced several hundred people.
You're going to want to build/borrow/buy sufficient reliability for whatever problem domain it is you're addressing. I wouldn't advise doing anything which requires Google-level ops skills for your first rodeo. (There is a lot to be said for making one's first business something like a WordPress plugin or ebook or whatnot where your site being down doesn't inconvenience existing customers. That way, unexpected technical issues or a SSL certificate expiring or hosting problems or what have you only cost you a fraction of a day's sales. Early on that is likely negligible. When an outage can both cost you new sales/signups and also be an emergency for 100% of your existing customer base, you have to seriously up your game with regards to reliability.)
Again, depending on exactly what you're doing, you will fail well in advance of your server failing on the road from 0 to 10k users. Immature apps tend to have worse support burdens than mature apps, for all the obvious reasons, and us geeks often make choices which pessimize for the ease of doing customer support.
My first business produced a tolerable rate of support requests, particularly as I got better about eliminating the things which were causing them, but I eventually burned out on it. I have a pretty good idea of what my second one would look like if it had 10k customers -- that would imply on the order of 500 tickets a day, 100+ of them requiring 20 minutes or more of remediation time. This would not be sustainable as a solo founder. (Then again, if that business had 10k customers, revenues would presumably be in the tens of millions, so I'd have some options at that point. There are many businesses which would not be able to support a dedicated CS team on only 10k customers, like e.g. many apps businesses, so you'd have to spend substantial brainsweat on making sure the per-customer support burden matched your unit economics.)
The biggest issue: selling 10,000 accounts of a SaaS app is really freaking hard.
As others have mentioned, multiple of those users can be hosted on an EC2 small instance. I suggest you start there. When moving to production, a bigger challenge is security, both in terms of intrusion and data protection. Making sure you have good rollback feature built into your rollout regime, because things can be fatal with real users. If you're using something that's basic like Heroku or EC2, you can scale way beyond that user strength with a click of a button. Scaling up would be least of your worries, at least for a few weeks.
If you're unsure, go with Heroku. Once you understand your system use, you can very easily switch to AWS and reduce costs.
Good database mechanics is key. That is the most important thing in my opinion. That is really the whole point in rails when you are deciding relationships. The abstraction in Rails when deciding what should be the best model structure is the same thing as deciding what should be the best and most efficient table structure in your database.
The rave about MongoDB is that it (maybe not quote me on this) "cures" the need for the desire multi-dimensional database. However, even with MontoDB's ability to expand due to it's not needing a pre-defined structure and the ability to expand out dimensionally to a certain extent, PostgreSQL (claims anyways) is still more efficient if you correctly index your tables (think about how you will be querying) and create the correct relationships. Build out models. Allow flexibility.
Also, don't forget caching. Redis and performing jobs is key in certain situations. However, don't get caught up in too much hype. Especially those coming from closed source technologies (Not just talking about caching technologies here but everything in general). They will sell and produce an atmosphere of necessity, but do some research first. Don't follow the heard. I am not going to call anyone out on this. Just do the research and think why is that necessary. I've mentioned Redis a few times and maybe that isn't even necessary either.
Most importantly, put your stuff out there. If it crashes, so what! At least you know you have something. And then you will have people who will give you advice in a coherent direction if necessary.
I salute you in your efforts. Now the most important part is put it out there and kick ass!
You may even want to look into Redis which is a cache system.
What do you mean by this? Doesn't this depend on the usage patterns? Do you have 5-10k concurrent users or are these users spread over a day?
The operations side is a whole other profession that dovetails into the technical aspects of getting it running on a good architecture.
1. your architecture must allow for vertical scaling. this means upgrading your hardware to beefier, stronger, faster machines with more CPU power and more memory. vertical scaling is often a very cost effective of improving performance.
2. your architecture must allow for horizontal scaling. this means being able to provision and deploy new instances of your application servers very easily, using an automated process. more servers running in parallel is a very effective way of handling increased load.
3. you must be able to monitor and protect your systems. https everywhere. highly secure passwords everywhere, and you should rotate your passwords on a regular basis. log everything and set up services to monitor your logs and notify you when weird/bad shit happens.
"Scaling problems rule . . . "
Sounds like you have the skills to grow this up to 500 to 1k paying customers on your own. Early on you can increase ram/cpu to handle any initial scaling issues.
Once you even have 1k customers you'll have revenue to hire experts to help you with scaling and security.
Good luck in 2015.
Heroku: $279 - 400 / month
Getting the users and keeping your head in the game is the hardest part.
However, the biggest piece to scaling your application is the automation of everything you possibly can so that you can scale when you need to. You're going to be in a bit of pain if you need to scale everything manually.
Here's a few things I automate using Jenkins:
* Creation of web application servers(whether it be Puppet, Chef or Ansible, etc) make sure you can bring up a new node quickly and scale your app layer horizontally. Ideally automate the addition of this node to the LB.
* Data store backup/restores to all staging environments on a schedule(tests backups/restores) this is done using some custom code and the Backup gem. This way your dev team has access to an env that closely resembles prod and can resolve current prod bugs.
* External security scans using NMap (again using custom scripts). The jenkins job will fail if output is not as it expects. This way if we change a layer of our infrastructure we can know if something is exposed and shouldn't be.
* Static code analysis using Brakeman
Information you're going to need to scale your infra:
* Metrics on each one of your hosts. Use DataDog if you can afford it, integrates with all major systems and technologies. Great tool.
* Log collection via something like Logstash or Loggly and being able to visualize your application and web logs.
* Application response time measurements using something like NewRelic or building your own using StatsD and tracking the heck out of your application actions
Last but not least, have a plan for failure. While you're laying in bed at night, ask yourself these question:
* What would happen if the DB went poof? Can I restore it? How much data will I lose from the last backup? Will I know when this happens?
* What would happen if you're now being scanned by 30 ips from the netherlands, all of which are submitting garbage data into your forms. Are you protected against this? How will the added load effect your app layer? Do you have a way to automate the responses to those requests so as to deny them? This is a case of when, not if. Be ready.
* What would happen if my site gets put on Digg(lol)?
There's no magic bullet here. It's just practice, failure and learning from yours and others mistakes.
The main stress on the system is really determined by the complexity of the SQL queries on each page. I've spent a great deal of time optimizing them, and I know there are certain ones that need to be further optimized. I have the database (MySQL) on one server, the web server and documents on another, and static resources such as images on a third, which probably isn't even necessary. All three servers run Linux and the database server has 48GB of RAM. They're hardly new; you could buy all of this equipment today for under $1,000 total.
The biggest technical bottleneck is really RAM; the biggest expense for this kind of site is bandwidth.
- on bank transfer it's just your name, bank name and bank account numbers. An outsider can't get your address easily.
- I don't like paypal for the same reason. If the transaction gets investigated they lock the money for months.
- will the scraper run on your systems or theirs? If it's yours then you should charge monthly maintenance to cover any breaks or redesigns. Ideally you deliver them software only and be done. It's a bad situation. All crawlers I wrote broke at one point or another, e.g. running out of disc space or fail to send emails.
- tax office is interested in a proper invoice that lists your full address, the clients full address, a date, a description of services. You can create a simple PDF document. How and when the money transaction happened is secondary. They might not even care if the client has a copy of the invoice.
As for payment, try not to take a credit card or paypal, get a physical check, ACH or wire transfer. As for taxes, most places will require you to provide a W9 which they will then use to report what they paid you to the IRS (although sometimes when the fees are low they don't bother). In the end even if they don't, just report it on your taxes as additional income and keep a copy of your invoice and record of payment, including any fees or costs you incurred on the project and to get paid. This way you can get your deductions but also have proof.
The goal is a combination to see they are paying . . . have them view the work . . . see that they are happy and want to move forward. Then you just keep moving milestone to milestone.
You might run in to issues on paypal occasionally but not often. If you have a string of emails from the same email address they send payments from you can usually submit that string of emails and paypal will dispute and win the charge back. I understand your concern but paypal is simple and fast. Just make sure to ask for an email indicating the project was completed successfully and they are happy with the work if you're worried about it.
Wire transfers are a pain, you could setup a domain name/SSL and use stripe for payments but they could always request a charge back. In the states most clients are happy to just mail a check (make sure they clear before sending the code over/going to far)
For the scraping app . . . note in the scope that at some point the website being scraped will change and the scraper will have to be updated. Can you setup a monthly fee to monitor that part of the app. Build in an automated email if the scrape fails and you can fix it as part of your monthly fee (setup via stripe or paypal (gasp!). Or have a maintenance fee already quoted for making those updates each time. They should understand that the format of a 3rd party site is out of your control/and their control and will require some tweaks occasionally. Try for monthly, recurring revenue is always best.
For tax records just track your side business income and expenses. In the states they are required to send you a 1099 for work totaling over $600 in a year. See getting an EIN number below that you can use on your W-9 they need to generate your 1099. You'll most likely file a schedule C or C-ez along with your 1040. It's not real elaborate they only ask for totals. Just keep invoices and wire/paypal/stripe records to verify your numbers if needed.
If you're worried about your address, get a UPS store address. To protect your Social Security Number you can get an EIN number using your name as the sole proprietorship name. This is useful for affil. programs or anything else that generates revenue to minimize exposing your SSN.
When you do use a contract I usually note that the client can use the delivered code as they see fit and that I retain the right to use and re-use portions of the code provided on past, current and future projects. Most code is modular and re-useable and every developer has modules they re-use.
Also add to your contract that you aren't responsible for lost revenue or potential revenue resulting from delays or downtime. And that you will guarantee the product/code is functional and you will resolve any defects with in the first 90(or 180) days. (if their project is super time sensitive you can provide them with a proposal that is 20x your quote if they want a guaranteed delivery date that they feel will impact them significantly financially if it's not met. Occasionally I've ran in to a client that thinks they are losing $20k/week because their project is delayed.
Relax most clients are trust worthy and just want a well developed project delivered on time and are happy to pay for that. There are bad apples out there but not many. If you get a bad feeling about a potential client it's usually wise to trust that and pass on the project.
There is always a need to put in a little extra communicational effort.
You can't just go around hurting peoples feelings because you're in a small company and can't be bothered to not be a jerk
" yet interestingly enough they are the MOST demanding when it comes to support and feature requests."
because of this ;-) If you have happy customers at the higher price point I'd be investing my time trying to find more folk like those unless you think that a lower price point is going to give you a much, much larger market.
" would I tell them that they might not be a good fit in a polite way?"
I dunno what & how you're selling so hard to say. Me I'd lean towards just saying "Sorry, no. We have a standard pricing structure for all clients." If you're offering just monthly pricing maybe offer them an annual plan with 12months for 11months of money. That would at least help cashflow.
HN has some advice about "firing customers".
> price objectors who demand a whopping 86% in discount, yet interestingly enough they are the MOST demanding when it comes to support and feature requests.
patio11 has written about the same thing: the people who are cheapest are often the biggest PITA in terms of "do it now! I want to talk on the phone right away! It doesn't do this - it sucks!".
Find a competitor in your space and suggest them to you problem customers.
You have a product. You've set the price. Not everyone has to like it, and as long as you're meeting your bottom line, you've no obligation to come down to the lowest bidder if that bid isn't worth it.
Once you start letting those kinds of customers drag down your scale, you'll go broke.
You want good customers. People who insist on not paying or only paying pennies on the dollar aren't good customers. Your price is a qualifying tool. It weeds out those who are ok if you go bust.
"Give me a good price and I'll tell my friends about you" is a red flag. People don't praise what they don't value to friends...control the message; you don't want more people like your bad customer.
Spend energy closing good prospects. Thank loose meat leads for their time and ask if they'd like to get your company's newsletter. Touch base quarterly or on some other periodically appropriate cadence.
Let me tell you what a qualified lead is :)
A qualified lead is a potential customer who fits all of these criteria:
1. Is willing to use your service or your product at the non-negotiable price you set for it,
2. Has long term financial resources such that #1 is a stable and basically unchanging reality each month,
3. Understands that your product or service is premium, and while might not ultimately choose you, can be persuaded that you are worth your price,
4. Is willing to negotiate on project scope (if you're a consultant) or enterprise plan terms (if you're a SaaS) instead of price,
5. Will not spend more resources in customer support that they are paying you (or anywhere close to it),
6. Understands your price as a percentage of the value you are either saving them or giving them, and
7. Obviously, has a need for what you're offering.
Now, that's a qualified lead. How to find them is a different story, but you should not actively pursue a customer unless they fit all these criteria.
Understand that your price includes in the built-in cost of pursuing customers and making sales, be that as an individual consultant or SaaS company. You can't waste time with bad leads.
Once you find a single good lead, pursue referrals from that customer, because you've found a potential wellspring of good customers. You also should change the channels through which you're looking for leads.
Someone coming back saying that they can get $2/hr for what you're offering is not a qualified lead. That's...laughably opposite. My grandmother would offer to pay me more for a completely irrelevent service setting up her blog.
Let me give you an example of myself: I primarily cater to startups in the series A funding category - newly funded enough to be able to pay for security, but small enough that they haven't done so yet. Are companies outside this range prospective clients? Sure. Are they qualified leads? No. That's my successful market, the one I've determined my services are tailored to. So I'll talk with a company that approaches me but not burn time with them, and only actively pursue my qualified leads.
Look at what you're offering, determine who your qualified leads are, and reach out to them. Make an offer. Be sincere with a decision maker and make a pitch for your services.
Finally, without knowing what your SaaS is, I can't say if the market is responding that you need to drop your prices, but if it is helpful as you claim, it's most likely an issue of approaching the wrong customers. I'd like to believe you entered this SaaS business understanding the market for it and an appropriate price point - if not, you need to analyze that immediately. That said...a SaaS needs to be sustainable, and about the lowest I could imagine one would be profitable at scale is $19 a month (maybe $10 for the basic price tier).
Read a lot of patio11's work on this. Don't use a gut feeling for price, have a rational motivation for the number you pitch.
Do you feel like not studying CS has ever held you back? Whenever I'm struggling to understand something I always wonder if a grasp of basic CS concepts would have helped.