I quit a job back in 2011, the plan was to create an iPhone game. Six months later the job I quit hired me back as a consultant to rebuild the software team my previous manager drove away. After 9 months I made so much money I quit that and moved to Incline Village (Lake Tahoe) for 3 years, took up skiing in the winter, hiking in the summer, and working on the game. Then, again I was contacted to do some consulting, this time 100% remote. Off and On over the years, someone from my past will contact me with consulting work. I might work 6-12 months, or 3 years and then not work for awhile. Longest stretch is 9 months before I'm contacted again.
I didn't plan this, I never tell anyone I'm looking for work, I don't update linked-in with a status. But it's been so long now, I don't think I could ever work a "real" job ever again. I've now been on my own; consulting longer than my software engineering career out of university.
When I quit that job in 2011, I only had $16k in my checking account. I figured if I had to I'd cash out the 401k from a previous job. I don't have family, put myself through university working a 3rd shift factory job, and still graduated with $40k in debt, in 1999. So to anyone thinking, must be easy when you have a safety net, couldn't be further from the truth. The manager at that last job was so incompetent she was throwing engineers under the bus left and right for her mistakes, I left before I was next.
Quitting that job in 2011 was the best decision I ever made. I know most people can't stand the stress of not having a steady paycheck. I couldn't care less, being free of being an employee was worth it to me. Salaried jobs are no more guaranteed anyway, it's a false sense of security. Since then, I bought and paid off a house in 4 years, paid for SUV. Bought tons of equipment, office furniture, books, computers etc. Over 5 years of living expenses saved now. I'm thinking of pivoting to creating a website, making youtube videos and maybe writing some books. The youtube channel will focus on science experiments; a different approach to learning. Trying to wind down a client I've been working with for 2 years now so I can move on. The last thing I'd do is cover software though, always hated it, just a means to an end, and I'm so good at it I make more in 1 day than most people make in 2 weeks. But money isn't everything, once you have "enough", and you keep your expenses low, you can be truly free...
' Two roads diverged in a wood, and I—
I took the one less traveled by,
And that has made all the difference.' -- Robert Frost
I charge by the hour and will never change. It forces the customer to focus on getting the requirements right instead of hand waving it like "oh yeah, that's just what I want" and then come back later "I didn't want that, what I meant was" repeat ad infinitum. You see they are paying for my time, not results. If they choose to waste it... doesn't matter to me, it's all billable just the same. I will do my best to steer them in the right direction to save time and money, but you'd be amazed how often they need to learn the lesson the hard way.
I also don't compete, I'm not on any "freelancing" websites, I don't apply or bid for work. My clients always come to me, I get an email, a phone call asking if I'm available. So this race to the bottom nonsense is utter crap. I'm a consultant NOT a freelancer.
I've been doing this since 2011, that's the last time I had an employer. This year I'm on track to bill out between $360k and $400k. If that's "amateur" so bet it. Considering I have no debt, my house is paid for, my luxury SUV I paid cash for, my actual monthly bills are around $2,500 a month. I really couldn't care less what someone who writes an article like this thinks of me. The writer is advocating for the client, they aren't giving me advice that helps me. I also have no interest in scaling, on bringing on employees. I'm making bank, I left CA in 2013, currently live in Wyoming with a 40 minute drive to Park City UT and a 60 minute drive to Salt Lake City.
To anyone reading this article and thinking they are offering you helpful advice, consider their motive. What are they trying to sell you? Are they trying to change the current consulting landscape to benefit themselves as a business owner?
More power to you, but I stopped charging by the hour a long time ago. I charge minimum by the day, and offer a discount if you buy a week. I still bill for my time, but I avoid haggling over how many hours something took, and it also saves me the trouble of tracking my hours.
You book me for a day, you get me for the whole (at least) eight hour day, however you want to spend that time. You book me for the week, you get me for at least eight hours each day for a week.
I also do by the project billing, where I estimate how much work something will be, and pay on milestones. That requires a lot of up front work defining the deliverables in a way that avoids scope creep, but I also build in an overhead for scope creep so that I can "comp" them some deliverables that weren't covered, and everyone is happy.
But the most important part is that the price is always agreed upon up front.
The biggest issue with hourly billing is that neither of us knows how much the contract is worth until afterwards.
How do you deal with clients that perceive and expect to have you available and working more than eight hours a day? What do you do about when your not immediately answering during lunch etc. What do you do about days where you detect l weren't fully engaged by the client for a full eight hours?
Don't set that expectation. Don't work with clients that expect you to track hours when you bill days. The threshold for productivity and exclusivity I've had has been "if I billed you for a day, I'm not going to bill work for anybody else in that day"; that's as far as I go. In 15 years of doing this kind of work ('05-'20) I never had a problem --- but we did bail on RFPs where clients made it clear they'd be looking over our shoulders to make sure we were busy. That happened only a couple times, and, in retrospect, based on conversations with the people who ultimately won those bids, we were always glad to have had the early warning on those clients.
I've never had to fix bid for work, always had hourly gigs in the wings. I hold the philosophy that sw dev is a product development, iterative exercise, not a construction metaphor that is predictable.
Yeah, I expect you would be able to do the same if you billed hourly. If a client insisted I bill daily, I'd probably have no issue with it either. It's just so rare to bill daily in my circles that I've never considered it, I'm often rebilled by my client to their end customers for specific features so they need hourly tallies to pass on.
When you bill hourly you are literally demanding that your clients account for your time on an hour-by-hour basis. So, no, it's not the same.
If you're subcontracting in order to make ends meet, then you don't have any control over your project structure; you're a subcontractor. My advice is to plot a course to not subcontracting anymore as soon as you can. I doubt that the driver developer who kicked this thread off is subcontracting.
I've been in full control of the architecture, team makeup, feature design, most of the technology choice, and often the feature priority. I put my foot down on clients that dictate how a feature is to be built and give them the 'why' talk. I've had enough control over all the projects I've ever worked on these last fifteen years I've worked hourly.
I get your ideas about subcontracting, but I've always been treated higher than an employee and typically like a partner. The trick to this is to charge a ridiculously high rate. That instantly establishes the dynamic and relationship I want.
But you don't have a direct relationship with the actual buyers of your work, so you don't control your project structure, and the middleman business reselling your work presumably needs to be taking a cut. It's no wonder they treat you well, right?
Well for the case right now, I'm building a multi tenant system. Some tenants want features that no others want and they pay for my hours on those. I still have enough control in these cases.
I come up with better lower costing solutions when the stakeholders express WHY the feature is needed, what problem it solves. Then we and I can creatively explore HOW to solve the problem. There's usually several ways to solve anything, many that vary by orders of magnitude in terms of cost or architectural complexity.
If I am dictated always on the HOW, handed fully solutioned work to implement like a monkey I rebel and have a long talk about how this won't work. I never have had to quit over this stance but I would if it wasn't reconciled.
So when I say control, that's really what I specifically mean by that word. The ability to negotiate and explore the HOW with the why being firmly in mind.
Not really, if you are a consultant or external business you account for your own hours - you set a budget and then hand in a timesheet either weekly or monthly, then send an invoice at the end of each month.
> How do you deal with clients that perceive and expect to have you available and working more than eight hours a day?
The contracts specifies which days I will be there/available, and the times (usually 9am to 4:30pm in their time zone). Sometimes if the work is interesting I'll give them extra hours on me.
> What do you do about when your not immediately answering during lunch etc.
I work through lunch. I always answer. I take care of my personal needs before and after the contract time. I build in 30 extra minutes to account for bathroom breaks and heating up food to eat.
> What do you do about days where you detect l weren't fully engaged by the client for a full eight hours?
That's a them problem. If they don't have enough work to fill my time, then that's on them. If they have enough work, then I do it. It's just my work ethic.
"The biggest issue with hourly billing is that neither of us knows how much the contract is worth until afterwards."
You still don't with daily billing.
I know with daily billing because they can only book me for a set of days in advance. It's not ongoing. We agree ahead of time on the specific days I will be there/available.
I would guess we do different types of work. Most of my engagements are at least a year long. I've been billing at my current company for four years this December.
Here's the challenge I ran into, so I'm curious how you handle it...
If you bill by the hour, first they fight you over the hourly rate. Then they want to argue over how many hours it will take to do the work. Then they want to argue over you billing them for all the project management and planning hours you are spending with them, they only want you to bill them for "the work." Then when they get the bill they want to argue over the hours you bill them.
And before anyone says "find better clients" I found this in everything from Fortune 500 to mom and pop. And Fortune 500 is net-180 regardless of what's in the contract.
I was spending so much time in this kind of BS that I went to a monthly retainer model. You get access to me, but you are doing so in a way that we can both set aside haggling over hours. For the smart clients it was a great deal and it saved me a whole lot of accounting overhead.
Have you considered a monthly retainer with an hour cap?
This prevents you from being treated like a salaried employee, maintains your work life balance, and ensures the client is still providing solid requirements and thinking through their ideas.
We have found a lot of great success with this model, and our clients respect it. It ensure we can have multiple clients, without one taking up all of our time, and taking it from others.
If we spend under X hours, that's fine. But there's simply a cap. It essentially means that each client gives enough work for us to work for those total number of hours, and we still have MRR regardless. We can help our clients maximize usable time, and it makes our project management valuable to the client as well.
To combat long Net Terms, you can kickoff a client with a project, which begins upon receipt of payment, and is continued with the retainer. This initial project should be able to support you until your retainer payments start (180 days in length) but your retainer should start ASAP.
It also allows the client to see your value, and you get to feel the client out.
At this point in life, I've moved on to a new field altogether, but some of the ideas you are sharing above are exactly the types of models I experimented with.
A number of years ago, the term "F*ck you, pay me" was going around in popular vernacular. That jives with my own experiences - ask for deposits up front, make payment net-15, tack on a giant fee in the event of slow / failure to pay, and make sure your contracts are written so that the client pays legal bills in the event you have to sue. Create contract disincentives to encourage good behavior. Keep your rates high and don't give anyone a deal. Be willing to say no both to prospective clients as well as individual projects - even with good clients.
I've been a contractor for 14 years now and have faced little of what you describe, but I've also attempted to insulate myself from it as much as possible. You learn pretty quickly which clients not to take, and haggling over rate is the first red flag. My rate is my rate, it's not negotiable.
Other red flags are "we have a project starting in a week" type offers. Mom & Pop's are right out as they are the worst companies to deal with. Startups tend to be great since they have tons of money to throw around and don't care how it's spent as long as work gets done. And if it's not at least couple months worth of work it's not worth my time.
Once you have a network many of these issues go away. If someone is coming to you because they know you or you know someone on the team, they are much less likely to dick you around. It's also easier if you promote yourself as a consultant as much as a contractor because then all the "planning" hours are part of your offering (and I never use the term "freelancer" cuz I don't work for free).
The most powerful thing you can tell a client is "no". There will always be other clients, there's no reason to sell yourself short.
In fifteen years of contracting, 20+ clients , I've never had issues or questions about my hours. All software project based work on projects that span months to at most two years.
Up front, the hourly rate is agreed to, the expectation that I typically bill forty hours a week is set, we agree that overtime is only undertaken with written permission. I tell them I don't bill for lunch or breaks and that if they can't provide me with work to do, I still bill but that I inform them persistently when undertasked.
I only estimate work by giving complexity numbers. They all ask well how long does that take??? I say over the last x months, my average complexity points accepted in production is y points per two week period. So expect this five pointer to be done in a week plus or minus two days.
Do you need a better estimate? Then it will cost you two unproductive days for me to fully spec out the work and I'll need three hours of your time for this feature to give you an estimate that has a tighter variance.
This is the way it's done folks. I know what I make, I can easily have a life, wife, family. Companies make sure they have me work on most important things first and they end my project when they feel it does enough of what they need it to do.
I'm visible, I show real progress frequently and they get value out of released features early on and continuously throughout the engagement.
Sometimes I lower my rate for equity, people I enjoy working with, working on tech or a business domain that interests me. I'll of course raise it for the opposite.
In the fifteen years I've had three weeks in 2008 where I couldn't find work. I've billed between 95-155/hr CAD. Mostly enterprise custom applications. Billing systems, engineering process systems, banking apps, trading apps. Typically lead dev roles. Working in a Canadian city or remotely for USA companies. C#, ruby, scala, python. Not a great programmer, I'd get laughed out of the room on a leet code exercise but I've repeatedly delivered projects and systems where the previous teams have failed. There's only been a few of the 20+ projects that haven't been rescues.
I have a similar arrangement but I look at it much differently than you.
The retainer allows a client the freedom to contact me over what they think is nothing, because it is nothing, but 9/10 times that nothing will lead me to discover some issue that did need my attention, and I can give it that attention when it's still a nothing and not a barn-on-fire problem in their business. It also means I can log a trivial amount of hours doing the monthly maintenance that most clients gripe and piss and moan about you charging for: they already paid me. If a retainer hasn't been used up by the end of the month (and it usually hasn't) that's when I go do housekeeping for them.
Client gets a consistent-ish expense in their books, I get paid, everyone's happy.
> If you bill by the hour, first they fight you over the hourly rate. Then they want to argue over how many hours it will take to do the work. Then they want to argue over you billing them for all the project management and planning hours you are spending with them, they only want you to bill them for "the work." Then when they get the bill they want to argue over the hours you bill them.
I mean this is just the game, dude. I personally just do not have these arguments, I'm not open to these discussions. This is the price of my time, this is how much time it took, this is the bill. If people don't pay then I don't perform services and anything I have access to goes down until I will, but I've only had to do that once so far, and they got the point very quickly.
If you don't want to do this then yeah freelancing/contracting isn't going to be your bag. I don't judge you for it but like, that's just how it goes when you're in business for yourself.
Also worth noting: I absolutely charge for time spent haggling. Any time I'm doing thinking work for you, that's time I will be compensated for. I outline this very clearly from the off, and if people drag it out over hours, then they pay for those hours. Simple as. I'll never inflate my hours or make something take longer than it does, but also, I demand compensation for what's spent on their whatever.
"Amateur" isn't the word I would have used, and I think the author sabotaged his point by using it. What I would say is, you're leaving a lot of money on the table and donating a lot of cortisol to entities that don't need the money or the cortisol donations, because they're not spending their own money, and the high order bit of their success criteria is "I was able to plug money into this interface and make a business thing happen within the planned time period, without adding any headcount".
The other place I disagree strongly with the author is about the utility of flat-rate projects. I've had good luck with flat rate, but it was never the project structure we'd have used by default. Rather: for any project we did, we'd have quoted a full project, broken out into billable weeks, with a final sticker price and a paragraph below the pricing table with "additional work needed will be billed at our pro rata day rate".
I think the attitude that says "all the risk should be borne by the client, not the struggling independent consultant" is bad business (for high-end tech consulting, you should start seeing your practice as being in part in the risk mitigation business!), but that doesn't mean you need to take on extra risk just for the hell of it.
That said, there are clients who are so valuable, because they're going to be repeat-business house accounts or because their reputation is so strong that they'll bring in word of mouth business automatically, that you should definitely consider just doing flat rate projects for (if that's what they want) and just eat the overages.
> It forces the customer to focus on getting the requirements right
This is an issue that the article does not address, and it should. Part of the business risk that the article is talking about is the risk of ill-specified requirements from the client. But that means that any flat-rate pricing has to price in the extra time and effort required to make sure the requirements are well specified (and that's true even if a fair amount of that time and effort happens before a contract is signed--you still need to recoup those costs somehow). Either that or you simply have to not take on clients who can't specify their requirements well enough up front.
> This year I'm on track to bill out between $360k and $400k
> To anyone reading this [post] and thinking they are offering you helpful advice, consider their motive
Honestly I'd be happy to sign up to your newsletter and be upsold into a private $20/mo high-end consulting community forum if I were to learn how to earn those kind of numbers and I was disappointed you didn't.
Consider a company that needs a programming job done. It’s maybe a one-off, perhaps a 3 month to 3 year project. The company is not in tech and has no programmers.
Now, in this scenario they could hire a programmer at say, 100-200k, for the sake of argument. But this person might want to stay on for years, want benefits, and would need a manager. The company has no management experience in programming, so they know they’ll either do a shoddy job managing or have to hire a manager. This thing is already spiralling!
So now a consultant comes along. This person is an expert and has a track record. They are self-starting and self-managing. They can be brought on to get the job done and then they go away.
You can see that hiring such a consultant is not only far easier, faster, and likely to result in high quality, but very likely cheaper.
Which makes it crazy to me that anybody thinks about delivering work metered in hours, as if they were a furniture mover. A contract developer is selling a (quite valuable) enterprise product. You don't need an MBA to know not to do cost-based pricing.
I started "programming" in 1982 on a VIC-20, I taught myself C++ in 1991 and programmed as a hobby until I switched majors in University. Then I moved from Job to Job once I stopped learning/progressing. Along the way I made many contacts at a diverse group of companies.
I started at a medical device company reverse engineering MRI/CAT scan data for a 3D device used in brain surgery. Then I worked for a company that specialized in Bug Tracking and Project Management. Then a company that engineered optical archival storage discs with a 100 year life span. Then I managed a team developing a video keno/poker gaming machine that was available to the Nevada/Montana market. Then I managed a team in reverse engineering cell phones for forensic analysis. Then a medical company that made a continuous glucose monitoring system for critical care environments. After 1 year working on their firmware, I was brought back as a consultant to rescue the Software department as a Director of Software Engineering over product and manufacturing.
Through all these jobs I was well liked and since then have been contacted by people I used to work with for consulting work. And now I'm getting consulting work from other consulting job referrals.
I currently charge $180 an hour plus expenses, but come January 1st will be raising it to $200 an hour because of the inflation and the fact it's not stopping. In terms of stating new increased prices; through the years I've informed clients to have them tell me it's too much. Then 30 days, 9 months come back and just sign a new contract at the new rate. You have to be willing to walk away, you have to have money in the bank so you don't "need" their work, but would be happy to if they pay your going rate. Just be professional, explain that you could be making more doing work for another client and it's "just business".
I specialize in device drivers Windows and Linux, firmware, embedded RTOS and even desktop applications, mostly Windows but also can do some Qt on linux. My favorite language is C++ but frequently use C as firmware and linux device drivers are written in C. I also have quite a bit of experience managing, hiring, extracting and documenting software reguirments, architecting and implementing as necessary.
As for getting new clients, I tend to pick up a client for 3-6 months of work and still do work for them 6+ years later. In the beginning they get most of my time, later I end up sitting in on weekly meetings, reviewing their code/design, mentoring their junior level software engineers, and helping them to hire more as needed. I end up standing in as their CTO/director/senior manager as they usually don't have the funds to hire a full time one.
Given what you're working on and how close it comes to intersecting with the consulting work I've done ('05-'20) and the likely client overlap, and given the top-line dollars you said upthread you're bringing in, I'm going to go out on a limb here, way, way out, and say: you could double that effective bill rate, denominate it in days or weeks, and significantly increase the amount of money you make while working significantly fewer days every year.
I might be wrong about this, of course! But I'm not being casual about saying it.
You've had some really interesting engagements, and it makes sense to see where you are specializing at those rates.
I'm about 10yrs behind you, taught myself everything. I've been consulting for 15 years but I just don't understand how one would find these clients. I'm not sure if I'm the issue, or where I live (South Africa), or the niche I've ended up in (financial markets regulations) - hence the desire for the newsletter!
> Honestly I'd be happy to sign up to your newsletter and be upsold into a private $20/mo high-end consulting community forum if I were to learn how to earn those kind of numbers
Based on communities I am aware of that basically do this…:
1. $20 a month might get you a community that is working to get to $100k. The biggest hurdle will be simply taking action, with the second hurdle of having that action be reasonable.
2. A $50-$100 a month community might get you into the solid $100k-$500k range. I think this is your target. Biggest hurdles will be structuring work and addressing low self-esteem issues (e.g., imposter syndrome). Lesser issues will be finding reliable sub-contractors and/or communities thereof.
3. $500-$700 a month gets you into a community of folks running businesses with $1 million ARR and higher (usually as CEO rather than sole proprietor). Biggest issues will be things like hiring (especially key CXX-type slots), info on lesser known/documented processes (typically easier once it has been done once), and info on broader issues (e.g., outsourcing to $COUNTRY, to-the-minute status of manufacturing in $COUNTRY, etc.).
The numbers can go higher.
All of the above will also have an element of sanity check (“is hiring really this tough right now?”) and commiseration (“omg, my sales guy has to have his emotional support emu next to him in every zoom call!”).
I see that your niche is in C/C++ world (with some Obj-C), low-level stuff.
Mind if I ask how's the market and what kind of clients (companies?) that you worked with? If you don't feel comfortable sharing the list, would you be able to share some hints?
Out of curiosity because my background in college is more towards System programming but life puts me as a full-stack and backend/cloud engineering. Gettin a bit tired with too many backend tech (too many different storage solutions, backend languages, etc)
Most of my clients tend to be Medical Device startups, but I did have a really long relationship with a major food manufacturer. While it makes sense for them to hire full time software engineers for some of the work, they always have a hard time finding device driver experts. Also they tend to attract less experienced engineers, so having me on board helps to manage and mentor their team. And I'm generally the one laying out the architecture and breaking the project into smaller parts so their engineers can implement it.
If you want to break into consulting, you have to figure out which field you want to be in. I'd avoid anything that has a boot-camp available for it, that's a race to the bottom. Then you need to get at least 10 years experience working in the field, preferably at a variety of companies, and make friends and business contacts at each place.
I have 10+ years working experience mostly in Cloud (think Java/GoLang/Python, AWS, Kafka, DB backed system, with 4+ years in front-end JS).
Less experience in device-driver/OS development, system programming. I'm definitely interested to explore Linux/FreeBSD/Kernel or Device Driver type of work for fun. Would be great if I can make a living.
Would also love C++ experience, but prefer not writing AppServer bizlogic type if possible, I'd rather do it in another platform.
You interpret a free opinion article that addresses a general topic as directed at you personally, take offense, then ad hominem question the author’s motives. He’s doing a little self-promotion, as you do and we all do online, but he’s not trying to “change the current consulting landscape” to benefit himself. Whom do you think reads his articles? None of my customers will.
It should go without saying to non-amateurs that exceptions happen, no general advice fits every situation, and your mileage may vary.
Then you boast about your own success. You don’t add anything to the conversation, offer no meaningful critique.
Good for you with the high earnings and luxury SUV. For most freelancers (or consultant if you prefer, clients don’t care how you style yourself), especially the amateurs just starting out, the article addresses a very real set of problems. Those less experienced freelancers do face a race to the bottom as commodities. The article might help them think about how they position themselves and structure their projects so they aren’t struggling on freelancer marketplaces.
If readers take nothing else away from the article they might think about adding business value versus selling their time, and having some skin in the game (assuming some risk) as a way to build better relationships with clients and improve their technical and business skills.
> It forces the customer to focus on getting the requirements right instead of hand waving it like "oh yeah, that's just what I want" and then come back later "I didn't want that, what I meant was" repeat ad infinitum.
This is amateur because you are leaving an insane amount of money in “change orders” on the table.
That is fine if you don’t want to do it, but it is sub optimal for maximizing your revenue stream.
Incline Village is the closest you can be to the Bay Area and still live in Nevada. It's where a lot of tech folks go after they exit or if they get a remote gig because then they don't have to pay income tax, but are only a 3-4 hour drive to SF if they have to go in.
It also has great schools.
So you end up with a lot of moneyed California ex-pats there.
> Incline Village is the closest you can be to the Bay Area and still live in Nevada.
Factually, no, its not: Stateline, NV on the south shore of Lake Tahoe is 15 road miles closer than Incline Village on the north shore. About similar drive time, though.
What I'm about to say goes completely against what society and the majority of those engaging in virtue signaling claim is the key to happiness.
I am quite happy at the moment, and it started back in 2004 when I wrote off my family and commanded them to never contact me again. It turns out removing negativity in your life, whatever the source, no matter how well intentioned you may be in helping someone, goes a long way to being blissfully happy. It is said that "you" are the average of the 5 people you spend the most time with. So consider if your relationships are a positive of negative influence on your life. Remove the negative influences, no one is immune from being removed despite what society tries to feed you about how important "family" is.
In 2008 I went to the CTO of the company I was working for at the time, told him that I was planning to quit even though I had just started 3 months ago and proceeded to explain how my manager could be doing their job better. I listed out how I would run things. A week later I had my manager's job and a $13k raise, several months after that another $20k raise. Needless to say, the student loan debt that plagued me since graduating in 1999 was paid off in 5 months. As were the rest of my debt. Never underestimate how not having any debt can lead to real happiness.
In 2011 I quit the last "real" job I've had at 36. I was not and am still not independently wealthy. I have no family to rescue me if I go broke. At the time I was planning to make an iPhone game, 6 months in coming up to speed on Objective-C, drawing graphics the job I quit needed help desperately I threw out a price of $7500 a week. To my surprise they went for it. So I put the game on hold and worked for 9 months. Accumulating $240k for the year. The money really did make me happy, because of how quickly it piled up. No scrimping and saving and gradually building wealth. Thinking of doing that makes me want to honestly eat a bullet. The old... yeah, save, work 40 years, 2 weeks vacation a year, plus having holidays when the rest of the country does too... die two years into retirement thing. No thanks... Anyways 9 months in and they try to hire me full time as the director of software engineering. 5 years earlier that would have been a dream job. But I really didn't want a "job" anymore. So I quit, took a 10 day vacation to Cozumel with my girlfriend and when I got back spent 2 years working on my game.
I was just about to release the game and then apple announced new ipad and iphone resolutions. So much rework, especially artwork. Then an old co-worker needed help, I told him I would if I could work from home. I was living on Lake Tahoe at the time and no way was I going back to the Bay. Especially since I was on the Nevada side and there was no way I was paying California a dime in income tax (Luckily it was a New York CO so they don't try to tax you out of state until you've made $1 million). The last year I was there I paid $18,600 to California for NOTHING. I got no benefit for that tax I paid to the state. Despite anyone who would argue with me to the contrary. As a note I currently live in Wyoming, and there is nothing more I want from the state, No income tax is glorious.
Anyway long story short, consulting gigs, where I work 100% from home drop in my lap every year or two. I make so much money on those that it pays for 2-3 years of not working.
The key to happiness is not working (for a client or a job, I like to work on projects of my own that have nothing to do with software). While simultaneously having money to do or buy whatever I want (within reason).
I never want to commute to a job ever again. After breaking up with my girlfriend of 5 years I have no interest in getting into another relationship. It's like "I've been there done that" and just don't have an interest anymore. When I'm working on my own projects I get so wrapped up in them I lose track of the time, I don't know what day of the week it is. I might talk to the neighbors or chat with an old friend once a week. I may not talk to or see another human being for a week and it doesn't bother me at all. It might be 10 days before I drive somewhere, it's amazing how long a car lasts when you barely use it.
As a side note, I have no interest in charity it does nothing for me, it's like the part that's supposed to fill me with joy is missing with regards to that. I don't want to contribute to society or do anything that makes the world a better place. And yet my happiness, contentedness, blissfullness has not lessened since quiting my last job in 2011.
So contrary to the frequently parroted "secret" to happiness that involves sacrifice, family, children, being part of a "team". I'm here to let you know, some of us have found happiness doing the opposite...
I too used to suffer from allergies, psoriasis, arthritic joint pain. But I cured mine without any drugs. Doctors were of absolutely no help whatsoever. They have a better living through chemistry approach to "healthcare". I figured out the root cause through many years of suffering and experimenting and trying everything I could think of once I realized that doctors are completely useless for anything but acute medical issues.
Let me give you a short history of my health history so you can understand how I arrived at the solution. At 6 months old, I had severe hay-fever. This continued until I figured out the root cause. At 10 years old I developed psoriasis, first around my anus, then my elbows, knees, later on my ankles (anywhere where there was rubbing, or if I leaned on my elbows, or kneeled on my knees). It would form hard white scabby formations that itched like crazy and would bleed. Later in my 20's, I had patches under my hair, under my toenails (the doctor's thought it was a fungal infection), and on my tongue.
Around 30, I started to develop severe constipation. Had internal intestinal bleeding, and the constipation got so bad I started having panic attacks. My body was in a constant state of heightened adrenaline and I had adrenal fatigue. I was constantly tired, needing constant naps, but I couldn't sleep more than a couple hours, so at night I had insomnia. I had a constant headache, and brain fog. Sometimes I couldn't even remember by friends names.
Throughout my doctor visits, I was prescribed allergy meds. Cortisol for the psoriasis (which I'm allergic to). Coal tar cream did help for the psoriasis, but it just got rid of the itchy scaliness and then it didn't bleed. Later when I had panic attacks, I was put on paxil and ativan. But I couldn't function, I couldn't do my job (software engineering/management). With the severe constipation, not going for 7 days or more. I was told to take laxatives, Metamucil, eat more fiber (even though I had upped it and it seemed to make my problems worse). The last gastroenterologist after doing, upper GI, sonograms, blood tests, etc told me I needed to see a psychologist. Even though I knew my problem was my body was causing stress, not that stress was causing my body issues.
Sometimes it would get better for a while, then it would flare up all over again. My life, my entire life had been miserable. I never smiled, I was angry all the time. But it was my normal, and I never knew that most people didn't feel this way. I quit my last salaried job in 2011. And it was then, that I finally figured it out. I quit to work on an iphone game. And now, without all the structured living (going to a job M-F, living a set schedule, wake up at a certain time, eat at certain times, go to bed at certain times) I began to experiment. I slept when I was tired and could, I worked when I was alert. But I also began to cook a lot. I started making all sorts of breads, muffins, cookies, experimenting to make the perfect pizza crusts. And that's when I noticed that if I ate a lot of wheat products my symptoms would flare up. Sometimes to the point that I would just lay in bed for a week, getting up to eat and use the bathroom, but in constant pain. And to top this off, around 10 I had some rye bread it made me so sick. In my 20's, I had to stop drinking beer, because it made me so sick. Even made my forever stuffed up nose worse and causes a sinus headache. A headache which was the source of the brain fog, which I would realize later.
It was around this time I kept seeing the gluten free diet craze. Which I paid no attention to, because my symptoms were the exact opposite. Celiacs have constant diarrhea, I had constant constipation. But at this point, I was desperate, doctor's were utterly useless. And I decided, what would it hurt to try to go on a gluten free diet? So I went on a strict diet of meat, lots of fat and vegetables, I also eliminated all dairy. No packaged processed foods, gluten is hidden everywhere. After about 6 weeks, I felt amazing to the point of euphoria. My digestion starting working again. And oddly my psoriasis started to clear up, I had not expected that at all. After 6 months all of the psoriasis was gone, completely gone.
This worked for a year or two, but I din't feel as good as I did sometimes. And I noticed all grains had a similar but weaker effect on my constipation. So I eliminated all grains, and my allergies vanished. Over the years if I eat a small bag of frito's my allergies will come back within 24 hours, but after 3-4 weeks they will disappear again. And I can go out and enjoy the smell of freshly cut grass, flowers. Ragweed can be in hyper pollinating mode and I might have to blow my nose a couple times instead of my eyes turning red and burning and having a constant stream of snot running out of my nose.
But my hip hurt, my knees, elbows, and fingers ached from arthritis. And having seen the miraculous effect that food had on my other conditions I searched for a solution. I began to notice that if I had a big plate of potatoes, paprika chicken, hot peppers it seemed to flare up. So I eliminated all nightshades. And after about a month my arthritis went away. I no longer was constantly popping my knuckles, and popping my vertebrae when I woke up in the morning. In fact I can no longer pop them, as they don't get stiff.
I'm going to be 42 this year and I have never felt this good in my entire life. I sleep like a baby, my mental sharpness and ability to quickly and efficiently hold big problems in my head and come to solutions is beyond amazing. Since figuring out the gluten problem, I started my own company. I have a product under development, but I'm so swamped with consulting work that I have not had much time to work on it. I work 100% from home. I am filled with profound joy and happiness. I no longer feel anger, stress. I have no problem striking up conversations with strangers. I'm a completely different person.
Throughout the years since figuring out my problem, I have accidently eaten gluten, grains, nightshades, dairy. And the sypmtoms will come rushing back. But if I avoid the foods (poison), after 2-3 weeks I'm good again. I no longer eat out, I no longer even eat what other people have made special for me, as that is a source of accidental exposure. I make all my food 100% from base ingredients. Unprocessed meat, fresh vegetables, fresh fruits. Lots of Extra Virgin olive oil and animal fats. In fact about 65% of my daily calories are from fat. About 10% of carbs from fruits and vegetables, no processed sugar. I was never fat, but after eating like this I lost so much weight 155-> 131. That I upped my food intake, as I was too skinny. I have to work hard and sometimes force myself to eat an extra meal to maintain the 140 that eventually got back up to. I sit at a desk all day, don't exercise but have 6 pack abs. Every time my ribs start showing too much I have to eat an extra meal for a couple days. So I also discovered why most people are fat.
I have since run across a famous quote, which would have meant nothing to me before, but is a fact of life for me now.
Hippocrates — 'Let food be thy medicine and medicine be thy food.'
If you want advice on how to try this experiment on yourself, send me an email (cmerinsky at gmail.com). After all, what do you have to lose?
I've read hundreds of accounts like this, and have a variation of my own. What's irked me is that no one treatment works for everyone, and since there is no public record of each individual's medical history or treatment protocol, as a community we don't learn as fast as we could. I even built an app (medwiki.co) that attempts to collect data for two common conditions, expecting that patients would want to share their experiences, ultimately leading to a data driven approach to non-mainstream treatments (including diet, exercise, but also other treatments not recommended in current medical guidelines).
The flaw in my thinking was the word "patients" - what I've found is that those in the grip of a bad condition rarely have the ability to altruistically contribute data, and by definition have not yet found a treatment that works. For those lucky enough to find a cure, they are not in patient communities any more, nor are they reachable via keyword advertising and the like.
Gathering data to find out which protocols work for what requires the medical community to share medical histories and treatment outcomes like software developers share code. Alas, they lack the culture and data collection discipline to do it - I've tried. Even large entities that pay hospital groups for anonymized data have trouble getting good outcome data due to poor data collection practices and the tendency for patients whose treatments failed to just leave for another doctor.
I started a company, by myself, November 2012. I'm still in business but haven't released the original intended product.
1) What was my motivation?
I was tired of working for someone else, I'd had it with commuting, working with people that kept bringing diseases from their kids in daycare and hence getting colds and flus mutliple times per year, living in a state with absurd taxes and cost of living. Working hard to afford a "condo" that might be paid off once I hit 65 was beyond stupid. Oh and I wouldn't work in an "open office space" setup if you paid me $1 million a year. I don't do headphones, ever.
2) Is this idea worth my time?
The idea was an iPhone game, I did complete it, but never released it. They released new phones, new ipads with new resolutions, so I was in the process of adding that capability when a consulting opportunity arose (work 100% from home). I could get into why I abandoned releasing iPhone and Android apps, but have decided to redo it in HTML5 and free myself from the rules the stores impose and cut they take. But ultimately I had decided even if my product only generated $30k a year that was good enough. To own and control my time and product was worth that drastic cut if it came down to it.
3) What have you done to validate this idea?
I did research into the potential market size, I used to play a similar game on yahoo games before it was shut down and they would have 10's of thousands of players every day. I looked at similar games on iTunes that were pathetic weekend hacks that left much to be desired and they had downloads, so the market existed. And I really liked the game, still do, I play my game on an ipod touch that I hacked to an older date so the certificate never expires. My UI, and the options that I added also made it far more enjoyable to play. I had big plans for multiplayer.
4) Are there real customers for this?
Yep, see above. Maybe it won't make me a millionaire, but I could live off of it.
5) Do you have the endurance for the marathon version of your company?
Absolutely, I worked non stop for 2 years when I was about to release. I did not make any money during that time, in fact if I had a "real" job I would have given up. A regular job sucks away all mental energy and leaves one like an empty shell at the end of the day (at least that is my experience).
6) CMO (Chief Marital Officer)?
Don't have one, did have a girlfriend back then but we lived in different cities so going for a visit was a nice vacation from the work.
7) Is quitting the right next step?
As far as I'm concerned you are either all in or it's a hobby that is going nowhere. If I kept working I'd never even had developed a prototype non the less a full working product, with multiplayer server on the back end. So if you really believe in your product, quit the day job. You can't do both, period.
Where is my company now?
Well, I've gotten side-tracked with consulting business. I've never met a customer on site, I work 100% at home. They send me their devices, buy whatever compiler licenses so I can do the work. I work when I want to, so if I want to take a week off to work on a project at home, or take a trip I do.
Last year was crazy, I moved to Wyoming to drastically lower my taxes, even Nevada was not low enough. Bought a house, while taking care of multiple clients sometimes work ing 260 hours a month. Billables were just under $250k last year. Now that I'm settled in the new house, which cost less that just property tax payments in CA, I've cut back the work to maybe $150k this year, which will free me up to migrate my Objective-C app to HTML5. All the valuable code exists on the game server anyway, so no risk there.
Was it worth just quitting and going for it? Absolutely.
Did it turn out exactly as planned? Not even close.
If anyone else out there is trying to decide and wants to know more about my adventure, send me an email. I'm happy to share what I've learned if it helps others to escape the rat race too...
Please tell me more about your business and philosophy because this feels very similar to my own journey. I quit my job in october 2016 and try to build html/mobile gaming stuff. My plan assume make 10 000$-15 000$ in this year.
No, the consulting is not a 'day job'. Remember, I work 100% from home, in fact my clients are in other states. Currently the one client I cut it back to is in New York. I may not talk to the clients for weeks at a time. Generally we only communicate via email, and very rarely no one is waiting for an immediate response. I might work from midnight to 7 am and then not work for 2 days (and only because that's when I felt like working). Last year was an anomaly, I decided that renting a condo in Tahoe was a waste of money, so I needed money for a down payment and costs associated with buying a house. When I was working full time on my game, I didn't make any money and therefore it really killed my eligibility for a home loan. So last year I ramped up the consulting to not only make a 30% down payment, but to build up $150k (after tax in the bank) for when I go back into full development mode again. Since I have a good, flexible client right now, if things keep going I'll pay off the house end of this year, so if it drags out a little longer it seems like a good trade off. With a paid off house I can live on $1500 a month in Wyoming. With money in the bank, and what I learned last attempt, I'll be able to launch the product and never have to worry about money.
I understand the point though, most consultants are really contractors that are embarrassed to admit it. They have to show up at the client site every day and put in face time. That's not what I do.
I have always billed hourly, daily or weekly. I would never offer a "project" price. The client never really knows what they want, they just think they do. In order to properly estimate a project you have to know everything that needs to be done, then you have to draw up an iron-clad contract that prevents the client from claiming something new was, or should have been included in the price. It also gives the client no incentive to be economical with your time. By billing hourly their incentives are aligned with yours, they will want to waste the least amount of time possible in order to keep their billable hours down, they will drop features they really don't need, they will be unable to deny payment claiming the project wasn't completed. After all they are paying for your time, not for the result. The caveat of course is that you really have to deliver, and as you do they forget about the hourly billing. As long as they have problems and you keep solving them, they will just focus on getting their pain points taken care of.
Something else to consider, if you want to make real money you are a "consultant" not a freelancer and certainly not a contractor. Also create an LLC or corp, I have found that clients don't flinch at all when I am a real business, nor do they try to offer me a job instead of a consulting gig. For 5 years I could not pick up a single side gig because the potential client would always offer me a job, but refuse to offer me the gig they claimed I was coming in for. I would always explain to them that I needed to make "real" money, trading one low paying salaried job for another slightly higher paying salaried job did not help me one bit. I needed the ability to make 2-3 times what the typical senior software engineer makes. They would get offended, I would leave. Funny enough it wasn't until I quit my salaried job, with no gigs lined up, no plans to get another job that the gigs started to happen.
I completely agree that clients respond to you differently when you're a real business instead of a freelancer, contractor, etc.
Once I started saying I owned a business and stopped saying I was a freelancer, I could immediately charge more and my referrals got better. I was no longer the "I know a guy that does development" person. I became the "I know a web company" referral and companies are expected to charge more than freelancers.
I have never been asked to do a technical interview before being offered a gig. They ask about my experience, from there they tell me about the problem they need solved. So far I've always been familiar with their problem, I will immediately follow up with a high level description of how I will solve their problem (this is during the meeting and without doing research).
For example my most recent gig, the client, a start-up, had a product already in the field. However for development and manufacturing testing they did not have any tools to test the device. They wanted a tool to manually control the device, if possible they wanted a custom script environment added, and they had some device driver issues. Because they already had working code for all of the functionality of the device I explained that I could port the existing code over to the test application. Based on the scripting requirement I recommended using IronPython, Scintilla .net for a nice context highlighting text edit interface, and for their device driver problem it was a matter of walking the device driver stack to make sure the intended device was selected as they had multiple identical devices attached. The hardest part was that the device was written in C++, but they wanted the tool written in C# using .NET. So I had to translate the working device while I was creating the tool. They did not question my ability after I quickly followed their explanation of what the device was, how it worked and what they wanted. Within a couple of days they emailed me a contract, and about a week later they shipped their hardware as I work from home and in another state.
I have turned down gigs because I don't "work" in California, I refuse to pay the ridiculous taxes and deal with all the paperwork. I live in Nevada where there are no state income taxes, one less headache to worry about. Telephone, email and Skype are all that are required to communicate.
As for doing a technical interview? If asked I would never do one, I am a professional. No one asks a Lawyer to solve some legal problems and write example contracts, no one asks a doctor to do some sample examinations and provide a written diagnosis. I have references, I will talk about past work as long as I am not giving away any confidential information. If that is not good enough than I don't need to waste my time with the client. They are free at any time to have me stop working for them if they are not satisfied, considering that recruiters charge 15-20% of a years salary to bring someone on board it's quite a bit cheaper to have me do some work and decide I'm not living up to their expectations (that's never happened).
> As for doing a technical interview? If asked I would never do one, I am a professional. No one asks a Lawyer...
I'm thinking exactly this, just wanted to make sure this practice of refusing to tech interviews exists, and it won't be considered as being rude... Thanks for the detailed answer!
This is horrible advice, men and women both must push for a raise, companies will absolutely under no circumstances just give away raises because "it's the right thing to do".
Case in point, I am a white male. When I started working at a company over a decade ago I also started at the same time as another white male. I started at $55k, he started at $52k I negotiated for an additional $3k from the start. The first year I assumed they would give me a good raise since I was hired at entry level wages, I got a $2k raise. I was livid. The next year I made a huge deal about the tiny raise, I ended up getting $5k, now up to $62k. Year after $3k, again not happy. During that year there was a "salary freeze", I told my boss that was unacceptable, if I didn't get a promotion I would be leaving. So I got another $5k during the salary freeze. The next year still not happy, I made the same ultimatum, This time $10k. Up to $80k, I ended up leaving a couple of months later for a management position.
In contrast that other software engineer? He got $2k per year, except for the salary freeze year, they made it up the year after. He left after 5 years making $62k
Me -> $55k, $57k, $62k, $65k, $70k, $80k
Him -> $52k, $54k, $56k, $58k, $58k, $62k
So, apparently by being the squeaky wheel I ended up making an additional $18k a year by the time we both left. Plus all the additional money I made the preceding years.
Lesson here? Make yourself very valuable to the company, and then make them pay. They won't do it of their own free will. Look at it from their perspective, if you don't say anything why would they do anything? Obviously you are happy if you are not complaining.
The problem for women is that, in general, they don't speak up, they don't negotiate for salary increases they just accept what is offered. What we really need to do is to teach women how to understand what they are really worth, and to negotiate from a position of strength.
It was a snippet from a very long interview where almost all of what he said was good.
However, in this answer, I can see why the CEO of a 120k employee company is not going to say "get pushy with your salary" else he's have a pay rise revolt with people's justification being "your boss', boss', boss' boss told me to"
I'm curious what you think of Ben Horowitz's "How to Minimize Politics in Your Company"[1]. He gives the specific example of an employee asking for a raise; he argues that responding by giving them a raise, even if it's reasonable, rewards behavior that has little to do with their job performance, which has undesirable secondary consequences. He says that the right way to deal with it is to have a good, regular, and standard process for evaluating employees and adjusting their compensation accordingly.
To a person who works at a company that doesn't have such a process, I'm sure your lesson applies. But I wonder what you think about what the company should do. Take the company you worked at as an example: should they have had some process by which they would have measured your performance and come to you (and perhaps your co-worker) with a raise? (More regular and performance-dependant than "+$2k/yr each year if you haven't been fired".)
Regarding the main topic of this thread: Perhaps Satya Nadella believes that Microsoft has such a process, and believes that no one should ask for a raise, and gave his advice as though all companies were like Microsoft. (Or perhaps someone has information contradicting this hypothesis.) pacaro's comment below suggests that, whatever else you might say about Microsoft's process, it doesn't reward asking for raises.
>I wonder what you think about what the company should do
Very simple: give the raise that was asked for, or get ready to find someone else for the position. It's the same decision to make, whether they have some kind of process to do that automatically or not.
The company I spoke of did have a yearly review process, I also waited for that yearly review to come up before I objected to the pathetic raises which barely tracked inflation. When one starts out at entry level, one should quickly gain significant raises commensurate with ones skills and abilities. This company clearly tried to get away with doing as little as possible, I also happened to know that senior software engineers at that company in Colorado were making $120k+. Had I kept my mouth shut, sure, in a decade or two I also would have been making $120k+ but in 2020's dollars not 2000's dollars. The actual salary doesn't matter as much as what those dollars can buy.
As for Microsoft, I have no idea how their process works or if they even reward ambition and results. I did work for a larger company later, 6 months in they gave me a $13k raise and 6 months after that another $20k raise when they made me a manager. I never once brought up my salary, what I did do was point out what I thought was being done wrong and then proposed how to fix it. In this case I went to the CTO as my manager really wasn't managing the product at all, I thanked him for hiring me but told him I didn't think I was going to stay. He asked why and I described what it was we were doing and all the problems it was causing. I then followed it up with a solution of how to manage the product. I did not expect, nor even go in there with thoughts of taking over my manager's job. It was just an honest assessment of how to fix and drastically improve the efficiency of the group. One week later the CTO came to see me, privately. He told me they were very impressed with the work I was doing and they wanted to give me the opportunity to manage the product and the engineers working on that project. The first 6 months were probationary, after that I would be made full manager and get a salary increase. At that company, I never needed to negotiate my salary. They were always generous, they listened and were very proactive in keeping their employees happy.
In general though, my experience has been more like the first job. The companies, while having a yearly review process are very stingy. When it's time to hire a manager they bring in someone from the outside as they don't want to hire another engineer and retrain them.
As for Ben Horowitz's article, I would have quickly left any company that followed his advice. Telling me to wait, the company policies etc. I would see them for what they are, a stalling tactic. I would recognize that I was being "handled". With me I voice my opinion, I lay out the facts. If they are ignored, I don't complain, I don't bring it up again. I just quietly look for a new job, and any counter-offers after that point are immediately turned down. As things have gone according to plan, I don't even have to deal with this anymore, because now I have my own company, products and clients.
Thanks for sharing your experiences. It does sound like the first company's "review" process was more like something they could point to and claim to be fair to deflect complaints, and less like an appropriate reward-allocation system. And given that, I would agree with your characterization of "telling you to wait" and such as a stalling tactic.
If the system were better, though--say, reviews every six or three months, and you saw people who did good work getting raises and bonuses, mediocre performances leading to stagnant pay, new hires' pay quickly reaching what might be called their "market rate"--then I suspect you'd feel differently. Though I suppose that if you thought the outcome was fair, you wouldn't make a complaint in the first place.
I'm thinking one good way for a manager to respond to a request for a raise would be to conduct a performance review of all employees on his team, and give raises to any who were found to deserve them. Unless that had already been done within the last, say, three months.
(Here's a case I heard about from the U.S. International Math Olympiad team. For background, with a series of contests they select the top 12 high school students from the nation, which become the "black" group at an olympiad training camp, and they give these students a test to determine 6 team members and 2 alternates. They also take 24 students in grade 11 or below into a "blue" group, and 24 more from 9th grade into a "red" group. Now, one brilliant kid had made it into the "black" group and onto the IMO team as a 9th grader, winning a silver medal. The following year, he did relatively badly on the contest and "only" made it into the blue group. The organizers knew he was probably among the best there and should probably be on the team, but they had to find a "fair" way to do it... so they administered the team selection test to all students in both the "black" and "blue" groups. The kid made it onto the team and again won a silver medal for the U.S.)
You're starting a job? Good, so your education is just beginning. It took about 5 years for me to feel comfortable, and really become proficient at software engineering. The job is not an end.
Years 5 through 12, I developed my skills in project management and people management. Being able to code is one thing, being able to plan out a project takes it to a whole new level. Instead of a 5-10k line of code project you are now working on 100-500k LOC projects.
In my late 30's I am now off on my own, started my own company and I am close to releasing my first product. The keys to making this happen are the extremely valuable experience I acquired by "just being an employee", also I saved about $200k before I quit "working for the man".
Getting a job is not an end, like I said it's the beginning. How much you learn from the experience is up to you. If you really want to eventually do something big focus on making every situation a learning opportunity, also don't get sucked in by the lifer's. Don't waste money on fancy cars, don't buy a house, don't get married. If you tie yourself down with debt and responsibilities you may very well find yourself working for the man until you retire.
I would see participation at a bootcamp as a negative, if you can't pick up a couple of books and use online resources to figure it out; how are you going to manage once you get into a work situation that requires more than trivial common patterns and solutions?
If you want to further your education. Build applications, websites or whatever thing makes sense for your field of interest. Proof of your abilities is the application. Other than prior work experience it is the only thing that validates your knowledge.
A bootcamp is nothing more than a vocational school, it teaches just enough to be dangerous but will never make you a serious software engineer. That requires a much deeper background which would allow you to pick up any language and any framework that might be required. After going to a bootcamp you will have to spend years "practicing" and learning on your own to even be considered a junior developer as far as I'm concerned.
This is a very ignorant view. Just as instructors are an invaluable resource at a (human) language immersion school, the same is true of instructors at an immersive coding school.
At least at the particular school I attended, I got a great deal out of time and money I invested. It's true you can find great lectures online. However, I found the that having a better than 2:1 student teacher ratio and having instructors around while I was actually in the process of writing software to be very helpful. Ditto for code reviews. While I could have learned everything on my own with books and other resources, it would have probably taken closer to 4,000 instead of 1,000 hours. It's also worth pointing out my classmates did generally end up with the kind of background that let them confidently jump into another language and framework. Quite a few did in their first jobs out of the program.
>"After going to a bootcamp you will have to spend years "practicing" and learning on your own to even be considered a junior developer as far as I'm concerned."
Fortunately for my friends and fellow alum, Google, Facebook, LinkedIn, Uber and many, many start-ups don't subscribe to this point of view. The average salaries of fresh grads of the program are higher than those of Stanford CS grads. The gap after a year is even greater.
I certainly can't claim that every immersive school is worth it, but some definitely are.
Update: The class hours were 12 hours a day, 6 days a week for 12 weeks (total of 864 hours). I generally stayed a couple of hours late and kept working on things and/or playing around with things from previous lessons. During that time I was technically on my own but the instructors were actually still around. I truly don't know when they slept. I also put in about 25 hours during the break week halfway through.
Just to clarify - did you have 1000 hours of time at this immersive school/bootcamp or is that including individual time building on things etc? I'm just wondering because I don't imagine they come cheap (albeit I'm sure cheaper than Stanford CS) and if you pay by the hour or something that's way more expensive than I envisioned them to be. Also longer than I expected them to be, 1000 hours presumably quite compressed sounds intense.
I just look at bootcamps as part of starting your education. I would never consider a graduate to be a serious software engineer. I have been building apps for the company I work with and definitely realize that it takes years of dedication.
On my end I think I need to find something outside of work that I want to build. There are so many neat things out there. I just need to figure out what excites me as I get more into the industry.
If you need that push to jump into learning something completely new, like programming. A bootcamp can certainly get you started. Although I would consider it to be a very expensive way to get started. My other concern is the false sense of confidence that one now has a thorough understanding of the subject.
What languages, frameworks do you now have experience with? Ruby on Rails? Are you primarily interested in web development? Software development is a huge field with many specialties. Web development is completely different from native application development, server development is completely different from GUI applications. Firmware and device drivers yet again are very, very different from the already mentioned specialties. Then there are specialties like algorithm development, encoding, artificial neural networks, encryption, compression, game logic AI, etc. Pick one thing, because you will quickly lose your focus if you keep bouncing from topic to topic.
I'm currently finishing up my first app for the Apple Itunes store. Things I had to learn to accomplish this: Objective-C, Cocos2D framework, openGL, Adobe Illustrator, Quartz 2D, Cocoa Touch, XCode, Git, FreeBSD (to host my custom game server), TCP/IP, UDP, mono. And that's just the programming stuff. I had to create a very intelligent algorithm to handle the computer player AI.
Prior to taking on such a monumental project, I had over 20 years of experience with x86 assembly, C/C++/C#, desktop application development experience using MFC and .Net, firmware development for ARM processors, device driver development on windows, simulator development for an engineering shop, manufacturing operations and testing software with database backend, reverse engineering of cell phones for forensic analysis, software development management, and the director of software engineering for a medical device company.
What are you most intersted in? The topic you are MOST interested in. Start there. If you tell me more about what you are looking to do, I can certainly point you in the right direction.
I know Ruby and Ruby on Rails. Analyzing data is fun for me. Luckily I work for a company that has a distributed processing platform and copies of the web to crawl. I've built some simple data apps in Ruby, but and planning to learn Python as well soon.
Good advice on being focused. When I was self teaching I felt like I was getting great exposure, but not direction. My bootcamp was meant to solve that issue, which it did. To be fair my bootcamp was Bloc.io and is online, making it cheaper than most bootcamps. There were some tradeoffs because of that type of curriculum but it got me started. Now I work with a team that is super supportive of me wanting to learn more. Super helpful to have people to support you and answer questions.
I agree with you, except for viewing the bootcamp as a negative. Self driven exploration and learning is key, but attending a bootcamp is itself indicative a good traits. In the "best" bootcamps applicants have to:
- Quit their old job to go to school full time. This is huge in indicating seriousness of their career change.
- Pay real cash to attend. Again, this shows that an attendee is serious about their new career.
Both of these require significantly more commitment than _just_ buying books, going to meetups, and finding more experienced friends. It's not mutually exclusive -- when hiring, I want to see if the bootcamp grad has done these things. But, attending a school is definitely a positive.
Source: I've hired 3 bootcamp grads, and the result has been so good I'm actively continuing to do so.
Easiest solution of all, don't have a co-founder only employees. My work experience is software engineer and software development management. Having started my own company, I find I really enjoy handling the business side of things, forming the company, the paperwork, market research, designing logos, product vision etc etc. I really dread and despise any actual code development I have to do. Writing code is mentally draining, handling the business side of things is fun and energizing. From personal experience, if you are writing the code, you are working harder.
If you must absolutely have a co-founder, then I would find someone else who is technical. Their skillset should complement yours, i.e. if you are a GUI developer they should be a backend developer. Of course finding a developer who is serious is another matter. Most people talk big when it's just an idea, and they are fantasizing about the success like one does with a lottery ticket. It's quite another thing when you have to keep at it, like I have alone for almost 2 years.
I didn't plan this, I never tell anyone I'm looking for work, I don't update linked-in with a status. But it's been so long now, I don't think I could ever work a "real" job ever again. I've now been on my own; consulting longer than my software engineering career out of university.
When I quit that job in 2011, I only had $16k in my checking account. I figured if I had to I'd cash out the 401k from a previous job. I don't have family, put myself through university working a 3rd shift factory job, and still graduated with $40k in debt, in 1999. So to anyone thinking, must be easy when you have a safety net, couldn't be further from the truth. The manager at that last job was so incompetent she was throwing engineers under the bus left and right for her mistakes, I left before I was next.
Quitting that job in 2011 was the best decision I ever made. I know most people can't stand the stress of not having a steady paycheck. I couldn't care less, being free of being an employee was worth it to me. Salaried jobs are no more guaranteed anyway, it's a false sense of security. Since then, I bought and paid off a house in 4 years, paid for SUV. Bought tons of equipment, office furniture, books, computers etc. Over 5 years of living expenses saved now. I'm thinking of pivoting to creating a website, making youtube videos and maybe writing some books. The youtube channel will focus on science experiments; a different approach to learning. Trying to wind down a client I've been working with for 2 years now so I can move on. The last thing I'd do is cover software though, always hated it, just a means to an end, and I'm so good at it I make more in 1 day than most people make in 2 weeks. But money isn't everything, once you have "enough", and you keep your expenses low, you can be truly free...
' Two roads diverged in a wood, and I— I took the one less traveled by, And that has made all the difference.' -- Robert Frost