> People claim that startups work you hard, I personally don’t see it. From people I’ve talked to, I’d say 50 hour weeks are average. That’s about what you see in corporate America these days.
I think only in America would somebody say 50 hour weeks don't count as working you hard. Also, the average US working week is 35 hours, 37 in "information" industries:
The fact is that past 35 hours most people just aren't very productive, and a startup asking you to work 50 hours is going to get just as much "busy-looking" time as a corporate job asking you to do the same. Don't work at any job that expects you to work 50-60 hour weeks. Those companies are unhappy places.
What always bothered me about companies that ask you to work long hours (long term) isn't even the hours, it's more that it's a canary in the coal mine: it makes it obvious management doesn't know what they're doing. (Or alternatively: that appearance of work is more important to them than actual work. Maybe they're angling for a promotion and trying to impress their boss)
I worked at a company for a while where the solution to any deadline was either to work longer hours or to throw more people at it. (They called it "swarming"). I'm pretty sure not a single executive there had read the mythical man month, or they would have realized how insane that was. You can't just brute force problems that require creativity.
Exactly. And I've found that more often than not that the "we MUST complete this by xx/xx/xxxx or ELSE" mentality stems from some arbitrary date promised for no good reason. The company wasn't going to lose any more money or expose themselves to potential liability. It was just an arbitrary date marked in an MS Project file somewhere.
In situations where deadlines were missed, it ended up being OKAY and nobody really cared a week later. This then turned into a cycle where every deadline was tight and everybody got burned out because you can be sure that a manager who is bad at managing dates once will be bad at managing dates forever.
It seems that a lot of people in management lack good, common sense when managing workloads and deadlines.
I came to say exactly this. 50 hours is completely crazy, and if you're doing it often, you should look for another place ASAP. Fuck, 40 hours is already on the verge of being crazy if your job is intellectually demanding.
I've worked in one startup, another one on the process of becoming a small corp (i.e., already adopting process in a much serious scale) and a corp. The best by far, if you value your life outside the job, is the corp. The worst was IMHO the second one, which had the worst of the two worlds: from the startup world, disapproval stares whenever you left without doing enough overtime, crazy schedules overall (I learned later that some mandatory things were actually illegal in my country) and permanent fire-extinguish mode; from the corp world, bureaucracy and lots of meetings. This was in Europe, not in the US.
"50 hours is completely crazy, and if you're doing it often, you should look for another place ASAP. Fuck, 40 hours is already on the verge of being crazy"
I feel badly for you that you've been at jobs that have made you feel that way. I've worked 50ish hours for a long time, generally in jobs I enjoy and in compensation structures that rewarded me for do intellectually stimulating work.
But 50 hours a week is hardly crazy. Do whatever works for you, but I want to combat this strange myth that nobody can be productive after 35 hours a week. It's obviously false from my experience (and I would guess the experience of many, many people on HN).
35 or 50 hours or whatever is a pretty arbitrary number, I would agree most people have different limits on how long they can work, but I think the larger point is that for intellectual work, more hours don't imply more output. Or at least, not sustainably.
Not at my current employment, but I know there have been jobs where, say, 3:30 would roll around and my brain would pretty much fried for the day, but I felt obligated to stick around for an extra hour and a half because I'd get disapproving stares if I peaced out early. That extra hour and a half the company got of my time as not a useful hour and a half though. Or conversely sometimes I'd stay late because I was engaged with some sort of problem. Either way, the number of hours really had very little to do with my productivity, and trying to "force" it was never particularly useful.
If I were a manager, and I saw a person was treading water, I'd rather them go home and have them come back the next day refreshed, rather then have them stick around being miserable to meet some arbitrary number of hours.
I think 35 hours is a pretty normal limit with the caveat that it only involves one type of work. If I'm programming for 35 hours, I'm done. If you mix that in with meetings, design discussions, etc, you can get more than that.
Some of the people I've seen who can do 50 hours of productive work are in roles that extend beyond programming where there is a good mix of things.
Wow, sentiments about this differ very strongly in Europe vs. the US. What if the employer isn't asking you to work extra, but the person is amibitious and interested in the work he is doing and ends up working 50-60 hours without it getting in the way? To suggest that beyond 35 hours is non productive sounds ridiculous to me as a hypothesis. I would think it varies for every individual. Different folks can run different distances without getting overly exhausted. It is very similar for intellectual or creative work and even more so for technical work.
I think it's more a matter of expectations. I've worked OT non comp places that will still expect you to do hotseat outside of hours, deal with fires, or regularly come in early/stay late "lest you look like a slacker." This often isn't even institutionalized, but just some sort of weird culture that's built up around time spent "looking busy" corresponding in some inane way to being a productive employee. If you're making the choice yourself, fine. But if you're being pressured to work past that boundary, it may be as the parent poster said, a canary, if not for the whole company, but how the company culture will play in concert with your own personal choices/life balance.
Agreed - a push to confirm in a way that is not desirable creates the opposite effect. And this is actually pretty common - expecting folks to work on weekends, be available to reply at all times and so on.
Working beyond 40 hours is non-productive is a rhetoric I see often on Hacker news. And it always blows my mind. My life experience has been exactly the opposite.
The parent article does not state it as a requirement - more so as a nature of reality for the more ambitious folks in the startup vs. corporate category. I find exceptional folks in my company to be also very hard workers - by choice and not by force. And there are plenty who live a precise 40 hour schedule. Which is fine for both parties as long as that's what they want. What I find pretty ridiculous is the very common new-agey declaration that there is only one right way for everyone which is "40 hours of work" and anything else is just a waste of time. I think it is a very appealing life-style for many - but not a reality for many people who want to get ahead in their careers, are ambitious or are attached to the nature of their work. I see nothing wrong with that.
There's a risk in it though, and this is what I always try to stress. While I certainly accept there are many people who can work more hours, and do, (I do, if it's a project I care about) this can still set a precedent that "leaks" onto the other employees through that potentially subconscious expectation setting I mentioned. In short, you don't only have to worry about what you can handle, but if your behavior will put the rest of your team between a rock and a hard place.
This may be a "dangerous" thing to suggest, since I realize it edges on a "if no one does exceptional work we all look fine" mentality which certainly isn't productive, I just mean to stress that buying into 40< hours may have ripples in terms of legitimizing it as a Carte Blanche system, (Yes, this is a slippery slope argument, but having seen it pan out as I've described I'm less hesitant to lend it credence.) and as you say, an appealing life-style for many, or some, certainly might not be for all.
Thanks - this was a dense but provocative read. Is the context that working those extra hours just gets you into the over-performing loser category and doing so for the psychopath organization (which has no loyalty to you) is all for naught in the end ?
I guess it depends on yourself only. But any extra hours you are giving to your employer, you are taking them from you. Even if you enjoy the work, you could be enjoying the work at home on a personal project (that may make you money, or famous), or gym time for your health, or family time, etc etc.
I'm not against doing some extra time if needed, but working overtime regularly with the 'I like my work' mentality is for me the wrong way of thinking, since anything you could be doing sitting at a desk for your employer outside the agreed hours you could be doing it for yourself.
While this makes total sense, there are in fact roles where working more makes you progress faster. I feel that this is less the case in programming roles. But, in many business roles, working more allows you to learn more about the business, which in turn allows you to contribute more. As long as you are in a meritocratic environment (as I was in), where results are rewarded with advancement/higher pay.
> > People claim that startups work you hard, I personally don’t see it. From people I’ve talked to, I’d say 50 hour weeks are average. That’s about what you see in corporate America these days.
> I think only in America would somebody say 50 hour weeks don't count as working you hard.
50 hour weeks are technically illegal in the European Union. EU Working Time Directive sets the max working week at 48 hours.
One of the multitude of examples how law in the European Union (on average) is geared towards protecting the individual (citizen) whereas in America it seems to be geared towards the needs of the (big) corporations.
I think one big root cause is the US idea of "the land of oppertunity" where "an immigrant can step off the boat at ellis island, work hard, and own a skyscraper in Manhatten". In Europe, with it's long history of classism, the lower classes knew that they would never own the company, and trade unions were stronger, which led to stronger employement law.
This article misses some of the very good reasons to work at a Megacorp in terms of job security. I know, I know, it's one of those things that developers of our generation have been taught not to care about. "No job is secure", right?
The truth is, startups are much less secure, have in many cases serious problems in terms of future opportunities. And most importantly - despite saying "the job market is great, you can always find another job", this is just historically false.
"When Sonicity failed in 2001, I had a track record as a lead developer on a successful, well-reviewed enterprise product, the lead engineering role at an ISP that might still have been among Chicago's most popular, and research publications at least one of which has a cite record that a lot of ACM journal submissions would envy. Not to mention, I had cofounded a company that had raised a significant amount of money. I was living in San Francisco at the time.
I had to move to Ann Arbor to find my next job."
Startups might force you to leave because they die, but giant corporations will make you WANT to leave because they're terrible to work for. This is more of a general note than anything else (as in, not just programmers), but many of my friends who have taken corporate jobs have ended up leaving them for something else, like a startup or consulting shop, because while the pay was great, the work was boring and the culture was just awful. Startups can be like that too, but generally even if they are you have way more power to change things.
It's all a trade-off. You trade the fun of constant change for possibly better, but definitely more reliable, compensation. That is, until your company starts downsizing because someone up top bought 1 too many Ferraris.
I'd love a list of big corporations that are actually great to work for. It seems like Google is in this camp (I know, not for everyone, but it seems like most people have positive experiences there), maybe Facebook. I hear mixed things about Microsoft. What are the top ten BigCorps to work at as a developer?
This is pretty easy.
All of them, if you're on the right team, working on the right project.
Broad generalizations are pretty useless for something so intensely personal.
Ok, so it's possible to have a great experience at any huge tech company. That doesn't mean there aren't some with a better chance than others (it also doesn't mean that there are). Also, while everyone experiences things differently, I think there are probably some things that most people will agree on as good things and bad things in an employer. I will venture to name some:
The opportunity to work on hard/interesting problems; good salary/benefits relative to the industry; the company is interested in advancing your career/training you to be better when you leave than when you came in; the company places an emphasis on engineering rather than treating it like an unfortunate necessity; programmers are given some level of autonomy or self-determination, the structure is not overly hierarchical; the company tracks developer productivity in reasonable ways rather than based on LOC or ass-time in seat.
There are probably a lot of other things that could go on that list, and at some companies, I'm sure that all of these really depend on where you are in the organization. But I can't believe that these and other things can't be influenced by corporate policy and practice, and that there aren't some companies that make these sorts of things a priority when others don't.
All that being said, I asked the question because I've never worked at a big company before, and maybe I'm totally off base. I was genuinely curious. I'd be happy to hear people's impressions of different companies, or a real explanation for why all big companies are the same and none of them are any better than any others at keeping their developers happy. But just waving your hands doesn't seem any more helpful than overbroad generalizations.
I've worked at big companies, small companies, and government agencies.
You're asking for specifics based on generalizations, which is what I was suggesting you can't really get.
Corporate policy in Corporate America is, much like everything else, basically the same across the board, for legal reasons.
What's written down isn't the real driver of company culture and individuals enjoyment and fulfillment in their jobs though.
I've worked ridiculously horrific hours for substandard pay, but loved it because of the team and folks I was working with (common thread from the military: working in the face of adversity breeds camaraderie). The company, boss, the end users could have cared less and provided nothing on your list of 'good things', but it was still a job I enjoyed working at.
I've also worked for companies that checked every 'this should be awesome' box, and found it soulless, with a poor team of folks doing just enough to skate buy on their cushier salaries and lower hours.
Anecdata aside, it's like asking if it's possible to have a good life in America: it depends on what you want, but probably, yes. Where you live, what you do, who you socialize/work with, etc. is highly personal, and drives everything. While YOU (hypothetical you) may think the Silicon Valley is amazing, I know great folks who want nothing more than to live 50 miles from their neighbors in the woods in Maine. They're happy, etc. doing what they do, living how they live. They'd be miserable in NYC or the Valley. Likewise, hypothetical you would be miserable in their log cabin in the woods.
You might love Google or Yahoo or Microsoft, while someone else absolutely hates it. That's got VERY little to do with policy, and nearly everything to do with your personal life philosophy and the team/individuals you end up working with.
Even within a company, this is largely a function of what your project is, and how your boss treats you. If the project is challenging, new (no historical shit to clean up) and your boss takes good care of you, yes, great fun it is
Regarding tptacek - 2001 was by far and away the worse tech job market of the last 20 years.
There are advantages to the job security that either approach offers. If you can be a successful and well-referenced member of multiple startups, then you are a known quantity for groups trying to start a company. Also, your skills are more likely to be closer to the cutting edge and in greater demand.
Finding that next job in startups is always going to get tougher as you get into your 30s and 40s and your salary is more expensive. So corporate jobs have the edge as far as having a clear-cut 40 year career path at the same place. But you risk falling into a middle management trap... I wouldn't really want to be job hunting after spending 20 years as a front line manager at IBM, for instance (although that would be a lucrative 20 year career).
It's worth noting that there are tons of successful small to medium sized companies which don't fall into either category.
I've made a career at them so far, both avoiding the corporate culture and the start-up culture, while gaining the tight-nit teams, stability and learning challenges.
Examples include agencies that have developers, smaller development shops, bootstrapped product companies and more that I'm not thinking of at the moment.
The article doesn't mention if you join the start-up as a 1) partner (who holds a portion of the company), or 2) as a full-time employee. Even most people will be in #1, but I think it is worth-while to call this out.
Personally I have experience in #2, and it was a three-year old start-up. The experience was awful.
First, I was all on my own, I was told I would wear a lot of hats and would learn a tonne. The reality was I googled a lot, and just copied and pasted the solutions and code snippets off Internet and hoped those would work well enough to meet my need. Take a look at stackoverflow and you will understand what I meant. To make this really concrete, say setting up a server. Before VMs were more popular, I would need to actually get a Dell (bcos it was cheapest, period), removed the Windows, installed Linux, then the fun began: apache, postfix, mysql, spamassassin, etc etc. Do you have time to thumb through each of the excellent documents? We are not even starting to code!!!! On top of that, I also needed to do powerpoint (we had to use Windows because those VCs we met loved Windows), helped to proof-read the product specs to make sure it wouldn't promised anything that would take even Microsoft 80 years to build, and clear the thrash before I left office.
Second, as an employee I didn't have much say on the product design, and technical roadmap, this is especially true if you are someone who is fresh from school, I joined with 6 years of professional experience, but still I didn't have much say on the product features. I was just the guy who did the implementation specified by the biz guy (the CEO), nothing more. I also thought it could be this particular company was fucked up, however talking to engineers from other companies reviewed this phenomena is far from unique.
This kind of work is not much fun if you have a tight deadline and changing requirements from the sales (usually the CEO), especially the one who peddles the products doesn't have a technical background. On top of that, you are most probably doing so many things that you will not likely to have time and energy to sit down and run through the work that you have done.
Make no mistake, I am not saying corporate life is good (I am now working for a US MNC), it has its own set of shit, that I will leave for other day to bitch about
> I also thought it could be this particular company was fucked up, however talking to engineers from other companies revealed this phenomena is far from unique.
While it's by no means unique, that doesn't mean it's not fucked up. There are a lot of terribly-run companies out there. Misplaced loyalty keeps them alive longer than it should. You should quit whenever a company sucks; life's too short.
Totally agree. I left the company after one year and joined an MNC. Although the BigCo has its own issues, but the upside (stable income, more resources, clearer roles and responsibility, etc.) keeps me until now.
Depending on how you count things, I've been part of 5 startups and 3 megacorps (none smaller than 40,000 employees) (plus a couple regular old mom and pop small businesses when I was young).
If I can draw any conclusions, I liked the megacorp work much more while I liked the small business work environment more. I've spent about twice as much time in startups and small businesses despite having significant opportunities in the corporate world.
In the small business (startup or mom & pop) everybody is pulling their weight or they're gone. But the work, especially the startup, tends to be lots of "getting set up and doing things for the first time". You want to solve your customer's problems, but first you have to set up this or that server, or get the dev team using some new code profiler, or building up the QA team from scratch. It's a long walk before you can really start attending to customer issues directly because there are so many issues internally to work out. However, your individual contributions can make or break a company, your impact locally can be huge. That's really rewarding.
At a corporate job, the problems you get presented with are bigger and often very interesting, you work for a 1,000 pound gorilla who can (in theory) throw lots of weight and maturity behind solving it. The biggest projects I've ever worked on were at these kinds of places. You won't ever really have a big impact on the company, but you might participate in having a big impact on the world. At the end of the day, the single most rewarding things I've ever done have been while getting a paycheck from a megacorp. However, there's tons of dead weight you have to deal with. Bad employees get masked over by the size of the organization and work they aren't doing simply gets shifted onto one of the other nameless drones there.
If you want to be rewarded on both levels, don't think of the megacorp as the company you work for, think of the program or project as the "company" and try to get put on lean, thinly staffed, high risk projects. Your impact will be to the project, and it'll be huge, but the corporation will bring huge and interesting problems to you to work on.
This is a nice description. For me, working at a mega-corp is like living in a city. There are people who take my garbage away and keep the barbarians out. I don't have to do those things, so I can focus on what I enjoy: Developing new technologies, for which I'm rewarded. I've set myself up as a sort of entrepreneur living in this city, where I can take on more speculative projects, but at no risk to my own money.
I make damn sure that what I'm taking away is not only money, but also learning, even if it's at some cost to the efficiency of any particular project. And should I ever get into a start-up, I'll benefit from having observed the inner workings of a business from end to end.
If you're an employee then the differences are not so great and you can spend time debating the minutia.
If you're a founder, the risks are real and the costs significant. You'll probably earn little to nothing, for a great expenditure of time, effort and emotional investment, for a very long time, all the while knowing that you could've been earning money/pension/progression elsewhere.
There's absolutely no guarantee (in fact the odds are very heavily against) that you'll even come out the other side having much to show. You may have positioned yourself for a career as an employee elsewhere, but whatever monetary benefits follow are unlikely to make up the losses incurred as a founder of a startup.
I chose the corporate path for reasons never mentioned: education. At a fortune 500 company with a high entry bar, i'm surrounded by really damn good developers who mentor me. There are best practices, and explanations behind them.
My friend at start ups seem to me to have not had the same further education that I have. Maybe some will figure out all the same things on their own, but it will take longer. Hard to say. Some of them at 27 are the 'senior developer'.
I have to agree with this for the most part, coming from the startup side.
I'm on my second startup (started at age 23), both of which I was unfortunately the most senior, and at times, the only developer.
There are often times that I wish I had a more established structure around me to facilitate learning the lessons it takes you a while to learn on your own.
That said, before I was in a startup, I also found that I sometimes had a habit of asking too many questions of more senior guys at my mid-sized company. The negative side of this is that not going through the paces of learning those things on my own, I started to feel like I was missing out on developing the critical thinking skills that it takes to learn those things on my own. I was skeptical that I wouldn't be able to move into a role with nobody else to lean on all the time.
After being the most senior guy at a startup for a few years (except for the occasional times when I've contracted with people who have 5+ years more experience), it's helped me develop the problem solving skills that I'm not sure I would have with a resource working right next to me. The lessons are harder won, but sometimes it can be more satisfying to come up with that continuing education on your own (and, well, with the help of the internet).
I do not agree that in corporate you make lesser impact. Big company usually produces things used by real people.
Also I find most start-ups to be very conservative in employment arrangement. Option to work remotely or part time is usually deal breaker. In corporation it is norm after you establish yourself.
But I think best career is to build lifestyle business. Get a few customers, some products and just keep incrementally extending it for decade+.
> I do not agree that in corporate you make lesser impact. Big company usually produces things used by real people.
It really depends on what kind of impact one is looking for. The author touched on this point but think he could have made it clearer that working at a startup gives you the possibility of having a significant impact on a product with limited reach while working at a larger company gives the possibility of having a smaller impact on a product with much greater reach.
This is not always the case of course, you could work at a startup that creates an extremely popular product (though it may not be considered a "startup" for very long then) or work for a corporation on a project that will never see the light of day.
I graduated in 1997 and, since then, have worked at:
- 2 big companies
- 2 small steady-state businesses (<100 people)
- 4 startups (one as a founder)
So far my best experience has been at Google, where I work now. Here are some of my reasons:
- I have a lot of opportunities to learn because there are so many people with diverse skills and expertise and Google has the resources and motivation to let people investigate novel technologies.
- I work with amazing technology. Google has the resources to devote many engineers to internal development tools and production technologies.
- I don't have to work with (many) crazy people. At startups and small businesses, I found that one crazy founder or manager (who is probably related to the CEO) can completely ruin the experience. Google has processes to avoid hiring such people or to deal with them post-hire.
- The work I do effects a lot of people. My Mom has commented on features that I've implemented. And, since we usually work in small teams, my impact isn't usually diluted by a lot of people.
- There is a lot of project diversity and ability to relocate (if you want). So far I've worked on Google's support systems (Dublin), search (Dublin), App Engine (Sydney) and Chromecast (Mountain View).
- I get paid well without a lot of risk. At Google my base salary is pretty high and I can treat my bonus and equity awards as extras that I don't need to count on. And the bank can count on Google too so I can get a reasonable mortgage.
Not everything is perfect, of course. Two months ago a bunch of work I did was thrown away because my manager's manager's manager's manager didn't like it (his reasoning was sound but...) [1]. And bigger companies are under increased scrutiny so you have to be more careful about privacy, regulatory compliance, etc. A lot of things that you would just do at a startup require consultation with lawyers at a big company.
And my other big company experience really really sucked. I won't go into the details here but I ended up quitting in about 3 months.
I don't have to work with (many) crazy people. At startups and small businesses, I found that one crazy founder or manager (who is probably related to the CEO) can completely ruin the experience. Google has processes to avoid hiring such people or to deal with them post-hire.
That really hit home for me. Part of the severe burnout I'm experiencing is from years of dealing with people from a pill-popping, paranoid nutcase founder to plain old manchildren who thrive on creating drama.
(This was in the SV/SF "startup" scene, though most of the "startups" were actually just small, privately held companies who seemed to use that label when they were in the red, didn't have a clear direction, and wanted people to work more hours.)
I'm just finishing my MSc and I feel so lost and hopeless. I just started to evaluate my options to enter the job market. I'm not sure what is corporate life like for a software engineer in the US but in my country I'm finding out that it has more to do with requirement analysis, evaluating the best COTS (things like Microsoft NAV, SAP, TIBCO seem to be common) for the client and then configuring and deploying it.
Maybe with some ABAP in the way and in some cases some J2EE/WSDL/SOAP or C#/.NET webservices to interact with it. It looks like it's almost impossible to escape this kind of work here, the main employers are outsourcing/consulting companies like Accenture, etc.
I fear that if I go this way I will never be able to escape because I will be gaining experience in this areas and my career will be stuck in this world.
I won't be touching anything like Python, Ruby, Scala, RabbitMQ, Redis or any other technology that might be used by companies were someday I would like to work for, and do real development/engineering.
I'm sorry for my ramblings, I just feel so lost and depressed and would like to get it off of my chest before I explode, and maybe find some advice and guidance from you guys.
It may be an unpopular opinion on HN, but I would urge you to seek meaning in your life in something more fundamental than your career. Once you find your identity in something more important (God, family, relationships... don't hate, HN ;) ), it's actually easier to make an objective decision about what to do for a living. It makes it easier to take intermediate steps (unfulfilling in the short-term) between what's available and what the future may hold. I would even dare to say that it makes you more adventurous in your career because failure in your career no longer equals failure in life. You are not your code.
The perfect job isn't always on your doorstep, and it doesn't define the rest of your future. For my first job after school, I was writing enterprise APIs in old, deprecated languages for a large insurance company, and I had the same fears you do. However, I am now working at a cutting-edge startup writing Android apps. They were smart enough to see potential in me rather than a collection of acronyms and technologies on my resume. Working hard is important no matter where you are. Showing genuine interest in the startup is also huge.
Thanks a lot for your comment. It hit home. I don't have many friends or relationships, my family is really small (no siblings or cousins) and I'm far from home, and my life is centered around finishing my deggree and programming/learning new technologies. I feel I don't have anything else, so if I fail at it, I have failed in life.
Thanks for sharing your experience. It gives me some hope which is invaluable as I have very little of it right now.
Are there no innovative technology companies in your country ? Or are they not hiring (you) for some reason ?
Don't worry so much about the technology itself as the principles behind it. If you are just graduating, you have a lot of life ahead of you. Do something that you don't hate to your gut, and do a great job at it! You would be surprised how often that leads to new realizations and better opportunities. It is hard but don't throw away what you can get now just because it is not where you want it to be.
Also, it is your responsibility to be up to world class standards even if your current opportunities don't demand it. Make sure you are competitive at an absolute level and don't give in to the mediocrity that your current situation (or the level of your peers) can suck you into. That may give you the option to move up (maybe in a different country or a different company) given that you are already prepared for it.
Not true at all. You can always look for projects that interest you and start to contribute: browse github and knock yourself out.
For entry level jobs, as long as you can show adequate knowledge in a certain technology, I don't think any employer will care if you get it in a full-time job, or from your personal projects. In fact, I do think a candidate who does personal projects is more attractive because of the initiative and will-power needed to go this path.
Long time lurker, first time poster. While I understand what you are saying, I also understand the fears of the parent. From what I know, in some parts of Europe like Greece, Spain, Portugal there is not much software development going on outside of COTS and I know some people in these countries that get caught on a cycle of jumping from consulting company to consulting company but essentially doing the same kind of job and where 12-14h/day are common. Sometimes even weekends. It can be soul crushing and I doubt that they have any energy or time left for pursuing their own projects/learning new technologies, etc. I don't have first hand experience so I might be wrong but that is what I have heard from about a dozen of people.
Yes, I'm in one of the countries you mentioned. I also see that pattern among older friends which graduated and are now working for 3-5 years. About 30-40% of the people I knew either exited the country immediately after graduating or 2-3 years after. Some even moved via mobility programs like Erasmus and never came back. The rest remain in the cycle you mentioned and that is my fear.
If you are in an EU state why not move somewhere with a better job market like Germany, UK, the Netherlands or the nordic countries (you don't need to be able to speak anything but English to get work as a programmer in any of these)?
Well, even in countries like Belarus, where the largest companies were indeed outsourcing companies, I still saw a lot of gaming companies, particularly war games. Graphics programming is a grueling field where you spend months working on complex tweaks to improve frame rate or implement some effect, but it could feel rewarding to someone who is into it.
I spent 3 years at one of the name-brand Wall Street firms before starting my own company. This essay rang true to me. It's now 5 years into my "startup" (Aside: can I still call it that? We have 25 employees and millions in revenue.)
I have no regrets. My goal is for our employees to have the kind of environment we always wished the large companies we used to work for would have. In fact, many of my early employees were "corporate rescues", bright engineers that had been languishing in comfortable corners of large bureaucratic BigCo's that we convinced to join us, mainly on the promise of actually being able to use Python as part of their day job and work on meaningful/interesting problems.
At our "startup", we use the best tool for the job; we only work with bright people; we focus on results; we never stagnate; and, we deliver on an important mission. Also, our engineers get to open source a lot of work that isn't core to the business (see e.g. http://parse.ly/code).
The only BigCo's that I've seen that have tried to maintain that engineering-friendly environment are e.g. Google and Facebook, but for those companies, size still becomes a limiting factor on impact. As the essay put it, "Proportionally, you will have a bigger impact on the company's future than you will working for a corporation."
Product development also has a different feel when you're trying to create one of the world's next great software companies, rather than when you just happen to work at one that already holds that title.
I'll comment based on the context of the question submitted. The student is a sophomore. If the student were about to graduate, if newly out of college the answer would require some thinking.
If they are a sophomore I would say, startup hands down. As a sophomore I would assume they don't have any experience, or any risk, or any real need for money. It easier to do a startup at that point in life. They will find if they love it or hate it. It's better to test the waters then, instead of after college when they have real risks, a real need for money (house, spouse, kids, etc)
Me personally, I founded my first startup my junior year of college, which lead to co-founding a second startup while in grad school. Both startups had little to no profit. There were weeks where I easily put in 40-60 hours+ a week in along with a full time engineering course load. And yes, I still maintained a social life and remained active in campus organizations.
Post-graduation, I'm on my 3rd 'corporate' job. My current job and previous employment were with publicly listed, multinational companies who decided to start innovation centers/incubators...not only build their next generation of products, but in-source everything back to the US.
I also think it's a fallacy to generalize the work, and people in startup vs corporate life. My first employer, I ran circles around most of the developers, and had to be there 8 hours a day...I rarely worked more than 8. My 2nd job, I was the least senior of all the hires and everyone ran circles around me. My current one, I'm in the middle of the pack as far as experience, and hours are reasonable.
When does a startup stop being a startup? When they reach a certain age, or reach a certain revenue, or when they go public/get acquired?
I know there is probably a more technical definition, but when do they cross that line in real terms as it relates to the risks and pains of working at a startup, like this article mentions?
> People claim that startups work you hard, I personally don’t see it. From people I’ve talked to, I’d say 50 hour weeks are average. That’s about what you see in corporate America these days.
If you're working at an early stage startup then in general nobody should "work you" at all, rather you'll work yourself 60+hours a week because you ACTUALLY HAVE SIGNIFICANT EQUITY in the company and therefor you want to see it grow quickly.
In a corporate environment you don't have any "skin in the game" so to speak so there's no incentive to push yourself.
If you're working at an early stage startup and you don't have significant equity then you're doing it wrong.
'significant equity'. Who outside the founders and maybe five first employees really have that in a startup? If owning 0.1% which gets diluted to 0.01% before the startup sells for say 40MM bucks four years later is significant to you...
It depends on what you mean by "startup" I suppose. I've worked for three and in each I've been one of the first dozen or so employees. You don't have to be a founder but I think that being a core "early employee" with a fair equity stake is the right way to get the real "startup experience". Anything else is like.. well working for an established company, and doesn't have the same vibe, or excitement.
Most startup vs corporate discussions all come down to a lot of anecdotal evidence that falls on both sides of the spectrum.
I have worked for several startups as well as several "big corps".
Without naming names; I'm just going to lay things out in a sort of chronological order.
<TL;DR>Try to find something you love there are good and bad in both startups and big corporations.</TL;DR>
Big Co #1)
-----------------
I was brought in as an intern; this was my first exposure to the professional IT world. I learned a lot, the job was secure, benefits were good, nice people all around too.
I was groomed for the spot I was interning and when a full time spot opened at one of our locations half way across the country I was asked to take that opening and move. While the job was secure, benefits were good, and the pay going into the full time position was pretty stellar I felt dissatisfied at the time and didn't want to get "stuck" working there the rest of my life, so instead I turned down the offer and jumped to startup #1.
Startup #1)
-----------------
This was a great environment, we were having a lot of fun. People were working a few extra hours, but nothing too bad. I really enjoyed it there; they really took off and these days they are now a "big corp".
Things probably would have been ok if I had stayed there instead of moving on to startup #2
Startup #2)
-----------------
Work environment was great; very small close knit team. I loved every minute of it right up until I was layed off unexpectedly and the company closed their doors virtually overnight due to their single largest contract being dropped with no notice due to a change in federal government funding policies.
Still not too jaded by things; both startups had been pretty good to me so far I moved on to
Startup #3)
-----------------
This place was just insane. People constantly were being asked to work more and more hours even while the company appeared to be growing quite quickly. Then the police showed up at the company to arrest the CEO; he subsequently went to prison for some type of loan fraud (I never looked into the exact details).
This didn't slow things down though; his equally honest son was there to take over the reins of the company. He demanded even more hours of everyone while trying to slash costs/spending everywhere. We were actually called into a company meeting where he pointed out the window at the parking lot and said, "At 8pm at night this parking lot is virtually empty. That is unacceptable. I expect people stay as long as it takes for our deadlines to be met."
Not long after that happened my boss came to me and told me that he was quitting because a sale of the company was imminent and that it was not going to be good for the employees. He advised that I get out early because the job market wasn't going to be able to absorb that many programmers after the sale. Things were pretty bad; I was already unhappy; so I took his advice and moved on to startup #4. Less than 3 months after I left the company was sold in a major acquisition where the purchasing company was after our high profile clientele. Almost the entire development staff was killed; our products were all killed; existing clients were moved to the product of our competitor who had bought us out.
Startup #4)
-----------------
Tiny little startup; one major investor. I worked way too many hours, but I enjoyed it. We never turned a profit and eventually ran out of money. Eventually they couldn't even make payroll. They were unable to pay me about $10K in salary that I was owed due to there being no money left. The end.
Startup #5)
-----------------
Holy dear god and anything that is holy; this place was a living hell on earth. Unfortunately, the job market at this point had turned really sour so I couldn't find a job to save my life. So I accepted a position with this terrible startup. I was working 60+ hours a week, every week. I was getting calls when I wasn't at the office to come in and put out fires even at 2 and 3am. It was incredibly terrible and awful.
I was finally fed up with startups. So I decided it was time to move on to big co #2
Big Co #2)
-----------------
This place was so good to me. The time off was great; I was used to working my ass off from startup culture so I was able to put in half as much effort as I normally had to and was still getting more done than the people around me. Meanwhile most of the development team was just coasting by and doing the bare minimum while complaining that they had too much to do.
Despite what experiences other people had; this worked out great for me. 3 years in a row I was promoted and given stellar raises for my outstanding contributions. I was traveling on the companies dime frequently; which I really enjoyed as well. All in all I really loved this place. I also did not feel like a "cog" here; I was making major contributions to key projects at this place.
Startup #6)
-----------------
So it was with some real hesitation that I left Big Co #2. At this point I was actively recruited, not by some recruiter, but by a former colleague to come and join startup #6. I out right refused to entertain the idea, but this colleague was very persistent and kept talking about better pay, fat stocks, etc... He promised me a wonderful company culture, etc... and as he said, "It can't hurt to at least come in and talk to the VP."
So I had a sit down with the VP at this very new, but very well funded, startup. I was offered a ridiculously huge pay increase as well as stock that would vest in 3 years. It turned out that the cost was my life. I was working 7 days a week including holidays; usually from 8 am until 1 or 2am. Despite what everyone says; yes more hours can me more work gets done. But at what cost; my health was on a steep decline due to lack of sleep primarily. I was feeling burned out as hell at the 2 1/2 year mark but pushed on since that stock vest was so close.
The CEO though was a complete megalomaniac asshole (and this is being nice) that never liked me from the beginning. Despite the fact that I personally implemented more projects and delivered on more customers than any other developer in the group; he fucked me out of my stocks by firing me 1 month prior to them vesting. I got zero out of that. The VP called me an personally apologized and told me how unfair it was and that he even he couldn't believe that the CEO would be that big of an asshole especially considering how much it was going to hurt the company to have me gone.
Big Co #3)
-----------------
At this point; as one might imagine I was rather jaded by the whole startup scene. So I went to another big co. I said going in; "I'm done. I'm taking a job at this big co and I'm going to stay there until I retire."
Most people sat around here pretending to be busy when they really didn't have enough work for all of the employees. There were no opportunities for me to advance because there really wasn't enough work to go around; and people who had work to do sure weren't going to share. They were going to hold on for dear life in case layoffs came they wouldn't be the ones to get hit. And those layoffs sure came. In my 3 years there 3 rounds of layoffs hit. Each time I was sweating that the executioner was going to come for each time. And each time I was granted a stay of execution.
I was bored out of my mind and worried that it was only a matter of time before I got cut.
I started interviewing at other places; I considered several startups, but due to my past experiences I turned them down. I was really selective and focused on trying to find a position that valued my time, my knowledge, presented challenges, and had stability.
Eventually I found a small team within another big co that really seemed to fit with what I was looking for.
Big Co #4)
-----------------
That brings us to today. I work on a small team within a huge organization. We create products that make a big difference. We value creativity, productivity, and personal life. This is a team, more than any that I've worked with in the past, where we like and respect each other and I like to see these people outside of work. Will I stay here until I retire? I can't answer that, but I can say I love my job. It is challenging and rewarding, but it allows me to have a personal life as well.
I have my reservations about the startup world, but the question about risk management is strange. Young people shouldn't necessarily be worrying about that just yet.
Hell, worry about the risk of getting stuck in a situation where 50 hour weeks are "normal" and not a serious failure mode. Companies of all sizes know that young people a) have a lot of energy, and b) are easier to screw over salary-wise.
> "Finally what do you really care about: name brand or doing cool work?"
I did a lot of boring, mundane work during my time at some startups as well as interesting work at others. It's either subjective or not informed by enough experience to say that only startup work is cool work and you can't find cool work at a larger company.
If you want to slog it, really give all you got to someone else's project, a startup is the way to go. You're likely to learn a lot, and your decisions will have direct impact on the well-being of the company.
If you want a stable job that you can put out of your mind when you're not at the office, forget about startups.
One difference that was not mentioned is how much of your time is spent in office politics. For early-stage startups it's close to zero. In corporations you spend most of your time doing politics and dealing with consequences thereof, such as doing work that nobody needs just to placate the management etc.
The one thing that I like about startups more is the camaraderie you have with your teammates. That plus interesting work makes startups a hands down winner over cubicle life.
If only the choices were that simple. Contributing to a start-up and doing cool work is great if the startup does well and some kind of compensation package materializes. If it doesn't then you might very well lose a bunch of time, opportunities and other advantages (hopefully you'll learn a lot, also worth something).
I went through this a whole bunch of times before something finally paid off and there was 0 guarantee that anything ever would pay off.
If you have dependents, a mortgage, responsibilities outside of just yourself and little or no savings to fall back on the risks associated with 'doing cool work' may not outweigh the relative security of doing working for some 'name brand'.
There are intermediate levels of risk as well, and those should definitely not be ruled out, it's also possible to slowly transition from one situation to another without exposing yourself to risks you can't deal with.
> I really like the final line "Finally what do you really care about: name brand or doing cool work?"
That's really a false dichotomy to suggest you can't do "cool work" at a large ("name brand") corporation. Some of the coolest work in technology has been done at extremely large companies (e.g. Google, Apple, IBM, Facebook).
Doing cool work? Many startups want fresh grads to be taping together CRUD apps! MegaCorps will often ask the same of you, but have more paths toward getting deeper into both the product and the stack.
1) There is nothing wrong with taping together CRUD apps if it achieves a goal or makes a big impact for your startup
2) There is a good amount of grads that can't even tap CRUD apps together, let have CS degrees
3) At MegaCorp people are deeply specialized in their roles, its like a assembly line -- you don't get to design the car you screw the bumper on (if that)
I think only in America would somebody say 50 hour weeks don't count as working you hard. Also, the average US working week is 35 hours, 37 in "information" industries:
http://www.bls.gov/news.release/empsit.t18.htm
The fact is that past 35 hours most people just aren't very productive, and a startup asking you to work 50 hours is going to get just as much "busy-looking" time as a corporate job asking you to do the same. Don't work at any job that expects you to work 50-60 hour weeks. Those companies are unhappy places.