Ask HN: How do you earn your money?
I'm currently a student and wonder how developers tend to earn their money? Do you work for someone as an employee or have you got your own company? Or is it a mixture of both throughout your careers?
I do work part time as a developer in a start up and can't help feeling i'm building a dream for someone else. Not that the experience isn't really good, (It definitely is and I learn more in work than in uni!) but i can't help feeling that the current university paradigm of work hard, good grades, get a job seems to be bit of a misnomer unless you're happy building things to make others wealthy whilst you earn £30,000 a year?
Unless i'm missing something important, I am young and naive after all!
This is a subjective question. I just want to get a few thoughts especially from you old timers who want to tell a youngster some home truths! :)
153 comments
[ 4.6 ms ] story [ 303 ms ] threadA year later, I'm working for a startup, but I am also making double I was at my old job. It was really a paradigm shift in my mind.
I looked at college as my entrance to a career, and later learned that wasn't the case. People value unique skills, not cookie cutter graduates.
You're asking some deep life questions, that extend outside programming. a book: The Icarus Deception by Seth Godin really helped me when I was at a place you're in right now. Helped me understand how really successful people do it. hope that helps :)
I'm hoping to be able to work in Seattle next year at either Microsoft or Amazon and the main requirement they look at is whether the applicant has a degree in Computer Science or related field. Only after do they begin to look at personal projects/past accomplishments etc.
Not trying to say a university degree is for everyone, but for people like me looking to get into a top technology company, it's a requirement.
If you have the unique skills they're looking for, the top technology companies are willing to budge on the degree requirement.
On the side is when I do stuff I (kind of) want to do - I still need to make money to pay more bills (kids are expensive :-)), but at least it's a little different than my day-to-day 9to5 stuff.
I can relate to that feeling and it's something I revisit occasionally. Though, being a founder or joining a startup and taking equity has it's own set of anxieties. I think the right approach is to just focus on what you're building and if it's right for you. If you believe in the projects you're working on it's a lot easier to find happiness in your work. Some tough decisions need to be made along the way regarding money but it is possible to find a balance between compensation and doing what you love. You just need to be relentless in reaching the goals you set for your career.
I personally split time between a regular 40 hour a week job as an in-house web developer and freelancing. I just try to find new projects that interest me so that I don't get bored.
You are going to learn processes, insights and experience failures when working for someone (and help with building their dream). This is learning on someone else's dollar. It's mutually beneficial and £30k is certainly not something to sniff at.
Very few people walk out of university, raise money and launch the next Facebook.
It's all about de-risking. Make yourself investable over the next few years. Branch out and learn other areas of the business (marketing/sales/etc).
Plan what you want to do and make sure you have calculated steps to reach them.
You'll also probably want to be tinkering with stuff on the side. These could potentially get you some money, but more realistically will provide you with invaluable learning.
I've also worked fulltime in a programming role for about a year and a half in the past at a fast growing startup. I learned a LOT in my first few months there (including getting reasonably good at Python and Django) and really absorbed so much good stuff from my peers and bosses and even people who worked in other departments. But as time went by and the company grew (went from 20 to about 100 employees in that year..) I started learning less and less. So I quit.
One thing though, I never needed to work there (for money). I already earned enough from my own projects to sustain a reasonable lifestyle. (rented apartment, car, etc.) I just did it to learn more.
I have a few successful projects under my belt that pay for life reasonably well. This really varies from person to person. Some people are happy with $3000/month and some aren't happy with $50,000/month.
In my opinion you should work somewhere for a bit because you will absorb a lot of stuff with the right attitude. You should always keep your mind focused on the end goal of being your own boss if that's what you want from life. And when that awesome idea finally comes to you, the one that you have a burning desire to watch come alive, take the leap!
If you eventually can support yourself well with your own projects/freelance work then you will have the kind of freedom and flexibility that most people can only dream about.
I spent the last two years traveling and working (a little..) at the same time! Spent time in about 20 countries :)
Regarding university and the whole rat race thing. You're spot on! My personal opinion is (and has always been) that the rat race is definitely glorious in its own way (if you are at the top..). But why compete with a million other people who are trying to do the exact same thing better than each other ? It's really really hard to stand out. And hey, you may still manage to make it into the top 5% if you work really hard and are really smart. But why run the race everyone runs ? Find your own race and you'll likely enjoy it and probably win at it too!
Currently developping some webapplications and when they earn enough income i'd like to spent some time travelling / working.
The reason so many people are content with being employees, rather than striking it out on their own, has to do (at least in part) with their risk tolerance.
If you want a stable, steady income, and you don't want to put a lot of your own money at risk, then you might find that being an employee is the way to go. Yes, other people (investors in the company) are making money off of your labor, but that's because they're willing to risk their investment.
That's not to say that it's impossible for employees to build a dream for themselves, rather than someone else. In companies that are organized as worker cooperatives, the employees (rather than outside investors) own the company. You might want to look around and see if any places around you are organized this way ... or look into starting your own co-op.
Edit, to actually answer your question: I have a day job as a software developer, which gives me a steady paycheck and good benefits. I'm also an author of two books (see my profile for the titles), and that's produced a very nice supplementary income.
I am a textbook case of a guy ho did not manage his entrepreneurial career properly. Like a lot of HNers I am basically introverted. Even worse I grew up in a culture, rural Maine, here you did not ask for help; you did it yourself. I had other advantages: degree from a top flight school and college friends that were or became wealthy. But I didnt take advantage of all this, I kept trying to do it all myself. I started several companies which were ultimately unsuccessful. Between startups I supported myself by consulting with a good 6 figure income. Finally in my 60s I became less risk intolerant. My partner got some kind of autoimmune disease which meant I needed good health insurance and a steady income. The downside is that the startup adventures and a divorce left me with no savings or investments at all.
So my advice is to cultivate your circle of friends and serious acquaintances. Learn to present yourself and your ideas effectively. I think a first time, straight out of college personal startup is a real crap shoot, but at the same failure costs nothing. The advantage of being an employee is that you learn what a real company is like. A relatively new company with fewer than 100 employees should show you what a post-startup company looks like yet give you personal flexibility. You will learn about such things as sexual harassment policies, hiring, corporate culture, that can be very expensive to learn by trial and error.
If you are looking for a startup, one lead by people with previous startup experience, successful or not, can be a good bet. Your share ill be smaller, but your chances of success will be larger.
If you have been admitted to a graduate program at Stanford, go for it.
That's a difficult expectation to meet when you're $50,000 in student debt though.
See, I run my own business (and was self employed for perhaps 10 years before that) and I've turned down acquisition offers on the basis that without having "FU" money, having a full time job is as risky as it gets. One source of income, other people get the control over firing you, no guarantees of landing another job within a certain time frame.. that sounds risky to me. (Not that I disagree for people in general, but it's all relative to what you're used to, I guess.)
Get good at development, if that's your thing. It will help you whether you do a startup or work for someone else. (It's also a lot more fun, IMO.)
It's that now pretty much all day I can do what I like doing (programming) and come home at the end of the day and wind down from work.
If you're starting your own company you have to worry about everything involved in that tiny company from acquiring clients to managing staff to building the product, if that's something you want that's fine, but it's not something I'm particularly interested in.
I also very much enjoy working on programming problems at the scale you can only find in bigger companies, if I were to start my own company now and it grew like crazy at best I could get back to the level of problems I solve at work now in 10 years or so.
Here's what I'd love to do if I ever started my own company:
I start the company with 1 or 2 other software developers and designers. We would each own an equal number of shares. Any new team members would have to go through a relatively intense interview process, but when they joined, they would receive an equal number of shares, which means that our shares would be evenly diluted. And the next time we bring someone new on board, the decision would need to be unanimous.
Since we'd be giving away such a huge number of shares, they would vest over something like 7 years. But we would be giving them actual shares, instead of stock options that you have to exercise with your own cash. Also, keep in mind that that person would probably own more of the company after their first year, than most early employees own after 3. So yes, if we bring on someone new and our company was doing really well, we might be giving away millions of dollars in stock, and paying them massive bonuses in their first month. But why not? If we could pull it off, I think that would be an incredible way to structure a company.
And we'd start all of this without outside investment. Mailchimp and GitHub are two awesome examples of bootstrapped startups. But if it ever made sense for us to raise $100 million, then we'd go ahead and do that, knowing that every single person's shares would be diluted equally.
As soon as we start making enough money, we'd be able to pay everyone an equal base salary. We'd all agree on a budget for equipment, office space, hosting, altruism, and cash reserves, but the rest of the profits would be paid out as monthly bonuses.
We'd also dedicate a very large portion of our time and assets to altruistic causes from the very beginning. Eventually, our company would become a non-profit of sorts, where each of us re-invest our millions, and work on fixing everything that's wrong in the world.
I think that finding like-minded people will be pretty damn hard, but even if it's just ten of us, I think this would be an amazing way to build a company. I don't think this would be able to scale past 50 or 100, but who knows.
Anyway, thanks for listening to my rant :)
The businesses I own are currently all on a coop model. I think subject matter is likely to be a larger limitation though than location.
The pay check may not be as good as working in some companies, but working in academia provides a lot of freedom to try ideas, do it your favorite programming language, go to conferences, and visit far-away countries.
Academia is certainly not a good option for everyone, but it's certainly something you could consider.
That said, I don't exclude the possibility of going to industry again later.
One is the financial comparison between building a company and working at one. This is a straightforward risk-reward tradeoff. When you think about it you will consider things like stability and the impact of stability on other things you want to achieve in life, like family; you will also consider things like how to make starting a venture as safe as possible and gaming what you build based on likely exit; you will think about freedom, meaning freedom to do other things.
The other kind of motive is the desire to build an empire, to run something that is yours and to leave a mark on the world. People who are motivated this way don't think along the lines of risk v. reward or stability being sacrificed or freedom being earned; they don't even think about the reward from exit, except incidentally, as a way of building the big thing they really want to build or as a way of keeping score. People like this just don't think life is worth living (for them, not for other people) the other way; their overriding goal is to build a great organization doing great things.
It's important, I think, to understand which of these motives is active when you're thinking about starting a company --- or joining a startup at an early stage. If you are a type 2 person, you won't be happy until you're building that kind of organization for yourself.
Taking the job is fine, but it's important to find one that allows you to step outside your role when appropriate, and be involved in any area of the company which interests you. Basically any start up or small company (10ish people). You gain so much knowledge having an insight into the other areas of the business.
I almost started a company when I left university and i believe we could of made some money from it. Comparing what I knew then to what I know now, my approach to starting that company would be much different. Also the experience and contacts I have would give it a much better chance of being successful.
After that I switched a couple of regular jobs and enjoyed every single one of them: working on real-world problems (electronic banking, multimedia production) together with bunch of talented and all-around nice people.
My carrier was interrupted by unexpectedly getting stuck in remote mountains of east Tibet for almost two years. After returning home I felt professionally disoriented and took on a couple of terrible freelance gigs, working for a year like crazy and earning about 2 EUR per hour (in EU) because of feature creep on a fixed amount project.
Then I got to my senses and started a consulting firm doing mostly web development. Since childhood I dreamt of having a company of my own. When I got it, it was far from glamorous - trading time for money that barely paid for my rapidly growing expenses (marriage, mortgage, kid).
Software development is one of the rare professions where you can relatively easily create something that has a value on its own - scalable and not directly dependent on how much time you put into it.
Selling products instead of my time was my goal throughout this time. Now, seven years later, we (I run the company with my wife) are finally getting there [1] [2].
I made a lot of mistakes in these 20 years, but in general, if I could go back, I would not do it much differently. Mistakes are an important stepping stones on the path.
So, what I'm trying to say is this: you're young, do the things that excite you. There is nothing wrong in working for and with others. At any time, you can decide to try creating something on your own. At this stage in life you can probably take on more risk than later when/if you get a family. But no point in over-calculating things. As long as you breath and your heart beats you have the freedom to steer your life in any direction you choose.
[1] http://pinegrow.com [2] http://getbooklers.com
If you dont mind me asking, what happened ?
Since I was deeply involved in Tibet issue I decided to visit Tibet and spend two months travelling there to see the situation with my own eyes.
By chance I came to a small village called Ashuk in Kham (east Tibet, located in Sichuan province). The first impression was not good - everything was just mud. Mud houses standing next to the muddy road. The only nice place with decent food was the house of a local Rinpoche. One day I was bored and I baked a simple cake. He tried it and said I should stay there.
I ended staying there for three months. Mud was just one face of the place. Sun, green grasslands and incredibly kind people the other one.
In the next village I met a young buddhist master who was working on establishing a home and school for orphans. Helping him gave me a real reason to stay longer. We ended up opening the school in 2006 and it is still going strong [1].
I published a book about it [2] in Slovenia and hopefully I'll manage to do the English translation this or next year.
[1] http://shechen-school.org/prva-stran/lang:en
[2] http://www.matjaztrontelj.si/vsebina
I think you have achieved a major life goal already that most in Silicon Valley do not. I don't know if HN is the place to praise such deeds, but you did your small part in hacking the world to make it better. Kudos to you, don't ever let it feel as a wasted effort. That's so wrong a way to think.
There are people who want to help others and their repeated attempts fail. You just went and did something that's working for 7 years.
That's a pretty successful startup in my book. It can't go viral for obvious reasons, but it's mature and stable. And you did it without HN :-)
Kudos
A lot of times it is said that you should pursue your carrier while you're still young and without many responsibilities. But the same goes for creating something meaningful with your life, for exploring the world and widening your perspective on life. It is much easier done when you're young and it beneficially affects the rest of your life.
Almost exactly my situation at the moment. Hoping to get to where you are!
Sometimes it is better to just cut your loses and let it go. Then find something better. Nothing is more important than your physical and mental health.
Start with small projects. It is very rewarding to finish something, even more so if you get people to actually use your work.
Also, software engineering is a very multi-faceted profession, that can involve much more besides programming:
- understanding business processes, regulatory needs, economics; - working closely with people as part of collecting user needs, customer support and team work; - education and psychology; - user experience and design; - ...
There is a lot of place and flexibility to find what interests you the most.
I'm currently trying to set myself up as a freelancer and consultant to supplement my wages and maybe if it takes off I can make the transition from full time employed to full time self-employed.
Because my full time job allows me to innovate I've developed my skills an enormous amount while working there, I now get asked to give talks in industry events about the work that I have been doing which gives me a massive confidence boost. I actually worry that moving away from my full time job would stop me from being able to develop my skills and experience at the rate I have been doing.
So I guess that if you have a job that makes you feel like you're lining someone else's pockets with little reward for yourself then you're working for the wrong company!
Keep em coming! :)
When 2008 rolled around, I knew things were shaky at my company, but many companies I looked at had "Required: BSCS" or even when not, HR would grill me on college when I applied. I began saving a lot. I decided if I could find an equivalent or better job I'd leave, otherwise I'd take my chances - I had many months warning about the company and economy shakiness. Finally at the end of 2008 I got severance (it was a big company) and unemployment. I went back to school full time.
While at school, I learned how to program better and better. I learned Java. I took $100 of my money, sent $25 to Google and bought 6 months of web/email hosting with the other $75. I began publishing Android apps. After six months, one of my apps finally began doing well, and it has paid for itself ever since.
As far as my revenue, it has averaged $600 a week for the past few weeks. My business expenses are negligible - about $35 a week, $25 of which is my cell phone bill which is not fully a business expense. My non-recurring costs are when I pay for artwork or translations or ads.
My fall 2013 semester was academically tough (with my AI class only being one of the hard classes) so I did very little new work on my apps, just some minor maintenance, checking Nagios etc. Sometimes I can do work during the semester, sometimes I can't. I wind up doing a lot of new work during winter breaks, and during those summers in which I did not take classes (some summers I do take classes - but there is a short break around those as well).
The general ideas floating around here on HN are good. Paul Graham's essays, the Lean Startup ideas of Eric Ries and all of that.
One major difference for me is I am not looking to build a billion dollar company that is initially desirable to invest in for angels and VCs. I am doing a bootstrapped, lifestyle thing for now. I'm happy with $600 a week, although I hope to push that up to $700 or $800, and then eventually to $2000 a week. Once I get to $2000 a week, I'll probably shift what I'm doing, and may take on a more long-term, ambitious project more in tune with what is discussed here. For what I'm currently doing, pg's "Ramen Profitable" essay is good. "Startup = Growth" is good as well. As well as other essays, posts, and blogs by others doing bootstrapped startups.
You talk about working part-time. I started off taking four classes a semester, including a hard class in each semester. Before doing my own apps, one semester I took a consulting gig, and stripped down to two classes - one hard, one easy. It was not stripped down enough - I wound up having to drop the hard class, and the company said I was taking too long.
I also took a summer consulting gig and had no time at all to work on my apps. It's hard to juggle too many things. One semester I could only get two easy classes registered, so I got a lot of app work done during the semester.
One problem with working for others is during go-go times like 1998-1999 there is a lot of work, but come 2001 or 2009, work dries up, especially if you have no college diploma. I'm happy I've built up $30k in side income. If it keeps building up, it might become all of my income.
On the other hand, as others have said, you learn things working at companies, technical and otherwise, meet people etc. Some companies are just overflowing with cash.
Just looking for some hints and tips, will probably setup an 'Ask HN' closer to the start- I have about three months of commitments left before I go full time on app building.
So theres a lot more to running a company than just building a product . You also need to sell it, support it, manage people and run the actual company. Just because you're a good developer doesn't mean you're a good entrepreneur. Sure you could learn along the way but you'll also be taking on more financial risk, be responsible for a lot more things and likely not have as steady of an income.
The reward may be much higher but so is the risk and responsibility. That doesn't mean you shouldn't set out on your own and learn to be an entrepreneur, it's just the reason why the financials line up the way they do.
It's also worth noting that there is a 3rd option. If you happen to get in on an early startup that is later successful and goes public or gets acquired, it can also be very financially rewarding for you. I remember reading somewhere that in the valley it is common to hear "he was an early employee at Google" which is well known to translate to "he's now very wealthy".
The UK is terrible for salaried developers. The industry here (like everywhere I guess) continues to moan about a lack of technical talent, but it's no surprise given how low the compensation is. The US and Australia both value tech talent far more. And the money hasn't really moved up much since I was a graduate 14 years ago. That said - that pitiful £30K? Just for context, that still puts you well above the national average income.
That said, 90% of people will never be anything other than an employee and never really aspire to it either. Steady income, minimal perceived risks* to employment etc etc. It's only really in the startup world you're close enough to feel like you're working for someone else's dream though, and plenty of tech folk advance through the ranks of the big corporates like IBM and do pretty well for themselves.
Ask yourself what you want out of your life and career. Do you want a secure income and a long-term commitment to a project? Take the 90% route, work for other people.
Do you want more control over when you work, more money and to take on new challenges every few months, but without the security (or ties) of a job? You might enjoy contracting (I do). I made a few times multiple of your starting figure there and had 4 months off in the last year.
Do you want to risk it all to build your dream? Go for it, if you have a dream and the drive to do so. You'll sink all your time into it and you might get nowhere. But you might get everywhere.
So there it is, what do you want out of life, and are you good enough at what you do (and confident enough) to reach out and grab it?
*I say perceived risk because in reality most perm jobs are no better protected than us contractors.
I ended up starting out at UC Berkeley and during that first year of school I got my first real introduction to programming and computer science. However, I was also running a failing dial-up Internet service business (a cousin of mine had gotten my parents to purchase it so I could run it and earn some money/learn a bit about business, which was cool during high school) and was trying to maintain a long-distance relationship (which ultimately failed) and working part-time in the dormitory computer lab.
Because of the relationship, and the stress of dealing with the business failing (and closing after my first semester in school) I ended up not doing too well my second semester and ultimately decided to come back home.
At the time, back in 2006, things were still in boom mode and there were lots of cool new developments coming up back in my small town so I saw this as an opportunity to do something to make my community a little bit better.
I didn't necessarily want to continue with school (looking back, that was a pretty dumb thought) so I'm glad I followed my sister's advice and enrolled for an online degree program and worked my butt off over the next year and a half (with my AP credit and the credit from my classes I did pass at Berkeley, along with CLEP Exams I took along the way to get out of certain requirements, I was able to finish my Bachelors, and have that all too important piece of paper, before I was 21).
During that time I was in school I had started up a new business hoping to do a bunch of web development for local business and start making an income I could live off of. After that didn't really materialize I figured it'd be a good idea to start pursuing a "real job" where I could earn a regular salary I could depend on.
So months before I officially graduated I had started my job search in my local area. I blame most of this on luck, but I applied for a number of IT jobs, which I got "Thank you for applying" letters and a few web development jobs, but kept on getting rejection letters. I also ended up applying for a webmaster job at the local college in April 2007, but even though I kept on checking in each month, there wasn't any movement on actually hiring anyone for months.
So in late 2007 or so I ended up releasing a site which I hoped would "change things" and raise a bunch of money for education by encouraging folks to purchase their online products through a non-profit which would be setup specifically to collect and then distribute affiliate fees earned by all of the local individuals that made their purchase through this site (as an example, you might click on the Amazon link on this site and then be taken onto the main Amazon site after that to do your regular shopping, but since you went through that non-profit's site it would bring back a bit of that purchase to the community and I was hoping that money could go to paying for field trips for schools and other stuff that normally gets the ax because of budget cuts nowadays). I learned a few years later, but I guess that work is what eventually made the college move forward with looking at all of the applicants for that webmaster job and I impressed them enough in the interview that I was offered that position in early February 2008. That day I got that call that I was going to be hired is probably one of the happiest I can remember (it's a good feeling to know that your hard work and talents are appreciated).
Those good feelings were tempered dramatically when the Friday before I was supposed to start working, my younger sister passed away in a car accident driving to her high school. Going through such a difficult time right when you begin working somewhere really showed me how much people care about each other down here and I really appreciated all of the support I received at my new workplace during those early days.
Over time, I've learned so much and each week and month most often has something new to work through that you didn...