I went over and said "Would you care for a quickstep?"
She said yes. We became firm friends, and married in 2000.
Personally, I find ethical problems are the kind that would make me leave. Business disagreements and technical differences are one thing... but I can't support something if it directly conflicts with my personal ethics.
So if I were in your shoes, I'd frame the question in exactly that way - is this just a disagreement in style for you, or an ethical conflict?
In general a large corporation is -- surprise surprise -- going to be made up of a lot of people. Some of them are going to be really passionate about doing the right thing, some of them will be happy to do what it takes to get ahead, and a lot of them are just going to want to do their job, get paid, and not worry too hard about the bigger picture. It can feel bad to be at the big evil and feel like you're being corrupted by being a part of it, but you always have the option to do what you think is right. You can stay there, work hard, and push back against the culture and attitudes you think improper. Maybe you'll make a difference. Maybe you'll give up. Maybe you'll try hard but no one will listen, and meanwhile your hard work will benefit the wrong people. Maybe you'll get fired after people get tired of you telling them how bad they are or after you refuse to do something that crosses the line.
In 5 years all this will feel natural to you like the rest of us, and your stock options would have fully vested by then.
I'd just add that regardless of your decision, try to take a step back and see if you could have spotted these issues earlier, before joining so that you'd be less likely to repeat this mistake in the future. Maybe there were some red flags that you missed or downplayed?
If you and other coworkers are treated fairly, then you are probably being a bit too sensitive / idealistic. Relax and view it as a challenge: learning how to deal with people that you view as too aggressive/competitive. It will serve you well in life.
Again, given the lack of detail that's my best advice... Note that I've worked at a company that stole code and got sued, so I have some experience in unethical companies and leadership.
"Our Mission is to make money for our investors and the executives who were able to negotiate their own contracts and who control how we do business. We make money primarily by (selling products|providing services|entertaining people). Where we can do so without impacting our fiduciary responsibilities, we may attempt to do the 'right' thing - particularly in situations where we can get positive press or customer relations out of it - but that's a preference not a responsibility and may be considered part of our marketing budget."
This may seem cynical, but it's basically the way it has to be at any publicly-held company and most privately-held companies that get VC funding. If you tell investors "We're going to put social responsibility/open source ahead of repaying your investment or providing you with profits," good luck finding investors. Entities that put social responsibility, etc. higher are generally called non-profit, not-for-profit, foundation, etc. and I'm not aware of any that could be described as "a big tech company."
There are a lot of good comments here, enough to get you to an answer I think. Personal integrity comes at a cost, and you describe a situation where your personal integrity is in conflict with the company's policies. It is true you should always be looking for a new job, thinking about what you want to do next what you like in a company what you dislike. One of the reasons for leaving is that the company's ethics and yours are too far out of alignment.
Here is the really tricky bit. Companies that are unethical get a reputation for that, the longer you stay at that company the more someone will believe that you're ok with that stance.
So three things;
1) Lead by example, speak out about unethical behavior to your peers and make your own choices in line with your values.
2) Look around for a company that is more aligned with your values, that is much easier to do while employed though.
3) Develop some questions you will use when you interview to understand how leadership treats those questions. Things like "Tell me about a time when your management suggested something against the best interests of the customers/users, and the response to it from your organization."
A company that rips off its users will eventually rip you off.
Note though, that if the users are sophisticated enough that they should be able to read and understand a contract, and your company is following their contracts, then they are not ripping anybody off.
If there are possible legal issues for you, then you need to get your own lawyer, because the company's lawyers aren't your lawyers.
Putting that aside, if you want to make a change to a management decision then you'll have to be making a presentation to management that's heavy on facts (evidence of risks and bad consequences) rather than about how it makes you feel. Since you're looking to change the status quo, the burden of proof is going to be on you and your allies (if you have any).
If that actually succeeds then it's evidence of strong leadership. But in the more likely case, it's time to look elsewhere.
I'd be happy to have a chat and see if there's a space for you somewhere in my network. Life's too short to do morally-dubious work. Contact info's in my profile.
(Unless you're a relatively high-level being with some political cachet, which, given you're new and having asked this question in the first place, you're probably not.)
I worked for a similar company right out of college, when I was young(-er) and naive(r). Those 18 months barking up an amoral tree would be handy to have back.
Also don't trivialize the psychological impact that this can have on you, especially if you find yourself thinking about this off work hours.
But there's of course a limit to that, and once illegal things start to happen - quit. But if that's a "regular shady" stuff everyone does, you may have problems finding company that won't do it (well, you can find companies that are much subtle internally about it, and you won't know what they do).
Start interviewing and looking for another job. When you find a better one, quit.
Day-to-day, what really matters to your experience is the direct team around you. You're a little enclave inside a larger organization, and may never really interact outside said enclave.
But, we also like to take pride in what we do. If you are ashamed to work for the company, that will probably eat at you. You might learn something that changes your perspective that leads to changing your mind, but the company probably won't change.
If you have a company that is doing genuinely interesting AI work, it's likely that they are somehow on the forefront of research, pushing existing tools to do things that they can only barely do. If you find yourself in an AI role (typically only some roles actually do AI, of course -- systems need to stay up, great UIs need to be built, etc.), I would guess that you'll need to familiarize yourself with their particular toolsets and methods rather than assuming that there are universally correct things to go learn.
* The Python scientific stack for prototyping, data manipulation, etc. (Ipython, matplotlib, numpy, scipy, pandas, scikit-learn).
* Tensorflow for training NNs.
* Everything gets ported to C++ once it's ready to be integrated into the codebase.
* I work on the automated interpretation of EEGs, so I use our software (Persyst) to actually visualize the EEGs and see what's going on in the data at the ground level.
My boss is a big fan of Statistica for data manipulation and NN training. I've been learning it, but I have a natural affinity for Python.
I think you'll find that the tools you need will be pretty dependent on what you're doing, though. I deal with relatively small datasets (~100 EEG records, ~dozens GB total) and the NNs need to be well understood. So we use small NNs and spend a lot of time poking and prodding them to make sure that they're behaving the way we expect them to. If you're working on much larger datasets and are more willing to tolerate the NN acting as a black box you'd have to use a different set of tools (bigger NNs, more complicated NN architectures, GPUs for training, etc.).
* So obviously Java, Scala, Clojure, and lower-level languages like C++, C and CUDA.
* Since deep learning needs very large datasets to train on, our engineers need experience with open-source libraries used in production environments, such as Hadoop, Spark, Kafka. We also work with Lagom, Nifi, etc.
* A lot of the same math underpins many machine learning and deep learning algorithms. So a high degree of comfort with linear algebra, calculus and probability is a plus.
* A general knowledge of the strengths and weaknesses of various algorithms -- neural networks, reinforcement learning, etc. -- their combinations and applications is helpful.
The Github repos are here if you're curious:
Also, we're in Montreal and we're hiring :)
1. Don't work hard. Try to reduce your productivity.
2. Don't work long hours. Reduce your working week to the minimum necessary. Most university graduates earn enough to live comfortably on 10 or 20 hours work per week.
3. Have less stuff. Go outside more, even if it's to play Pokemon Go.
4. Do things for other people.
5. Try to lead an innovative life. Don't wear a tie.
6. Seek to abolish the existing world order.
As a 29-year old, I'll offer instead my own personal regret about my 20's without any panacea, I hope that it is relevant to your stated idea even though it may not seem so at first:
Last night I came home after going out with a bunch of friends from a startup at a "reunion outing" that we all used to work at several years ago,
We are all 28, 29, 30 now and we were 26, 25, 24 when we were hanging out everyday at work and after work; and past the superficial remembrances of the "all fun times we had," inside jokes of what-he-said, what-she-said, casual bantering at the pool table and the double high-fives for the ladies and low ass slaps for the bro's after the final game, on the back of the Lyft ride home, I thought about how we never ever really fought.
Not talking about general boorishness caused by alcohol and clashing sensitive male ego's, nor the passive-aggression between friends or acquaintances where perceived slights/differences built up but never confronted, beef never squashed instead squished down underneath the social surface that years pass by, your group's "happy hours" turns from a "thing" into a remembrance - that you heard only about XXX's wedding from your other friends who had been invited but you feel only slightly annoyed because XXX has already become someone who you used to know.
But really fight in a moment, air out your differences, coming into a fight, knowing that you or the other person may not come out at end as friends anymore, but you have a hope to salvage things, out of a conviction to be authentic to yourself and the other person, out of an intent to love the other person even if there is a such deep well of negative emotions, frustration, hatred, feeling of injustice and inspired self-insecurity, that you can't help but to still respect/admire the uniqueness/individuality of the person and even a wisp of self-reconsideration of your own part in the sordid affair; and hope you guys might come be able to come out the other side.
This is the my biggest regret about my 20's. That I have always ducked all my opportunities to fight.
Instead of accepting the up's and down's in any natural relationships, I took every setback, every feeling of feeling stagnant as an outlet to push people away. Underneath the thin sheath of rationalizations is a dread of knowing myself as who I truly who I am if I were to fight, I'll be exposed. So it is with this never-said but oft-acted upon notion I've come away with a decade of superficial trinkets instead of battle scars, and without the satisfaction that I've truly ever loved.
You should embark on side projects. They will teach you so much more than school ever will, and they will reward you in a way that nothing else really can. If your projects can make money too, then that's icing on the cake. You will be free.
I'm 25 years old with no degree, taught myself to code for the past 2 years and got turned down for thousands of developer jobs. I ended up working in a factory doing curtain assembly, and selling websites door-to-door after work, until last month, where the first day I decide to go back to sports, I tear my meniscus.
Thankfully, healthcare in Canada is free. However, with 250$ to my name at the time of surgery, the future was looking really, really dark. Can't work, and can't do door-to-door sales. Mother Nature has deadly accuracy with those curveballs.
In the hospital bed, I'm having an existential debate of what to do with my life (in the immediate future). I can sell my Macbook to stay afloat, but that means that I can't build iOS apps anymore. I can ask my brother for money, but he's just about the biggest asshole ever to have roamed the planet and we have a trash relationship. After a lot of tears and self-pity, and telling my life story to the nurse, I decide I'm going to throw life a curveball of my own and invest all I have in a new e-commerce venture.
So I set up a quick WooCommerce site selling Pokemon Go apparel and blew 200$ of my 250$ on FB and Instagram ads, and believe it or not, within 3 days, I nailed my first sale, and got approached by 2 Pokemon influencers to sell to their following.
I'm now making about 2 sales a day, which amounts to 30-35$. It's peanuts, but I've survived on less, and honestly, stuck in bed with a full zimmer brace, super high on painkillers, 10 full minutes to do a washroom trip and I am happier than I have ever been in my entire life. I'm trapped in bed for the next month, but I have never felt more free. Maybe with this, I don't even have to go to work again.
So that's my two cents, for your two cents. Find a project with potential and work on it. It doesn't have to bring money, it may be learning to play Californication on the guitar or implementing a hashing algorithm, but as long as it's something you enjoy and makes you grow, this is IMHO what life is all about.
I didn't really have any bad subjects in school, so I figured I could do whatever interested me professionally, but nothing really strongly appealed to me other than a paycheck large enough to eat out whenever I wanted. I discovered programming was pretty fun, now I'm a software engineer, and I'm just saving money for.....something. I don't know what.
I've been trying to figure out what I'm moving towards for years. I just don't know where it's going. Marry, have children, buy house, continue office job? I want to really care. I see so much wrong with the world and I don't have any clever ideas on how to fix it.
I don't want to make an app, something that adds a little convenience but doesn't truly make anyone's lives better. I want to fix something that's manifestly broken. I envy Elon Musk above all others, because he's seen terribly important things that were very broken, and had what it took to break all barriers to fixing them. Needless to say I'm not Elon Musk. Most people aren't.
I'd like to fix something social more than technological. I'd like to fix something societal that's broken, like the fact that Congress is literally a joke among Americans, that people feel so detached and isolated from the people creating policy that we don't bother to vote because we don't think it'll change anything.
But I don't know how to fix those things, so I keep working conventional jobs, but I can barely bring myself to do them, because my heart isn't in it, and I feel the years passing.
I've found 3 things that have helped me deal with my depression/boredom:
1. Have things to look forward to:
Always, always find things to anticipate and look forward to in the short and long term. Whether it is something small, like a treat at the end of the day or something big like a vacation or short trip away.
2. Side projects & working towards self-employment.
Ultimately, the aim is to be the master of my own time. I no longer have to wake up at 8am because I HAVE to but because I (may) WANT to. This for me is so important. To be the master of my time. I'm 32 now, if I'm lucky to live to 70 you can say that I have about 14-20 years of productive time in me. I want to use it for myself.
I know that this isn't for everyone. Personally, I find religion and spirituality helps me to cope with every day issues. It gives me strength where I might otherwise just find a gaping void of pointless-ness into which to fall.
I hope this helps you. As mentioned by another comment try to avoid alcohol. You won't find the answers you need a the bottom of a bottle.
Our generation has been brainwashed since we were children with identity politics, identity consumerism, and identity propaganda. We've been demoralized to believe in a system that is so utterly corrupt and rigged against us that there really isn't an answer to your question. You've already screwed yourself with a useless college degree and likely debt, and literally paid them to brainwash you into believing what they taught you actually has relevance to the real world. It doesn't, which is partly why you're feeling what you're feeling.
My best advice to you is stop doing what anyone else tells you, stop following the path society wants you to, and in fact avoid the things you're supposed to do. Start a daily meditation practice, take care of yourself, eat well, focus your energy on creating value for others, and put all the distractions down and go outside.
Don't subscribe to propaganda, don't identify with anything anyone else tells you to, listen to your intuition, study things that interest you on your own always. Learn to teach yourself whatever you're interested in. Stop expecting the world or anyone else to hand you anything, and become the best problem solver you can become.
Everything else is just noise.
Everybody was implying I was suffering from severe depression so I decided to visit a psychiatrist. I was diagnosed with dysthymia , a condition very diffirent to depression. It basically means, no motivation to do anything.
So I have been taking drugs, they did not help, however psychotherapy did help me. After a year I realized that my problem was and still is pressure , pressure from my family but also and mostly pressure from myself. It killed my fun and enjoyment , everything became a must do, and brain refused to work under these conditions.
Now with the help of psychiatrist , I try to relearn how to relax and enjoy the process, stop working hard and instead work easy and fun. It works but old habits die last. So it will take years till I am out of the woods but the last year I have been doing psychotherapy at least I see a steady improvement.
We are be taught that we are our brain , but this is simply not true, brain is whole another monster and if you dont take good care of it , it will kick your ass. I wanted to learn this the hard way and so here I am.
So there is hope dont despair, definetly see a psychiatrist and expert advice is always helpful. The rest is up to you , go find what makes you happy and do that, the rest will follow.
Don't leap back to school without carefully vetting whatever program has caught your attention. A lot of hoop jumping, and a lot of curriculum that's a decade out of date (or more) out there these days. I've tried to go back a few times, and it's been a complete waste of time/money.
Read Pressfield's "The War of Art." It's cheap, it's short, and it's helpful. There are a few passages that don't quit hit home, but it does one thing really well. It gives you the kind of internal vocabulary you need to get out of the "I'll do it tomorrow" sort of procrastination. "Tomorrow" is really dangerous thinking when there's not an actual deadline. You'll be saying tomorrow for years at a time, without actually moving the needle.
Move the needle every day. Do -something- that counts as forward progress. Momentum goes a long way. Track what you're doing. "What gets measured gets improved" sort of thing.
Be honest with yourself. What have you done that makes you think you should be more than just another office peon? Put in the work. Stop wishing. Earn it.
It could lead to suicidal ideation. Then it's possibly a literal death spiral. You're depressed that you don't get anything done (hobbies, side project, etc). This makes you more depressed. You don't get anything done. This compounds the feelings of trapped/existential worthlessness. Eventually you might come really close to suicide. No booze.
Instead, find out what activity you can do every day, potentially for the rest of your life, that gives you meaning. For me it's eating lunch with my dad and going to the gym to meet friends and stay healthy. And reading and learning. These things don't sound profound, but they keep me happy about waking up every day.
It's this rocket launch in super slow motion, the uphill battle of following the standard script.
Finish school, finish the university, get a job, work on the PhD, survive the lawsuit vs conscription army, finish the PhD, get a better job...
And suddenly you are in orbit. The last stage falls away, and there is freefall.
There is no next step, nothing left to do, no battles left to fight. Feels awesome, but gets old really fast. I lasted up there for about a year before hopping on a random plane and spending a couple months in South America, then slowly figuring out the things that are worth doing and things that aren't worth doing.
5 days a week job is not worth doing, it eats away your sanity. 3 days a week leaves much more time to work for projects of your own (or to come up with them). Projects are worth doing, you never guess in advance how they would play out, and the process is fun.
So, step one is to derail the current routine and get some thinking space outside it's constraints. Step two is to figure out what you like to do and how to be able to do it.
Not sure how well that would work for you - Russia is a cheap place to live and most existential stuff is free, so my situation is quite a bit privileged compared to what i heard about USA.
I had a fantastic time, but now I am suffering from the blues, not before. I think of all the places I went to, and I simply cannot stand to be at work. What am I doing here? Another trip?
If you are an American (can never tell on HN), then you may define yourself by your job and profession. Treat your job as a paycheck and define yourself by what you do in your free time. Of course, doing what you love is important, but most people do not have that luxury. Many here on HN will disagree. Simply get the job that sucks less, has a good work balance, and enjoy the other 16 hours of the day. Try living overseas with the culture is not as work focused.
I don't think the answer is the same for everyone, but my best times have been when I was helping someone accomplish their dream company/project/etc. Self-employment wasn't fulfilling for me in the way I had hoped, but sticking with someone who has a great vision for something and being their support really helped me to feel momentum for myself. Doesn't matter if I was making lots of money, or just following the project and offering my opinion when asked.
My advice would be to seek out an opportunity, however small, to find something that has meaning and momentum. Mentally put your office work on autopilot, use your energy on the nights and weekends to find interesting people and offer your unique perspective on what they're doing. I'm not out of the woods yet, so take my advice (and all the other posters') with a grain of salt. Hope this helps. Let us know how it goes.
Edit: The thoughts Derek posts over at sivers.org have been very inspirational to me as well. He'll even answer your email if you ask him some questions.
So just start doing something. Choose one that appeals to you: help another person, create something, build friendships. You've spent enough time improving yourself through education, now it's time to focus outwards and give back.
Second, structure. Set some recurring reminders for starting. In the past I have used a dark trick: I asked a friend to be my "demotivator". His job was to knock me off track. If I didn't meet my personal commitment on a given day I would pay him $50. It worked extremely well.
The best solution I can offer you is to wait. Find a hustle (job you don't mind doing that makes enough money for you) and let yourself recover a bit until a new plan / opportunity emerges. For me, I got a job working as a bar tender for a few years, then one day decided I couldn't wait on people any more and I didn't want to be poor anymore. Enrolled in my local college for Electrical Engineering and plowed my new path. But it took ~3 years for me to be ready to do that. I had suffered a fairly crushing defeat and needed time to recover and let a new plan gestate.
Be patient, and ignore the voice in your head that worries about how old you are and how so many other people seem to have their course charted well before you.
Do you want to feel fulfilled or do you want to be happy? My money is on the former; for me this fulfillment comes from continually improving.
Focus on the process. The process of learning, of working, of talking, of exercising, of being... everything you do, do it just 2% better than last time. Try and be more of yourself and less of the someone you've thought (or were told) you should be.
1. Don't go back to school; it's not a career advantage for most people anymore. You can learn more in practice than in study.
2. Find or create an active jobI mean physically active. Something hands-on.
3. Get enough sleep, enough exercise, and enough sun/Vitamin D (in order of importance); these plus a renewed focus on incremental improvements go hand-in-hand.
4. Don't be afraid to work less. Our culture is toxic with the obsession of "what do you do" and "how much do you make" questions upon meeting someone. The most fulfilled people I know start with "what do you enjoy most" or "what's your story?" Working less makes your answer to those questions more interesting.
5. Exercise gratitude. By this, I mean find something every day you are grateful forthis forces you to think creatively and to observe the small things. It's simple, but this has larger implications for seeing the 'big picture' and seizing opportunities you may otherwise miss.
1) figure out what the big story is, not the piddly immediate stuff; watch Michael Wood histories, read Carl Sagan, read Bill Bryson's "A Short History of Nearly Everything". Get interested in hobbies that will link you with NATURE and the universe at large. Examples might be SURFING, HIKING, ASTRONOMY, GEOLOGY, FIELD_BIOLOGY. These are important because it snaps you out of the anthropocentrism that the myth of culture forces on us. You MUST snap out of the delusional narrative society forces upon you in order to _really_ make sense of your life. This means that you must read enough and collect enough data to weave your own narrative to replace the off-the-shelf one most people use. There are no easy versions of this. You must do it yourself for it to work, and so that you can attain true mental and spiritual freedom. I am not suggesting that you should become some out of touch hippy, but instead gain a broader perspective. You can still go into business. Your widened perspective will actually aid you instead of making things more difficult for you. Steve Jobs for instance, went to India in the late 1970s seeking audience with a famed Guru. It's a good strategy. Better than being a drone.
2) Move!! Firstly, plan your move; consider your options carefully. While you are researching, save up your money. There are a few places left in the U.S. (I refuse to say which. It should be pretty obvious once you look) and in the world where people are not totally congested in against one-another, where people do not abuse consumerism and become flatulated and obese, where soulless corporatism does not rule the minds and hearts of the local residents. I won't tell you where they are, because frankly, I don't want anyone to move there and ruin the tiny enclaves of peacefulness that are left. Besides, you have to find them for yourself for it to work. Some people are mountain people; some people are ocean people. You decide which one is for you.
Once you have all that covered I would take a step back and get some vacation. You seem to already have an idea what you want to do, so that is good. Maybe try to specify it a bit more and lay out the steps to get there.
One of these steps could be going back to school. If you are not sure whether you want to take a step, I would go like this:
1. List alternatives
2. Order by likelihood of success
3. Take first you think you can do and still stay sane. You have to know yourself whether or not you are a person that can take on debt and likes to go to school.
Sounds like you need to set some goals. In school you had them - they were to get to here. Now its time to take stock and set some new ones. Then you'll know where you're going and you won't be lost.
For what its worth, here is my mission statement:
At home, my wife, kids, friends and family will know they are loved and will see it through my actions. At work, I will dazzle and always provide something useful. For myself, I will invest the timeand energy to keep myself present, content, and healthy.
So I start with the 1 hour a day idea. Goto work, come home, eat dinner with the family. Then I get 1 hour to do whatever I want. No interruptions.
Then, well, it is Friday, perhaps I can take my 1 hour and goto bed an hour later, now I have 2 hours.
Saturday and Sunday, maybe I can do 4 hours.
Oh, back to Monday - Thursday, 1 hour.
This makes me feel that:1. maintaining my 8-5. Bills paid. Wife is happy.2. I have time each and every day for my goals/ideas. Some more than others.3. I am making forward progress.4. I don't think about my 8-5 holding me back, because it isn't anymore.
What do I do during my time:1. code2. EDM3. read about things that interest me.
When I was struggling years ago with an 8-5 that I hated but needed to keep. I bought a good pair of headphones and I used them everyday. I felt that it kept me motivated (I could pump though them any type of music I wanted, mood dependent) and it kept me a bit isolated from co-workers and I could just focus on work. Sometimes distractions cause you to be stressed because it increases the time it takes and therefor you feel behind in your day instead of on pace.
One last thought. Can you get some exercise? For me, if I can I just feel better.
Keep your chin up!
"I'd like to be something -- more than just an office person. More than just someone who works that 8-5 shift."
Why do you want to be "more" than that? For what purpose? The approval of others? Because somehow, you'd be a different person or "feel" different than you do now? Because somehow cube dwellers are lesser... and by what standard... public opinion?
I think this is part of the core of the issue you face and you need to come to terms with your motivations when saying such things.
Most people that are "something" more than average aren't actually trying to be accomplished, they're dedicated to a problem, a profession, or an avocation. Solving the problem, perfecting the skill are the goals and produce the satisfaction and are the source of self-esteem... the acclaim is merely a side effect and honestly not important.
Finding a good central purpose is key here. Something that you want to achieve without regard if anyone else cares: this is not necessarily a career pursuit either, and you can have more than one central purpose. The key though is that you have to care about... not anyone else. For some this is family, for some this is closing business deals, for others it's programming.
Seeking acclaim is not a good goal: I've had friends kill themselves for failing to achieve that when they made the approval of others the source of their self-esteem. When you make approval your goal you effectively refuse to judge what is worthwhile for yourself and outsource that to others; you stop thinking and wait for the thinking of others. You loose your independence and in the end, you become willing to compromise anything to keep the approval coming... regardless if that's good for you or not.
(Edited for clarity)
Do this for a few years, make sure to keep up to date within your field, keep connections within your field, don't become a hermit but also don't succumb to the urge to blindly follow the herd chasing degrees and money.
After a few years your outlook on what to do next will be a lot more developed. Maybe you'll decide to start out for yourself in your field? Maybe you'll move abroad? Maybe you'll become a full-time homesteader? A builder? You will be free to choose, not burdened with that loan (that is, not any more than you're already burdened with it). Plus, you'll have the satisfaction of knowing to be self-reliant, able to bake your own bread, brew your own beer, repair your own house. When things go bump in the night you won't crawl under the bed with a phone to call 911 and wait for the police which might - or might not - show up. You'll go outside to see what made that noise.
If you don't have any money to get that plot or small farm I'd find myself a job which pays enough to be able to buy it in a few years of hard work and frugal living.
The major takeaway is to become self-reliant, less dependent on what other people think of you. Be social when you want to, not when the situation dictates you should be. Be 'real'. Don't act. Use your head, speak your mind, cut the crap. It's your life, you get to decide how to live it.
My favorite quote from a Dennis Leary standup and I think his best recorded routine.
Happiness comes in small doses folks. It's a cigarette butt, or a chocolate chip cookie or a five second orgasm. You come, you smoke the butt you eat the cookie you go to sleep wake up and go back to fucking work the next morning, THAT'S IT! End of fucking list!
I guess he's saying it's the little things.
Also relevant is the fact that up until recently (call it 8 months ago), I would have mood swings and go through periods of depression as well.
Then I started exercising regularly. And I cannot be clear or emphatic enough in this but as someone who uses drugs for mood alteration; who is intelligent; who has a good career and is well respected; and who ultimately had no other legitimate reason to feel depressive emotions, since getting into a regular exercise routine, I've never felt more stable, positive and motivated in my life.
Our bodies are designed to move. For me, it's plainly clear that the sedentary lifestyle is what was at the root of my emotional issues.
I'm not saying you need to be a body builder or run a marathon. I do 15 minute runs and moderate weights and meditation. I swear, it is night and day.
As a secondary suggestion which has also been extremely helpful and beneficial, I'd recommend reading up on psychology, biases, and neuroplasticity. The most impacting book I've ever read is "The Brain That Changes Itself" by Norman Doidge. This book will give you a scientific/real basis of understanding how your brain works; how your habits form and are re-enforced, and how you can take control of these processes to literally shape your own reality into whatever you want. Super powerful stuff. I've bought probably 15 copies of this book for friends and relatives. Highly, highly recommended.
First, you should find a counselor, any counselor, and open up to her/him. Direct, immediate feedback from a professional "personal problem helper" will help you. You can stop reading here and act.
Now, on to my non-professional ideas that you should probably skip but my ego prevents me from omitting:
It sounds like you need goals like school gave you. Let's think about it. In school, you had short-term goals (assignments, next exam), mid-term goals (grades during a semester), and long-term goals (graduation, GPA). Our tech work is terrible at these things except at very small companies where there's too many obvious things to do, and very large companies where the career ladder is so defined that you just need to show up and follow simple instructions. In the middle lies the domain of the lost and the over-motivated. Choose your path.
If you choose to go back to school, you'll have these goals again, but you'll probably have the same problem and feelings again once you're done. Plus, you'll have more debt and thus more pressure to be "successful", which is probably counter-productive to your feelings.
Don't listen to people on the internet, including me. Nothing we say is true for you. Try to take a general consensus and make your own decisions with that input. There's wisdom in every comment above and below, but it's shaded by bias, experience, and fallacies that are not your own.
Please, seek help. Don't waste any more time trying to deal with this by yourself in your own head until you've been given a proven pattern for doing so by a professional. Visit them with an open mind and few expectations and be more frank and honest than you ever have before. You'll move whether you want to or not. It's up to you to choose the direction.
Be well, do good.
This made me take a look at the job market and now I feel like I have a lot of doors open to me where I would otherwise be too scared/comfortable to leave.
The dread and anger, the feeling of being stuck, they all turned into excitement.
So I don't really have advice except maybe: save as much money as you can for a little bit, see if that money starts looking like something: a trip, an early retirement, school, a side project.
Beyond that go get screened for depression. See about counseling. I just recently (~two weeks) got on citalopram because I'm trying to make this go around of school a bit more productive. I don't know if it's helping yet but that just goes to show how ludicrously mild we've gotten antidepressants now.
Then I decided "what the fuck, screw medicine", and decided to do something radically different. So now I own an escape room business, and every day I hit the ground running and eager. It's struggling a bit, and might not survive. But at the moment I'm living my life for myself, so I'm willing to take the bad with the good.
From the first chapter, The Function of Education:
> I WONDER IF we have ever asked ourselves what education means. Why do we go to school, why do we learn various subjects, why do we pass examinations and compete with each other for better grades? What does this so-called education mean, and what is it all about? This is really a very important question, not only for the students, but also for the parents, for the teachers, and for everyone who loves this earth. Why do we go through the struggle to be educated? Is it merely in order to pass some examinations and get a job? Or is it the function of education to prepare us while we are young to understand the whole process of life? Having a job and earning one's livelihood is necessary - but is that all? Are we being educated only for that? Surely, life is not merely a job, an occupation; life is something extraordinarily wide and profound, it is a great mystery, a vast realm in which we function as human beings. If we merely prepare ourselves to earn a livelihood, we shall miss the whole point of life; and to understand life is much more important than merely to prepare for examinations and become very proficient in mathematics, physics, or what you will.
* Almost everyone feels like this at some time. Don't worry that you're alone.
* Focus on small things. Get a little thing done every day, mark it off, celebrate that victory in a way that makes sense for you. Keep a list of the stuff you've done. It's very helpful to look back and say, "I applied for these two jobs, and I read this book, and I went on a hike with my mate."
* It's okay to not have it figured out. It's also okay to shift goals. Lots of people say, "I want to travel the world," and find out it's lonely or disconcerting when you don't speak the language; or, "I want to sail across the Atlantic," until they see their first small squall off the coast. It's okay to have a goal, try something and decide, "you know what, that's not for me."
* Don't feel like a failure if you don't fit someone else's mold. For example, if your parents wanted you to have a certain degree, or you listen to the HN echo-chamber of "startups or GTFO, LOSER!" Don't let someone else tell you who to be. It's hard enough to figure it out, it's worse when you listen to them and figure out it wasn't right at all.
* Get plenty of sleep, get plenty of exercise, eat well.
* Keep talking to others. It will help you figure it out. Listen to what you're saying more than you listen to what they're saying to you. You, LITERALLY, will be telling them what you should do to improve your situation. Once you figure it out, you'll be able to work on the first steps.
If you aren't open to believing in God at this point in your life, I could suggest that you focus on investing in those around you. That's an easy way to take the pressure off yourself for having to live in a meaningful life. "A generous person will prosper; whoever refreshes others will be refreshed." Proverbs 11:25
Though I am younger but this is not age dependent.
This is an indication that something is missing. Some kind of 'emptyness'.
You will take a while to reach that conclusion. On reaching that conclusion of 'emptyness', I started something. I didnt know whether I was fixing it, breaking it or something entirely tangential. But when I was well into what I had started, I knew what do to. Perhaps something in disguise from this (http://zenpencils.com/comic/157-amy-poehler-great-people-do-...).
Best of luck, friend.
For the next 10 years, I have remained quite depressed. I have done many cool things . The core of the problem is understanding that, as opposed to nice stories we study, we've understood that those startups don't "change humanity", and 99.9% of us, despite excellent curriculum, will never have the leverage to do what Elon Musk is doing.
As The Doc says: "I'll focus on the other great mystery of Humanity: Women". Don't take it literally, but he means that getting a significant other, becoming meaningful to the people around you, while keeping your health, developing your wealth and casting your ethic and your culture: That's what life is about. The job is only a part of that.
So go find the best job you can, and exercise a little every day to become the best at it. Meanwhile find friends. Develop a network, across the globe, but also in your country, and in your city, through all layers of population. One day visit your local detention center with the family of an inmate, another day set up the Internet for an elderly person. Offer big presents and organize things for your nieces. You'll be a cog like you would have been if you focused only on work, but you'll be a leader in your community.
 I stayed 8 months in my first country, came back for a job at home where I stayed 2.75 years, left for backpacking in Australia, 6 months, +2.5 years in an awesome job over there. Came back and created my product, became self employed. People now look up at me and ask me for advice. But it's not a secret that I'be been depressed all along the way.
I fully subscribe to the idea that you have to consume things that make you think to create anything, and the only way you're going to be able to do anything interesting to fuel your own fire is to create. It can be a self-improvement, an actual thing, a societal group, or write a book- but you have to consume enough to know what you even could do.
When you are in school you are given a reward structure to work within, and there is a definite end goal.
Now you are in an open ended situation with no set goal. The transition between the two can be jarring.
I think it might be time to just experiment and try a few things that interest you. Write an ebook, travel, code up an app, whatever appeals to you.
Sometimes we just need to wander a bit before finding our way. Every hero's quest has a period of wandering aimlessly in the wilderness before finding a worthy goal.
Don't just look for something to do, look for the right people to do it with. Choose those people carefully. Especially leave behind people that aren't right for you.
Later, after you've lived a satisfying life and look back, you'll see that all the pieces of that life were there in this very moment. You just can't see them now, but they will come together.
Trust in that, and don't worry too much.
[edit: more advice...]
Yes, what you are feeling is common. Some specific advice:
- Don't dwell on it. Let these feelings be annoying and motivation to do something else, but don't let them control you or steer you toward self-destructive behavior or bad decisions (ie lots of debt, drugs/alcohol/etc).
- Do try to move up and out of the funk by working toward a career that you enjoy at least some of the time (there is no perfect job).
- Look for things that you _enjoy_, are _good at_, and _could envision making money doing_. If you already have ideas, pursue them. Even if it's writing a book or doing a training video, blog etc. on the side for now, try. You'll fail at some of it, but some will stick and you'll be started earning an income at something you enjoy.
- If you don't have any ideas, try a bunch of small things and see what sticks. Volunteer at a hospital or food bank or Habitat build. Take a community or online class in web design, art, language, etc. Talk to people in detail about their careers and read about them.
- Make a list of things you try and ideas and rate them by how much you like them. Once you have a list, rate them by how likely it would be to earn an income. That should narrow to a few things you both _could become good at_ and _can earn an income_ doing. Be realistic, but optimistic about both "good at" and "earn an income".
While most of that is about a career, and that is the gist of your question, it's not all about career:
- Find a cheap hobby (hiking, fishing, sketching, etc) and dedicate some time to it.
- Help other people. Volunteer, tutor, or just randomly do charity.
- Find group(s) of people to belong to. A church, civic club, hobby club, etc.
Once you have your potential career, hobby, and volunteering ideas listed, put next steps for them on a calendar a week or a month at a time. Then stick to the calendar. You will have a full life, be helping others, and be working toward something you enjoy.
Going to school could help to get credentials if youre switching fields. But you can also get credentials by doing something.
I apologiee for sounding self-helpy and generic. Just my 2c.
Just pointing those out because they are what I neglect occasionally when feeling down and end up feeling ever more miserable.
Folllowing our intrinsic motivations is usually very pleasurable. Perhaps there is some hobby you enjoyed that you've not done in a while?
"This" is what life is - and no one owns your life except you. Dreaming of having a ferrari is a stupid dream. Rich peoples lives are potentially just as hollow as median income ones. The only thing I'm aware to bring people joy constantly is being able to follow ones intrinsic motivations. You don't need to be 'something' to be happy - just you, and being able to be you. If you feel there is nothing pleasurable in life you may have a depressive period. Usually these pass - without medication. Note: it's quite common to have a slight depressin after achieving a major life goal. After getting my MSc I felt empty and dissatified - and am quite content now.
For me, the lack of autonomy and freedom and everything that comes along with having a normal job feels repressive. I was an artist and musician, and I gave up, because "there's no money in it." Now I make money, but I'm sad.
I came to my wit's end. This week, I started writing on Medium. I write one story a day. I get up at 6AM, pound out a thousand words, and publish. I also started going to the gym.
I can tell you that this has made a world of difference. I feel like I have a little bit of control over something. My job isn't the only important thing about me. I'm a writer now. I will never tell anyone, "I'm a software developer." I will say, "I am a writer."
I've also started having more, and better ideas. I think that writing and having ideas can open up the whole world to us. Time will tell.
Eventually, I'd like to become self-sufficient and fire my employer.
I think if you begin to do something that stimulates you every day, you will feel less stuck. It needs to be something that you do for yourself, and only for yourself. Maybe you can take your lunch-break every day for a few weeks, and write a bunch of business ideas down. Or maybe you can compile a reading list of books that you are interested in, and read one a week.
I think if you try it, opportunities will present themselves.
Of course, advice is worth what you pay for it, but this is what works for me.
Unfortunately in America, working on your own is problematic due to disastrous health insurance system, and low wages for labor, and small business being unable to compete with multinational giants. This pushes people to seek comfort of corporations unless they're able to raise funds to start a business.
Trust your ancestry. People were either farmers or artisans until very recently. I think working in a corporate setting is swimming upstream for all but a certain type of personality.
So.. I guess start identifying yourself strongly with something. What that something is not very relevant, cast a dice and see what sticks.
Watching this course has helped me a great deal: "Personality and its transformations", by Jordan B. Peterson at University of Toronto.https://www.youtube.com/playlist?list=PL22J3VaeABQAhrMCQUa6s...
Here's a TEDx talk by the same professor that can serve as a glimpse of the course: https://www.youtube.com/watch?v=tLteWutitFM
Not all of it is as scientifically rigorous as we are probably used to, but It's plenty of valuable insights very hard to find anywhere else. I can't begin to express my gratitude to that man.
I hope you find it as useful as it was to me, and I wish you well.
Do not go back to college!
Don't! Do not do that. Go work at Burger King. Go into the woods and forage for nuts and berries. Do not go back to college!
Most of my life I felt like I was doing all the right things, but really I was following a script that society had laid out. Do well in school, get a good job, be successful, etc. Follow your dream! Achieve your goals! The problem was that these things I've achieved wouldn't have been my goals outside of societal influence. Rather, they're appealing because of the money, respect, and security that's afforded by my having achieved them. Left to my own devices, I'd probably be a surfing or snowboarding bum with an interest in math and music.
Now, society gives us a recipe for money, stability and respect. But that's not a recipe for happiness, nor was it ever intended to be. And that's not necessarily a bad thing...money, stability and respect are certainly not at odds with being happy. However, many of us spend much of our young lives trying to achieve financial and business goals without spending a minute of time thinking about achieving happiness. You're brand new to this!
I didn't abandon my existing career or anything like that, but I did start to question the societal script from square one; I accepted parts of it and abandoned others. And I got involved in some meetup groups and made more friends. Plenty of people feel exactly like you do. What if you all got together and talked about that, or did something about it? It works.
Last weekend I was in a short film made by a friend I met recently. Making a movie was never a goal of mine, but was my friend's dream. Helping make that happen was incredible and fun.
But don't go looking for movie-making friends, unless that really interests you. Look for friends. You'll probably get out as much or more than you put in.
When I was 28, I had a specific dream (starting a business) but was afraid of the risk. In your case, its not clear to me if you have a dream but don't know how to get there, or if you wish you had a big dream, but aren't sure what it would be. My advice applies more to the former than the latter.
My advice would be:
1. If you are really dissatisfied with your job, look for a way to shake things up. I left my good job to go to business school, then quit after a few months when I realized I'd learn more by trying to start a business. Business school wasn't the answer, but I wouldn't have quit the job directly, so it facilitated things. Its hard to know in advance what will work, but if you are stuck, try something new.
2. Keep your eyes open for opportunities. The business I started was related to experience and contacts from my previous employer.
3. As soon as possible is the best time to take risks and make changes. It won't be any easier to take risks as you add in more responsibilities (house, kids, etc).
4. Do your best at whatever you are doing, but don't worry too much if your plans don't work out exactly as you thought. I thought I wanted to be an industry titan. That was not in the cards. However, once I had kids, it turned out what I wanted was a really flexible schedule. In retrospect, if I was an industry titan, I suspect I would be looking for the exit (actually, given my skill set, I probably would have been shown the exit).
I obviously don't know you, or much about you. But in my case, shaking things up to pursue my dream really worked out well, FWIW.
I will inspire you to build stuff.
Life is short, dark and unfair. The fact that you can recognize this means you're conscious.
> I'd like to be something -- more than just an office person. More than just someone who works that 8-5 shift.
Do you want to be in the history books? Do you want a family? God willing, you have a long life ahead of you. But opportunity cost is real when your life is limited. You have to make decisions, and many of the most rewarding choices in your life won't be fun.
School may or may not help you, but until you've defined your goals you can't break them down into the pieces needed to achieve them.
It's quite easy for us (I'm 29 too) to get too caught up into the idea of happiness we see on the news or all the public stories we know.
Many people you admire were what could be considered a failure at 29, but that's not newsworthy, we always love the young ones, that they've figured out everything by the time they're 23 or less (12?). That's not true for most people, and doesn't mean you won't find happiness in the near of far future.
That's what helps me to get some perspective. Also know that regardless of how successful you are your life impacts way more people than what you think.
It's tough, and it's something you'd have to experience I think many times in your life.
And I think it is all about the environment you find yourself in. Taking a not so full-filling job is nothing to worry about if you're surrounded by people who make your life worthwhile and/or help you to do something else in the long run. Being an isolated, merely self-sustaining cog in the wheel is what's terrifying.
Also, I have to say I find your language a bit odd. Even though I agree with your sentiment that working in an office is not a great prospect, your "more than just.."-bit sounds a bit unhealthy. I mean if office jobs aren't for you that's okay and if you happen to like them that's also okay. But why so judgmental?
> I feel like I should go back to school but do I really want to rack up all that loan?
Always remember that you can learn for free. There is Khan Academy, MIT OpenCourseWare, edX, Saylor University and, formerly, Coursera (they charge for some classes now). I truly believe you will learn more from MOOCs than you will from classroom instruction.
1. You are intelligent. (you finished your degree, considered several options, you are not making a brash decision, and you are seeking advice. All very positive and responsible things to do.)
2. You are looking for fulfillment in your education/work. (Find an occupation that supports you, your loved ones, and then find fulfillment outside of the 8-5.)
3. Your entire post is generally self seeking. (Find fulfillment in spending time with others, get in shape/fit, find someone that could use your help and enjoy their friendship, volunteer your time/expertise to a worthy cause, pick up a hobby that you always wanted to do. But the most important thing is to find others to enjoy your free time with.)
Edit/Comment: I agree with others, drugs/alcohol should be completely avoided.
But that's something you can hear and not believe, so motivational get-livin-or-get-dyin sentiments will only get you so far. Setting a few long-term goals and then a bunch of short-term goals is what you'll want to do so that this down time isn't completely wasted. But thinking about these takes concerted effort, just like any other endeavor.
You say you've just finished your degree. Have you found a job yet? Don't think of getting a job as the end-all fulfillment of your life. At the very least, it can be a stepping stone to other unforseen opportunities, i.e. Woody Allen's aphorism about 60 to 90 percent of life being about just showing up.
So is education. You get some, then you get some more. So is work, you get a job, then you get promoted. You know exactly where you are going. You know exactly how much money you need to live comfortably. Maybe you will find a SO, get some babies like your mom keep asking you to do. Maybe that's the way to go. Well, you get to see them for a couple hours before and after work everyday. Maybe go hippie? Go all kumbaya. Maybe find Jesus? It's a peaceful, harmonic society. Another day in paradise!
Realize you are not the only one suffering existential crisis. I have no business giving you advice. All I can say is, I'm in your shoes. All I can think of is to seize control of my own life. Truly understand something thoroughly that you are good at and passionate about. Not for your employer, not for trying to gain attention or respect. Just for you. Take whatever opportunities you've got to travel, to meet other cultures. There are so many possibilities, and you will power to choose your own path if you just be extremely good at something. Know at what point money loses its value. Be good and go forward.
That might be a symptom of depression (but does not have to be). I would recommend the thing I did. Talk to a therapist. Psychotherapy helped me see things from different perspectives, showed me new possibilities I did not see myself. I am still in the process, but I feel so much better and liberated in a way.
What makes the pursuit worthwhile is in whether it can pull you into doing something more, externally speaking. You could aim for wisdom, leadership, sense of community, or any number of other things, and end up building up to something bigger than you imagined. But you have to make an active effort to get the ball rolling or the gears turning, to learn the technical details, to connect with others, to make commitments, arrangements, obligations happen even when you know they'll stress you out. That's the fundamental difference between "watching life slide by" (much of my teens and 20's) and feeling like you are living in the moment.
I really feel like shit. And lost.
I'm thinking of starting a company and just trying to make a living doing something I like. But past experiences suggest that other people won't like the things I like enough for me to make a living off of it. Or I just won't have the time and money to do what needs to be done. Kinda hard to concentrate and plan on anything that takes longer than a month when you're not sure whether you'll be able to pay the rent next month...
Did I tell I feel like shit? And lost?
Unfortunately, I've no advice to give you at this point. Good luck.
My usual approach for friends and family, who are in a situation like that, is to talk to them and trying to push them towards different possible directions. While doing this I get a feeling what they feel comfortable with and are interested in. Often people need those kind of pushes themselves. Our intuition works great, when we walk in a directions and tells us if that is something we're actually interested in. Once we have all opportunities at once, it often is just too much for it and our intuition doesn't give any feedback if we're actually interested in achieving that goal or not.
If you re interested I can take some time to talk with you on skype. I think 1 or 2 hours could be quite interesting for both of us. I would also appreciate the challenge, as I usually do this with people I know for quite a bit already. :)
Unhappy with work, no relationships seemed to be budding, didn't feel I was making an impact of any sort -- I considered becoming a Tibetan Monk (I was mapping plane flights).
I found my solution by doing the following:
1) Figure out what I wanted to look back at in the end of my life. What should I have accomplished?
2) Paid very close attention to anything that made me happy. Do more of that.
3) Find a support network, whether family, friends, or strangers with similar problems and ideals.
4) Set specific short-term and long-term goals, ones that you will enjoy.
1) Involved a new career. I announced to my job I was going to be leaving, though took my time in actually exiting while I found what I wanted to do.
2) I found I got tremendous amount of happiness from being out doors and interacting with people. Hiking/camping/yoga helped me a lot.
3) I started paying attention to anyone I knew I could count on.
4) For me, this was finding a business venture that would impact the world (been dreaming about this since I was 5) -- I've been working (and enjoying) 80-100 weeks because it's what I'm passionate about.
Also... general rule "Production is the basis of morale" -- but production has to be something that you feel is production. Working for your company may not be production. Working on your sci-fi book may be.
If that sounds inherently depressing, that's because it is. Scalar money commerce is an old hack and a complete wreck that has not kept up with the times, and you just got a degree in optimizing your endeavors to it.
As grim as that might sound in one sense, in another, you're also one of our only hopes for getting past scalar money commerce to a better system.
Another way to think of your degree is as a way to isolate the people inside a company from both the real and the psychological ravages of scalar money commerce, or what I think any entrepreneur would agree is "the roller coaster."
This is an extremely noble pursuit if that is your primary goal, as opposed to focusing on the maximization of that scalar net revenue number. And in fact, I'd argue that if you make this your goal, the key to treating your depression will be to find the right group of people worth protecting.
Everything a computer does boils down to a binary signal. Is the current on, or is it off? Everything else is an abstraction built on that on/off business.
Life, as I see it, similarly boils down to two things: finding love, and finding knowledge. Everything else is an abstraction built on these two things.
We seek to become what we seek to become because those that become what we seek to become are rewarded with love and knowledge. That thing we call purpose in life, and becoming someone, and making something of yourself, it's just love in various degenerate forms.
When we change the world, when we make a difference, when we make something of ourselves, we are simply chasing love. We end up loving ourselves, and being loved by others, and being loved by our gods.
The reason we become doubtful about life, I feel, is because we aren't sure whether what we are doing is going to receive this reward of love. That's why someone writing code for Adsense might feel like her job would me more fulfilling were she writing code for cardiac pacesetters instead.
But the love we experience in life doesn't have to be tied to what we do in life. We can love ourselves for the sake of loving ourselves, and without needing reasons for doing so. We can hopefully find people who are going to love us, and who we are going to love back, on similar terms. We may not be able to change society's prerequisites for loving us, but we can certainly change those prerequisites for ourselves and those close to us.
If we manage to do that, we won't need to become this or that in order to feel loved. Then we can do the things that we do because they interest us, or because they afford us a chance to work with people who interest us, or because they allow us to be with people we love the way we love ourselves. If that happens, it won't matter what you do in life, or the lengths of your shifts. Coz you could be working an 8 to 5 shift, but playing in a local band with an amazing bunch of friends, to people who love to hear your play. You could found a start up and do well, and then cash out and quit to go raise a family. You could be a social worker by day and an open source contributor by night.
It's becoming neglected at this point, but the archives are solid: http://thelastpsychiatrist.com
Helps one cultivate a little perspective and introspection.
Maybe read Yates' Revolutionary Road. TL;DR is that having a self image and/or dreams that don't match your actual ambition, commitment, and situation is fucking poisonous. Read the novel though, if you've got time.
Think about how you can be happy. Like, what happiness even is or would be for you. Consider consulting: Marcus Aurelius, Seneca, Epicurus and other Epicureans, Ecclesiastes. Try Eastern sources if you like, but be aware it's much harder to sort the wheat from the crystal-healing-easy-zen chaff than it is with Western works. Don't expect too much with anything short of a sustained, intense, difficult struggle over years or decadesin other words, lower your the expectations of what you'll get out part-time work on material aimed at monks who immersed themselves in this stuff all the time. It can be really good even just dipping your toes in it, but don't expect magic or quick solutionsor solutions at all, for that matter.
You get to know much more about yourself. If you are lost about who you are in the circumstances you describe, why not change the circumstances completely.
Disclaimer + shameless plug: if you are worried about money for that kind of traveling, try www.worldpackers.com (where you can exchange work for accommodation). I work there and I personally know about tons of positive feedback about how traveling for longer times changed their lives for better.Obviously, my advice for traveling persists even if not traveling as a worldpacker. :)Also, I am a personal reference for this kind of power, having spending 6 months working and living at a NGO for homeless families in Uruguay, them the same, but for 1,5 months at a NGO for children in Senegal.
My email is in my profile if you want to be put in touch to more people whose life changed for better by traveling.
It took me awhile, but you need to figure out what you want of life. For me at least, I decided I wanted to help make the world a better place and be in control of my own life. To create something and not rely on a 9-5 job for a paycheck. I'm still figuring shit out myself, but I think I learn more by trying and failing than I would ever learn in school.
Check out James Altucher. I read this a few years ago when I was in a similar state of mind and this article really struck a chord with me.
I'm on year 3 :)
Maybe it's hard to hear this right away after your major, but a job is just one part if your life. As someone already wrote, also concentrate on your private life, your body and social connections.
And, forget that you will be something super special or will feel super special. You don't have to be Steve Jobs, probably won't be and nobody says that Steve Jobs was a happy person.
Do what you feel is right for you at the moment, have a couple of good friends, work out, and maybe look for a job which helps you for your "birds eye view".
Have a look at Freuds "ber-Ich"  and maybe start to listen more at your emotions than on money and job. Nobody says that both couldn't go hand in hand, but after leaving a well paid job, starting at a very poor paid one but with good friends, it's totally worth it.
Find a cause you care about and then find a community service organization that will help you contribute. Serve food at a soup kitchen. Hack together civic apps to improve how government serves citizens. If you're inclined (don't need to be religious / dogmatic) churches can be great communities to help spur you to think outside yourself, challenge you to be better and inspire you to find your mission in the world.
Finding that community, that goal outside yourself can be extremely fulfilling and helps to focus efforts and do good in the world.
I think there is one solution that works very well.
Do something that benefits others - focus on how you can help others - maybe go onto one of the Stack Overflow boards and answer some questions. Join an online community, say in the start up scene, and give advice to others based on your degree for example.
Remember - this too will pass - the sense of ennui is temporary. Don't equate what you feel with who you are. This is a temporary feeling - just keep going, even if you can't see the point. Eventually this feeling will pass and you will have a huge sense of achievement that you passed through this.
I agree with others, recreational drugs are a definite no-no (alcohol very much so) you need to keep your mind strong not weaken it.
Speak to your doctor/psychiatrist if this changes from ennui to depression - it's always good to have support.
My best wishes for you, you can pass through this, just be patient with life and yourself.
I'd move. felt the same in my home country with 19 and left to Asia for 10 years then back to Europe, then moved around here "locally".
After reading this I'd love to go back to Asia. I miss the food and vibrant tech community and regional short trips to local crazy/weird/exciting/fun places. The people I remember the most. If you can you should go! (anywhere, just go!)
I'm 27 years old, and I've been living in Thailand for the last year with my wife. I'm doing some contract work for 20 hours per week, sometimes only 10 hours. I spend the rest of my time working on my own projects, either by myself or with a small team. I love building my own projects, like games and apps. Eventually I hope to build something that generates enough income to live and travel without contract work, so that's what I've been working towards.
I had a big improvement in my happiness recently, when I joined a local improv group. I decided that I wanted to do some more acting and making films. So I've made lots of friends, and a group of us are working on a short film, which has been really fun. I felt like I was a bit isolated before this, since my wife and I didn't know anyone here, and I was usually working by myself at home. You might also be able to find some more happiness if you find some local meetup groups to join, maybe get into a new hobby or activity.
My wife is teaching English in Chiang Mai. We came here so that she could do a TEFL course, and then they found her a job. A lot of people just do this for a year or two, as a way to explore a new part of the world. My wife doesn't want to do it for much longer, and she's starting to study something new.
I started my "career" as an intern at a non-profit organization, and it kind of ruined me for any jobs after that. I felt like I was working on projects that actually made a difference and changed people's lives. Not business software, emojis, or mobile games, but websites that would help people and businesses donate goods to charities and hospitals around the world. Then I spent some time at a startup in San Francisco, and I honestly felt like I was wasting my time, even though they ended up being kind of successful.
You don't have to be an office worker. You don't even have to work 40 hours per week. You don't have to own a nice house and a car. You don't have to get married. You don't have to have any kids.
I'm not saying you need to become a full-time volunteer, or teach English in Thailand, or start your own small business. Take some time and think about all your options. On the other hand, sometimes it's really hard to get unstuck unless you make a big change and just do something different for a while. Maybe you just need to do something crazy.
"Do things that'll get you beaten up, killed, or thrown in jail. And if you are lucky, you'd end up with a lot of money and sex, and a clear idea of what you want"
After weeks/months/years of intense concentration and efforts aimed at achieving a certain goal you're done and that goal is no longer there. This creates a void in your mind and leaves you wondering "now what?". Happens to me after every major project go live, sometimes even after a particularly challenging development sprint.
For me personally the way to "cope" with this is to switch contexts completely for a couple of days up to a couple of weeks (logistics permitting obv)- go camping, fishing, skiing, buy a plane ticket to Europe etc etc.
This is not a universal recipe of course but is something that has worked for me and other ppl I know.
Bottom line, you need money. How you earn the money is up to you...How much money you need to 'feel' comfortable is up to you.
If you can get a Masters degree (for free through employer or very cheap), do it. Bachelors degrees are like high school diplomas, everybody has 'em these days, and in 10-15yrs you'll want the Masters.
Buy a lottery ticket!
This is one suggestion what you could do, plus you'll put your money to work for you, not just you for it.
Some other's mentioned the "War of Art" to read. I would like to add "So good they can't ignore you" by Cal Newport to read as a starting point for some guidance.
1) Eat chocolate2) Sports. Do something outside, even if it is walking3) Find a girlfriend or dating4) Watch a movie 5) Do something exciting every month6) Take weekend breaks, go somewhere7) Sleep 7-8 hours8) Listen music during work9) Imagine yourself in 5 years, make that plan.
When I was in your shoes, I started to ask myself that question. I decided that the source of my happiness wasn't going to come from the outside world and that led to an ongoing curiosity about where it would come from. More here: https://www.psychologytoday.com/blog/out-the-darkness/201503...
Time to pick a new destination. Probably something a little more long-term, like becoming a C-suite executive or starting a family. It took you 4-5 (or more) years to get to your first destination. Plan something that takes twice that amount of time.
If you literally just finished (as in 1-2 months ago), might be worth it to take a vacation if you can afford it.
You don't even have to settle on a new destination right now, just stay active physically and mentally. 29 is too young to autopilot your life.
Happiness is in the journey, not the company/product/money/measurable.
Happiness is shared with other people, and rarely an individual achievement.
But... Unhappiness can also be chemical reactions in the brain. There's nothing wrong with seeking help if you're having any kind of emotional issues. Quite the contrary, it's very admirable to seek out help. And admirable to get on medication if that's what's needed. If the unhappiness is bad enough, don't tackle it alone.
- Starting something new is hard, but it can get better after a while. Be patient and maybe you'll discover a better side of your job, meet exciting people etc.
- Maybe you're not doing what you really like. Try to find what you're really passionate about and do it.
- Maybe you need a deeper meaning to your life. For me it was meditation. I needed that deeper breath in my life and it gives me a lot of joy and hope. For others it might be traveling the world, family, volunteering... Your disappointment might be asking for such a change.
Working out helps a lot though. So does going outside, especially in natural environments.
If you're not sure, the answer is probably 'no'.
eventually you'll find a new thing to do OR you'll be so excited to come back to your own thing with a ton of wisdom.
step toward your life with open arms and love it. it will love you back.
final piece of advice: this is scary, but the fear lets you know you're still in the game!*
I'll be short with my advice:1) Be open to change2) Take a risk and try something different than what you're presently doing
If you can, change before others make you change.
Other times I have reached a big goal and not been making new goals to complete next.
In either case, for me the solution involves getting quiet and writing out how I feel. YMMV, i am fairly introverted and work things out internally.
Good courage, much love. <3
- Spend some time familiarizing yourself with your historical context, the political and economic systems you operate within, and ethics generally
- Do a broad survey of every single project you can find within your interest areas. If you're into non-profits, check out the http://foundationcenter.org/ library/database. If you're into startups, spend hours on Crunchbase / Angelist researching startups. Ask around. Google a lot. Make lists!
- Consider thinking through a cause prioritization framework. I have some mostly related to the Effective Altruism community collected here: https://www.are.na/morgan-sutherland/cause-prioritization. Bret Victor put together an amazing article re: climate change: http://worrydream.com/ClimateChange/. You can probably find other meta-level analyses. When you start to narrow in, you search for various industry reports, check out bls.gov, etc. and start getting used to looking for gaps and opportunities at that kind of meta-level. Note: this information is hard to find and being familiar with it is one of the main strategic advantages that good leaders have!
- Spend a good long time, multiple engagements of an hour or so, writing down what you think your unique strengths and skills are? Ask yourself: what do I do when I'm procrastinating? What do I find myself doing a lot but that feels very easy to me? Also ask people you know: "what am I good at?"
- Don't underestimate serendipity. Reconnect with people from your past. Go to meetups and networking events (but don't waste your time scan the list before and introduce yourself to the people that matter i.e. the organizers). Explore online communities. Ask your friends if they know people that they think you should know and get the intro.
Ultimately: take a structured approach to solving this problem. Eventually you'll uncover and opportunity that you can't turn down. But don't forget the research you've done because soon enough you'll be back at square one! Welcome to the future!
How do you define happiness and meaning? Pick a path and realize the path may change, that's OK.
On this subject, Marshall Goldsmith is masterful > https://www.youtube.com/watch?v=P7EJfWRv0VA
Life isn't about work.....work is what you do so you can afford what you want.
Read Tao Te Ching and if you really understand what Tao is - you will know the answer to your question.
With love I wish you good luck!
Acting for others welfare will buoy you up. And I wouldn't be surprised if it led to more fulfilling work opportunities.
decided to go to a code school.
It changed my life.
Would do again.
My 2 cents:
1. You are not your work. You are not what you do.
2. Do what you like/love and make sure to do it with other people.
3. Don't do things to be successful in the eyes of others.
Welcome to reality, now it's time to learn to enjoy your life and please try not to leave a trail of destruction and waste in the process.
(1) pay debt. Pay rent. eat. exercise. this is self-care stuff. It's foundational to well-being. Fail at it, and you're going to be getting into serious problems.
(2) While you're managing self-care, focus on the vector you're going. Where do you want it to go? Not where do your parents want, your elders want, your friends what. What do you, the individual want? Write it down. Consider the regularly for, say, 4-6 months. I.e., enough time to cycle through personal emotional states. Ask yourself if what you want conflicts with your self. It's not always going to be coherent. Then start setting your hand to that in your free time.
If what you genuinely want is to conform, or to not, to be family-oriented, or not: that's generally okay.
Some things to consider doing and learning, while you quest for finding yourself occurs:
- Religion is traditionally the touchstone for meaning and making sense for humanity. While atheism is a rising tide, it doesn't cohere at all with humanity's history. You should engage with religious beliefs. I am a Christian and would advise to look here first ( ;-) ); there's also, in my opinion, a lot of wisdom in Judiaism and Zen Buddism. As a subpoint, a pastor/priest/rabbi is, theoretically, a specialist in answering "what is the point of it all".
- In the West, philosophy started as a non-theistic set of questions about what constituted good, the good life, etc. You might find Socrates to be an excellent read. IMO most of Western philosophy has been spent responding to Socrates in some form - he started the conversation.
- Spend time outside; not exercising, but existing in the natural world. National forests etc. This is the substrate where civilization has been embedded. It matters, deeply.
- Start a few food plants in pots and tend to them; eat the produce. Learn about them. The cycles of nature underpin our bodies and our minds.
- Take up an art - music, painting, sculpture, etc. Spend time learning about traditional art and its history. Art is one of the few timeless things in history. Lives are poured out here; it's well to understand it.
- Spend time with your parents and extended, if possible. Most people derive at least some meaning from family. If you have siblings on speaking terms, now is a good time to strengthen your relationship.
- If you have a SO, I'd advise holding off on a kid. Get your head straightened out a bit before giving the kid your problems. :-S
- School is best considered as a means to an end. Loans are murder on choices, since they force you to choose high-paying jobs and limit your ability to do risk.
Based on my observations some people are happy on this path and some people are not, for a myriad of reasons. You are on step 3 and now thinking "wait a minute, is this what I really want?". (Consider yourself lucky to have this question now and not on step 5 or 6 which is a disaster). With out knowing who you really are, what you believe and what you want to do with your life you will be unmotivated, disinterested and ambivalent in your actions. It also leaves you open to falling in with a bad crowd, doing drugs, drinking or mindless sex, etc. as a substitute for a fulfilling life.
Nobody can answer the question of what will make you happy and unfortunately the schools do virtually nothing to help young adults actually achieve adulthood, which I define as being epistemologically independent, i.e you must set aside social and family pressures and think for your self and decide what YOU want to do. Thinking is a solitary act. You stand apart from society and process information, decide what is true and false or right and wrong. When you are done you can share your results with others (to share what you have learned or to get help if you get stuck) but you can't share the process, it is strictly yours. In today's world, finding solitude and being alone is become harder to achieve. Society actually is suspicious of loners but, at root, a thinker is a loner. Many people (the most unhappy as I can tell) are actually afraid being alone. Here is a good article on the subject https://theamericanscholar.org/solitude-and-leadership/#.VUc... but I would argue that being a good follower requires solitude too. We can't all be leaders but a follower must still think to wisely choose who to follow.
With that long preface here is my advice;
1) Read that article I referenced above and reevaluate how "connected' you are with social media, forums, email, smart phones, etc. Maybe its time to take a break and be alone for a bit. Take a short vacation, a cabin in the woods or at the lake and completely unplug and be alone with your thoughts without interruption for a few days. Become comfortable with your self. Alone.
2) Read Ayn Rand's books "The Virtue of Selfishness" and "Philosophy Who Needs it" and ignore the social pressure to dismiss her out of hand without actually reading what she said. Think for yourself and decide if her ideas are true or false. Ignore everything she wrote on politics, its a distraction to your current problem.
3) Start writing a daily journal. You can't understand your self if your thoughts, feelings, emotions, motivations are all floating around in your head without clear identification and analysis. If you do only one thing on my list do this.
I live in a country where, when I wanted to buy electronics parts online (because they weren't available here), they were stuck in customs and I was asked to provide documents from college to attest I was an Electronics Engineering student, and to get that document, I had to brawl because the college administration lost my document and I had to persist to get them to find it. I mean, even finding someone to make a quality PCB, I had to look very hard because there seems to be one shop that does it (in a city of 5 million people). Buying online required a MasterCard and getting one alone was challenging (challenging enough I started a blog and wrote an article to inform people how to get one. More than 200,000 visitors and 700 comments in two years). So it may seem like whining for a lot of people, but there are so many things people take for granted you have to fight for and waste a lot of time to find here.
My friend is a dental surgeon with quite a lot of success. Yesterday, he was telling me how prosthetics and other things that cost like +2000 Euros in Europe cost about 200 Euros here. Naturally, I asked him why aren't there foreigners who come here if the deal is that good. He said unless they teleport, go to the dentist, and teleport back again to their country, the deal isn't that good. There's no "Healthcare tourism logistics". Hotels are crappy and expensive, non-crappy hotels are expensive, visas take forever, and the logistics that would make it a bargain are just not there yet. It'd cost the same.
One of the main problems is the country has negative economic complexity. We don't make things and it makes for systemic problems.. There's no electronics industry, too much bureaucracy. I was to be hired by a big oilfield services company that'd offer training and a stamp of approval on my rsum for subsequent jobs, but they had problems and downsized and I wasn't hired. Social proof is powerful: you weren't hired before, so we won't hire you.
You'd read on job offerings, it's either companies that require 5+ years experience, or companies accepting junior/entry level/recent graduate and once you check the requirements, the stack is huge (Mastery of C, C++, JAVA, .NET, Python, Web development, Oracle, Cisco certified) for an entry level job of a recent graduate. Without training provided.
I started programming since I was 9 years old, disassembled software at 14 to unlock their potential, but have done it intermittently in a variety of languages (from BASIC to x86 assembly to Python) and touched a lot of things, but haven't stuck to just one single thing I can be an expert in. So naturally, I get interested in Python and try to do a project in it, I hit a roadblock in that project, I do a second project in Python and maybe let it go. I'm also interested in other things. By the time there's something up, my skills have diminished and I'm not "operational right now". I know a bit about a lot and would know where to start to learn something specific, but it just doesn't fly with companies today.
From an employer's perspective, I'm just a 29 year old with no experience. Time flies and it gets harder both financially and morally. Companies other than multinationals offer salaries that don't even cover transportation. I think about projects and ideas and started working on a few which didn't work out. I won't lie to you: after all those problems and the zero accomplishment I have to show for at 29, it takes me mustering every ounce of mental strength not to break down and face reality every single day. It's hard to resist letting yourself go into accepting you're a loser when you check every criteria and every single one of them just saps your self esteem.
It could always be worse, though. So hang in there. I read, think, and learn about a lot of things. I help my friends, I try to spend some time with the family. I try to improve in any way I can (whether time management or cognitive skills, and recently on problem solving for I have a problem :) ).
So you've played the game of life and at the end when we all believed education lead to success we realise we have been bamboozled. The "feeling lost" is because of this, you felt somewhere on a subconscious level that if you achieved this thing then it would secure you potentially financially or more so directionally as in it would lead you to the next step.What is evident is that it hasn't and the reason why or part of the reason is that we have not taken the time to truly get in touch with our true self the self that wanted to be a artist but through social pressures or the need to conform like a pre commenter put we have ignored that sentiwnt skill shouting within saying our true desires until it became a whisper and then a faint cry.This was reinforced by the fact that in school we know in X months time we will receive a result dictating our progression to the next level or path this gets repeated a fair number of times if you add up each exam each year up until college (your equivalent to university) so we develop a carrot and stick approach believing that the next thing will be better / progression and thus drawing is closer to this ever elusive victory. It's a lie the wizard is just a man being a curtain.In deadling with the going back to school premise you mentioned I wouldn't if the reason was based on fear I.e scared of not wanting to be a jobless person and so we go to what we have known all our life that being education.If after months of mulling you honestly thought that this would allow you to feel fulfilled and was your calling then by all means go back to school.
Being more than a 9-5----------------------Being more than a 9-5 that emotion your feeling is your inner self the one you quieted earlier in your life (for those that jumped to here please read prior to this it's mentioned above ) that knows what you want and has always known.You are more but you've played a game which teaches you to compete,quiet this type of self reflection and expressiveness ,not be creative and not to go against the system which churns out people that are meant to think a certain way.Your emotions are powerful they are actually indicators to whether your flowing with life or against it ,the true nature of humans is joy when I code or solve a problem or workout or write an observation I feel joy I don't feel resistance.The resistance your feeling is your inner senses telling you that something is not right we are not flowing.
So what are you trying to tell me?That I can dodge bullets?-----------------------------Lol excuse the title I know when I get on a prose like this it can come across stoic and impractical so I just took the matrix quote as neo was feeling the same thing when answering Morpheus.
What I would do or better yet what I have done ...the first year of uni I felt the same thing lost and I was just staring at my impending doom.So what I did is this:-Be grateful you finished a huge degree and maybe through your humility (which I respect)you didn't mention the joy or thankfulness of completing that .When your constantly grateful you rarely feel jealously or hate as your just grateful with being/existing.
-Don't give this a heavy weighting.This is just a situation no different than breaking a nail because it involves your life you may feel overwhelmed and therefore make rash decisions so treat this as anything else a momentary situation that has a solution that will come to you as the observation of something missing is the first step to finding it.
-Get honest with yourself what are you about do you like business or did you just do it as the prospectus of a reputable company sounded good? it sounds like your a very social person who wears their heart on their sleeve so maybe there's a talent you can leverage.Whatever it is find it.
-Take some time out anytime you feel lost its just a sign that we may be off track from our inner compass so maybe 2 weeks away if not possible then maybe a weekend away with just yourself.The reason I stress just you is because you need to get in tune with yourself which is achievable in quiet space so that you can hear that inner murmur of what you want to do turn into a roar.Note this isn't running away from the problem the problem exists within you,your going away to break the habitual ways of your life which have potentially got you into this chasing the elusive carrot activity.
-Remove the ego now there's people who are lawyers my because it was their God given talent but because it "paid well" this is ridiculous understand the need for pecuniary stability but for me to do something that's not aligned with what I believe to be my calling is not only fake but ridden with stress and unfulfillment and you can see that with 1 in 5 multi million dollar CEOs being depressed.So kick the ego if your inner self says you should be a dog walker then be a dog walker walk dogs with grace and poise and I guarantee you won't feel judgement or even care for what people say as you will be fulfilled you have a business degree so maybe you can make a business out ofIt why not .Taking a pause from social media may help you during this phase as social media flashes information that not only can trigger you to keep up with the Jones' but also harbours a competitive mindset which will have you doing things you don't want to do just to appear a certain way to your peers.
-meditate for 15 minutes twice a day the reason for this is that you need to still that mind I can imagine right now it's busy telling you all sorts of lies like people think I'm a failure in lost ,I wasted my life all these are lies and it's just the self which has always had a carrot at the end of the year waking up to find that there's no carrot coming this time as education is over.In stilling the mind your able to gain connection back to the inner self which is the true self.
-exercise more or start this is just the ying and yang ,night and day to meditation tiny Robbins says fear which you may feel is a physically thing so get the body fit as well as the mind.
Finally I would urge you to consider this most time we feel lost or stressed or self defeating its because we have attached our self to a thing ... Take this, you eat a banana but you would never say you are a banana as that is ridiculous,but look at this you meet people and the first thing they say is I'm insert your job here and Pause for admiration.You are not your current situation the fact that you feel lost only once finishing your degree is potentially down to the fact that during your degree you was a student you associated with being a business student and it gave you a blanket and some direction till all you was ,was a student .Now your not a student you have lost that and hence feel lost but the truth was you wasn't a student that was just what you were doing it wasn't the entire being that is you.
I am not saying be nothing and go the Himalayas and meditate for 15 years.Have goals it's fine my goal is to grow spiritually physically andMentally in all ways possible I'm no fool we live in the weatern world so some goals cater to the ways of this society but above all I have spiritual goals to ensure whatever I attain I feel fulfilled and counter intuitively can live without as just being gives me joy.Start tuning into your self and as you pay attention to your self through )taking care of the self through the methods above )then the self will communicate more clearly with you and I know for sure the path will be clear.
find a mate, start a family, or join a family.
when you are busy, engaged with beautiful/intersting things or good people, you don't feel stuck.
You're asking if there is anything else to life, but likely you haven't actually experienced a day of real life. I think you need to figure out what life has to offer, and jumping right back into another institution is not the way to do it. Discover the world, whether by travel or by engaging in your local community. Meet new people, try new things, and above all, do not conform. It will not take long for you to discover that life happening all around you, but you've been sheltered from it. Once you discover real life you will realize how worthless your Business Administration degree truly is and laugh about how silly you were for thinking it was so important in the first place.
When you feel deeply happy, what are you doing? What things matter to you so much that they drive you do work more than anything else?
I dropped out of the EECS program at Berkeley because I felt like you did doing those studies, but found so much joy and meaning working with children, in my student job as an child care center teacher's assistant, as a summer camp counselor for inner city Oakland kids, as a nanny for one year for a newborn and her one year-old brother. I was determined to go into early childhood education, to make education better.
I went abroad, got sidetracked, got married, came back to the states in the middle of the first Dot Com boom, gut sucked into a coding gig, rose rapidly, made lots of money, but found myself feeling oh so empty again. I finally quit it all. I've been working on some non-profit projects, which feel meaningful to me, but still something missing. So I started volunteering to work with kids. It's been great. Now I'm looking to work with some of New York's 50,000 homeless kids. I'll do it for minimum wage if that is all I get. But I will be happy. Hopefully I make a bunch of kids happy along the way.
We are prisoners of expectations imposed on us.
On Omid Kordestani's twitter, I read the following: In the first 5 minutes of your life they give you a name and a religion, and you spend the rest of your life trying to defend both.
Think about the implicit expectations imposed on you by the labels you are associated with (your "family", your "friends", your degree, etc.). And tell yourself that it's okay if you don't meet those expectations, and instead achieve something else.
Plus: don't drink, have lots of hobbies.
Take some time and just figure out what it is that makes you feel content, what's close to your ideal self. When you picture yourself in your mind's eye, what do you like about you? What don't you like, and wish were better?
Everyone has little things they wish they could change, but just make sure you're making the changes for you, not to impress others. Be happy for yourself first more than anything.
If the prospect of 8-5 doesn't appeal to you, figure out what would. A lot of us don't really know what we want to do aside from real general vague thoughts. That's the status quo, I think - driven people who have a specific goal and focus are pretty uncommon, and many are directed by their peers.
Give it time - you're only 29, it's not like you're one foot in the grave. I'm 30 and I've been winging it since I was 18 and went to college. By chance I found out I understood technology really well, and without having taken a single technology course, I've learn tons about all levels of infrastructure just by showing employers I could learn. This took me across the US, from a meager support role to a managerial role at a University, and then from there to China and to Russia with my partner. I still don't know what I want to do, but I do enjoy where I am and who I'm with. I'm happy with my health (mostly), happy with what my partner and I get to do for fun (ballet, opera, music, dancing, biking), and I'm learning every day. None of this would have happened if many years ago, I hadn't taken a good look at my life and realized I liked nothing about it. I was out of shape, in a miserable relationship that was leading to marriage, and was about to take office work because I thought I had to - I took a long time to focus just on getting myself to a nice spot, finding what I wanted, and then moving outward towards bigger pictures.
I'm not saying pack up and move to Russia; but what I am saying is figure out what it is you want for yourself. Be a little selfish. (Note: this doesn't mean stop caring about others, it just means that you take some time to really focus on yourself, getting yourself to a state where you are happy) The world is a pretty wonderful place with a lot of cool people, and it's always changing. Find something that works for you, cause I'm sure it's out there.
 = though, please make sure your happiness isn't straight up hurting others...
Where do you live? Depending on the city, it's relatively easy to get involved in your local government by trying to fix "unsexy", but persistent problems. It'll get you out into things you normally wouldn't do, it'll get you involved with your city, you'll feel good about what you're doing, and it's something you can even put on your resume if you're into that.
"Why has that light been out for two months?" sounds boring at first, but if you pursue it to a certain depth, you'll start to notice some very interesting depth. FOIA/FOIL is a great tool for this.
Do you have a trash relationship because you've asked him for money too many times?
That they won't do this suggests that there is a lot of mistrust going on, or possibly optics with the investors around turnover -- not sure which is worse.
By taking the role, you will be viewed as having taken sides with the people recruiting you, but if anyone else on the team thinks it was done unfairly, you'll be dealing with the morale consequences, which you may paradoxically also be blamed for.
Look at it this way, the people recruiting you are one or more of the following:
- Afraid to have a grown up conversation with the manager they want to replace.
- Afraid that if they are upfront with the problem manager he/she will leave and it will take them a long time to find a replacement, during which time things may deteriorate. If you think this is the case, be sure to increase your salary/equity requirements substantially.
- Trying to sneakily get the upper hand on the problem manager by recruiting you behind his/her back. Anyone on the team you'd inherit who respected the former manager will likely assume you are part of the problem.
Also, sometimes when a manager is viewed negatively it's because someone on the team has the ear of higher-ups and is badmouthing the manager. So while it's possible that you would be getting a role that was inhabited by someone who couldn't quite pull it off, it's also possible that you're stepping into a situation with a lot of politics and a mutinous atmosphere. Perhaps ask if they are considering anyone on the problem manager's team for the role. If they are that might be a tell.
I'd approach it with caution, especially if considering leaving a role that you enjoy. At the very least, there are enough warning signs that you should only accept if you are ready to re-enter the job market if the culture is truly broken.
Whether it's a scheduled or unscheduled interview, people generally want to speak honestly with you - they just might not feel like they have permission to do so, or feel that airing the company's dirty laundry would be inappropriate. In my experience, it can be hard to get people to initially admit things aren't perfect, but once they've done so, the floodgates open.
I tend to ask things like "so, how would you rate working here on a scale of one to ten?" Unless they're absolutely delighted with their workplace, most people respond with an eight or a nine, which doesn't mean anything - you'll get an eight or nine if the company's pretty great, and you'll get an eight or nine if the company's a total dumpster fire. But then you can say "A nine? Why not a ten? What would make your experience here a ten?" This doesn't always work, but at this point the interviewee figures they've already admitted the company isn't 100% ideal and I've usually gotten an unvarnished opinion.
1. Why are they looking externally for a candidate instead of an internal candidate that is more familiar and has a track record with the company than a brand new leader?
2. What were the specific expectations of the incumbent leader and how long have they been in the position? Someone needs to explain what happened and realize that this very same dynamic could happen to you. If nobody communicates with a person that they think their communication is bad, it's a passive-aggressive culture that won't lead to good outcomes more often than not, especially long term.
3. What's the turnover rate for the team? Don't believe whatever they tell you, but make a note. Then try to assess its veracity based upon Linkedin stalking of both currently employed and past employees.
4. What's the highest level of management that is in agreement of replacing this person? If something came from really high up, I'd ask if there was a specific incident. I've seen people let go because they made exactly one hot-headed executive very angry for flippant reasons and while everyone in management that actually knew these people were fine, their hands were tied. That kind of leadership style is micromanagement oftentimes and the toxicity and blame games will eventually make their way down the longer the leader stays.
1) Ask why the other person is leaving for real. They should be vulnerable and tell you the truth. Sometimes they'll hide behind something like "thats confidential" which you can't really argue with, but I'd dig into it. If they get nervous walk away.
2) Ask them what systems or processes they want to improve or change and why. What isn't working? etc.
3) How will you be evaluated in your role. Sometimes there are unclear expectations from managers or any other "leadership" style role at a company. This isn't OK because it might just take one person to change their mind about how you're doing for you to be "not good enough". Again; dig into it.
4) How is the company doing from a financial perspective. Whats the burn? Whats the revenue? What's the LTV/CAC? If they can't answer or won't, I'd consider that a red flag.
5) How is the product roadmap set. How far out are they thinking? Make sure it lines up with your vision of how to organize groups the right way.
If you're looking for cross-team health, maybe you could adapt it to "Tell me about someone on the other team that you admire?"
Talk to a lot of people in the company. Can't overstate this enough. People you work with/work under should NOT BE ASSHOLES. Assholes are a pain to deal with everyday and will take a toll on your emotional health.
I talked with my interviewer, who happens to be my manager, and asked him what he feels about Docker (not that Docker is the most bleeding edge tech). He said he didn't like it and would never implement it in <my-company> because some other dude in his previous firm introduced it there and he doesn't like that dude. Ouch! I should've taken the hint. Look for people who debate with you based on knowledge/data and not with emotions.
If your interviewer/founder bathes you in startup buzzword crap, RUN! If they say, we're "open", "transparent", "humble", "impact", "growth hacking" etc 5+ times in the conversation, he's just faking it to make it sound hipster. I learned this the hard way.
Boy, I ranted. I should really get a job change. \_()_/
I wouldn't read too much into the fact that you'd be replacing a manager who is already working there. One of the "perks" of being a manager is that you have a big target on your back when it comes to overall organizational goals and morale. Scott McNealy used to joke "one step up, one step closer to the door." because directors and executives don't fire individual contributors, they fire managers when things aren't working out. And there are a ton of reasons that things might not work out, not the least of which is that the manager's manager can't effectively communicate "through" them. It can be a leadership style, it can be mutual respect, it can be different baggage that each of them are carrying from previous experiences.
What is important for you to understand in the interview is the sort of communication issues that got this person into trouble, you need to know that so you can evaluate how likely it is that you're communication style would be compatible. Some senior managers will say "get it done" and some will be very prescriptive about how (aka micromanaging) and some will be open to feedback and others will consider feedback insubordination.
Understand what they expect (both things they expect someone to do, and things they are expected NOT to do in that role) and how they evaluate what they see. Then ask yourself if you feel like you can live in that system or not.
The answers can be telling. If they give an answer like, like, "I wish we would adopt $random_programming_language." That, to me, indicates a fairly healthy organization, because this is just one guy's technical preference.
If they give an answer like, "We need need to stop thrashing", that gives a different picture.
If they say, "Nothing at all", you need to run, because they can't think critically about themselves.
If they use pronouns like "them" and "they" instead of "us" and "we", then the interviewer doesn't feel like part of the team.
"Healthy" can mean different things to different people. Some employees care primarily about work/life balance, and being able to sneak out early on Fridays to hit the slopes. (I'm looking at you, entire state of Colorado.) Others want a high-pressure, high-reward environment, where their colleagues live up to the same high standards they expect of themselves. (cough Amazon cough)
So rather than trying to find a place which is healthy, find somewhere which is healthy for you; with a culture which reflects your values, benefits which support your lifestyle and leaders who help you grow.
No company is a perfect employer and no person a perfect employee, but that doesn't mean there doesn't exist perfect relationships.
Is the office full after 5 - 6 PM? Is everyone looking at the floor when the boss walk in? Is everyone's nails bitten to a bloody mess? Are there any female employees? Are the desk too clean and absent of personal items?
That's a pretty big red flag with respect to organizational behavior. It seems incredibly unprofessional.
For example, did they not evaluate the manager before putting them into a position where they failed? How do they know it was a communication problem? Remember, this question is not asking the details of what happened (those don't really matter). This question is asking what the organization did and how does the organization improve itself over time.
The last thing I'll say is that it's very difficult to establish the 'health' of a team during a brief interview. 'Health' is often variable in that what I find healthy and effective you may not. Most teams aren't filled with psychopaths. Also, if you have the right tools and a willing team you (that's a plural you) can change and build a team that is healthy and productive.
The reason being is its an abstract issue that is hard to define or fix.
Have them clearly define the "communication" issue that led to the person getting fired.
If you expect to inherit fully functional teams I think you're probably not going to enjoy the gig. If, however, you're excited about the chance to get a group of developers firing on all cylinders again then perhaps this is the right job for you.
If you want to ask a question, I'd ask what challenge they have experienced to date linking these teams together to get them working well. What specific things do they expect you to try and fix and improve, etc. I'd also ask how, as leaders at the company, they stay aware of how things are going, touchpoints, etc.
Key symptom for a lot of issues at a company tends to be a lack of transparency (at least this has been my experience). Asking questions that get to employee engagement, involvement, and feedback processes can be good signals of transparency or potential issues.
Are you being given stock. Ask for a cap table and learn to read it.
Tell them your wiling to sign an NDA, and that you want to look at the repository. Tell them that you may need to ask follow up "who is who" questions to pin checkins. Code never lies. Embattled areas of code, and comments are great targets for your search.
Ask about recent outages and technical issues. Are they having problems keeping things up and running. Ask about how they were identified and how long to resolve.
Do they have documents for requirements? Wireframes, PRD's. Ask to see these as well.
If they raise any objection to any of this, just ask for a reason. It might set off an alarm for you. It might be reasonable.
Since you have some history with the other team leads, make a personal phone call. Start the call off that way (that its a personal call) and that you want to know the truth/history here because you have concerns. If there is something funny going on in the background one of them might just give you an honest answer.
If you're uncomfortable challenging them, frame it as you trying to be the best candidate you can be. "If I take this position, I want to make sure I have a full understanding from day one of what I need to do to contribute the most to the team. What could I be doing to help you?"
This is a question they really ought to be able to answer; not in terms of why the current person sucks, but in terms of where the team is breaking down currently. A good answer to this question means they've thought about the problems and the personnel change is part of some kind of strategy to solve them, which is a good sign.
If they won't answer that, odds are their internal culture isn't very communicative in general, which is bad. And if they can't answer that, it means they don't know where the breakdowns are and are just blaming someone reflexively, which is even worse.
Are developers being issued several ones, and of above average quality?
Do people need to stack object oriented design books to place their monitors at a comfortable level?
Are they using old, low resolution, low refresh rate, 15" TFT monitors?
Is there disparity between monitor quality among employees?
1) Reach out to people who used to work there. You have to discount the negativity somewhat, but if the response is positive then that's a good sign.
2) Rather than ask "Are there communications problems" you should ask "What are the biggest communication challenges?" Also ask, "What are the 2-3 most important managerial areas for me to fix on day one, and the 2-3 most important areas for me to leave alone"
3) Go to Glassdoor. Again you have to discount the negativity, but that will give you good areas to probe and it's fair to ask, "I see this on Glassdoor, what do you say?"
Good luck tomorrow!
Don't look for "health" indications, try to establish if the leaders established a culture you can live with (and how this current situation might be a result of that culture). I can't think of specific questions, but for me it is about how people interact, especially across the hierarchy:
- How are disputes solved?
- Are people allowed to disagree (especially with higher ups)?
- Are people allowed to make mistakes? Were people fired because of mistakes? Is there a (perceived) "goofy" on the team (can't do anything right according to the team, yet did never really fuck up, thus is still there, but always blamed)
- Is the team allowed to relax and pick up debris, hang loose, enjoy some time together, or is it in constant "sprint mode"?
- Are the managers able to get the team to rally behind the same goals?
- Does everyone solve his own problems, or are people actually collaborating on e.g. features/bugs/ideas?
- Are there leads or managers on the team known to cause issues, yet not removed?
- Is there special treatment for random people?
- Is stuff openly discussed or everything on a need-to-know-basis?
- Does everyone in the company have (at leas read) access to all the code?
This is stuff you most certainly cannot change once it was established, especially if people stick around and even more so if the founders, managers, leads will still be there.If it does not fit your attitude, you will be in constant battle against what happens in the company and why.
You don't want to have to be exposed as a liar once the candidate starts, after all.
For leadership jobs, it might be a bit different.
- Observe and engage with the employees. Asks them tough questions, you specifically want to gauge how passionate are they about the work they are doing not about working for the company per se.- Go beyond the shallow layer (perks, brand, office...) and see whether is a company where people get up in the morning looking forward to get great stuff done or a company where people can't stop looking at the clock.
I have been in companies where everything seems to be great surface level: tons of perks, WFH, free food... But then nobody seems to be excited about the work itself.
I would also ask how they're currently handling three teams on three continents - if you as a manager are supposed to deal with all three teams and at least one of them is "needy", I wouldn't be surprised if the communications issue is that the current manager is speaking in tongues because he hasn't had more than an hour's worth of sleep a night for the past year...
As a lead, are you not confident that you can bring a circle of health with you? Influence and change the environment as you see necessary?
"Communication" is a two-way process.
As they say: Communicate, it can't make things worse.
IMO, Its a negotiation. Ask for autonomy so you can shape the culture the way you want it to be.
How many of them red? If tests are red - it's bad. For how long they are red?
If there is a need to "fix approximately hundred tests", it's a bad sign.
I found that amount of tests, tests execution time, test coverage is very important and it answers almost all the questions.
How often did you need to sacrifice test coverage to deliver the software? There is always a need to release, there is always deadline. It depends how company react. For example, during Rails 5 release they don't care, just push deadline. It's a good sign, because folks understand that code quality == developer happiness.
As these IP groups warm up, you may see some deferrals if you are a Free or Essentials customer. However don't worry, this warm up period won't last long. Maybe a few days at most, or until major email receivers have enough data to determine the legitimacy of email being sent from these new IPs.
Keep in mind SendGrid will continue to attempt to deliver these throttled emails on your behalf for up to 72 hours (it rarely takes the full 72 hours to deliver an email throttled in this way).
If you wish to avoid disruptions like this in the future, considering upgrading your account to a Pro or higher plan (https://app.sendgrid.com/settings/billing), which includes a dedicated IP address as opposed to sending from a shared IP group. Dedicated IP addresses are great because instead of many different users sending from the same IP or group of IPs, you are in complete control of your sending reputation.
Customer feedback is extremely important us here at SendGrid, and we have made these changes as a result of that feedback. We know in the long run, this will immensely help your sending.
This will go away, just hang in there with us! If you have additional questions, please feel free to contact us by going to support.sendgrid.com.
We switched over to sendgrid after being pissed of with Mandrill due to their sudden change but switching to sendgrid was a bad decision in hindsight. Mandrill was rock solid and we never had issues. Sendgrid continues to have deliverability issues every once in a while and not to mention the blacklisting of their shared IPs (which I understand is a common problem with all providers but never happened with Mandrill for our business).
We have switched back to Mandrill (yes, got a paying mailchimp account just to use mandrill).
Not only sendgrid's UI is confusing, they don't even show the actual email content in their dashboard.
Support was very helpful and migrated our traffic to already warmed up IPs.
They have a whitelisting feature, in case you are using your own domain you need to go through whitelisting steps. You need to configure your domain appropriately. It goes on and on. Then there are multiple ways to go about all of those things.
If you don't do it correctly then sometimes it doesn't work or a high amount of email ends up in spam. By default they enable features which some countries tightly control like tracking which all needs to be tinkered with to get right.
Then once it's all working perfectly I have seen it take up to 10 minutes for an email to be actually sent. I went with Sendgrid because they billed themselves as easy to use. You might be better off using a SMTP server of your own. You've got to configure it anyway.
SG is incompetent with regards to email delivery. This should not come as a surprise to anyone that uses their service.
It took a month for them to confirm what we told them: users will still receive previously-queued emails even after they unsubscribe (!!!), meaning it's no surprise that they will flag future messages they receive as spam. A month or so later, SG acknowledged the bug but stated they had no intention of fixing that behavior at this time!
Their _core_ selling point is email delivery with low rejection and you don't need to build it yourself. They totally failed there as users are rightly marking their messages as spam _and_ we are therefore required to write, run, and maintain our own mail queuing service to check outgoing emails against _their own unsubscribe list_ before forwarding the email to SG to deliver for us. At this point, we use them only for the metrics, which is just not worth supporting such a sleazy operation.
Talked to chat support and they moved us to a new IP group and emails started being Delivered, however this lasted only 10 minutes.
After that all of our emails started being Deferred again. Contacted chat support again and they moved us again to a new IP group.
Let's see how much it lasts this time.
Chat support said having all of our emails Deferred for days with none being Delivered is normal and expected. We send transactional emails so having our customers wait days for the emails is not feasible for us.
We had recently switched from Mandrill, we'll have to start searching for a new provider.
All emails are listed under 'Activity' as being deferred.
Waiting for AWS to approve my SES access so I can switch away.
Now we're using Postmark; much better service and no issues with deliverability.
Then I switched to AWS. Nobody got fired for using AWS S3.
Wish they would have communicated this in advance, or even update their status page.
SendGrid under cover agent here...
Don't believe the conspiracy theorists out there, that this wasn't a push to the PRO plan for free tier usage account holders.
The free tier customers don't actually earn any money for send-grid, so I wouldn't be surprised if this little stunt increased subscriptions for the pro plan!
Remember, this wasn't an outage for anyone other than free tier account holders and that's why it wasn't on the outage page!
SendGrid does want your business, as long as you don't spend too long on the free-tier plan and ultimately upgrade!
Keep on Trucking...
Secret Agent... out!
-----END PGP PUBLIC KEY BLOCK-----
* You are using some very rare technology, so rare that there are literally no engineers that know it well. If that is the case, and the technology has been chosen for good reasons, there's no easy solution: you'll have to train people and it will take years.
* You are in a place with very few engineers, like some small village on the mountains or some Pacific island. If that's the case, just go remote! You'll find thousands of highly qualified people!
* The company pays very very little, so little that only unqualified people will show up. If that's the case, have the company pay much more, and to be sure that they will, ask a huge rise first: that will prove that they really understand that qualified people costs money. If they are not willing to pay more, leave them alone and go work elsewhere.
In my experience, most of the successful teams are those in which team tries to grow together. So the first engineer should focus on how to get the best out of second engineer. If there are skill gaps, second engineer should be offered some courses. If there is lack of team cohesion, try some team building exercises.
Remember, life is not perfect, we have to play with the cards we are dealt with. We should try to put our egos aside, be positive and get things done.
I think there are ways to achieve both goals to some extent. But technical people tend to be focused only on one of the goals (either quick results or a stable platform), and this is encoded pretty deep in their personality. It's then easy to dismiss the people on the other side.
Perhaps the startup's management believes that it's good to have both kinds of people onboard, and that they've found a balance?
Purism Librem 15": https://puri.sm/librem-15/; higher res display is coming: https://puri.sm/posts/4k-at-last-purism-librem-15-rev2-4k/.
* CRTC http://crtc.gc.ca/eng/* Competition Bureau http://www.competitionbureau.gc.ca/
Where complaints can be made re: competitive pricing and misleading advertisements.
See also: http://www.ipvancouverblog.com/canadiancompetitionlaw-abuseo...
Openmedia is an advocacy group that is very active and has a handful of modest successes under its belt. See https://en.wikipedia.org/wiki/OpenMedia.ca
Another good resource for keeping informed is through the site of law professor Michael Geist. I should note that his focus is a little more on copyright law. http://www.michaelgeist.ca
As for cell phones, it comes down to competition. I know that Saskatchewan as saskatel and the offerings from Rogers, Bell Telus used to be half of what you would pay on other provinces (haven't checked this lately).
I pay $79.99 CAD/month for 250Mb/20Mb with no data cap (I have pushed this to extremes, there is no hidden cap) from Rogers. I'm pretty happy with it.
Telecom has always been a cabal in Canada, predating the Internet. Good luck trying to change it.
Some people mentioned OpenMedia, who happen to be based in Vancouver where I am, so I'm planning on giving them a shout soon.
As for the CRTC, I spent a bit of time looking them up and I have to admit it didn't make me feel particularly confident in their ability to make anything happen. That said, I'm happy to be proven wrong.
Again, thank you all, I'm hopeful something can be done.
Every time the price goes up, I send their CFO a bill for the yearly difference of my charges. After the second notice, when the CFO has defaulted and is now personally liable for a lien, I get a polite letter from someone else in the company saying that my bill has been "credited for mistaken charges."
When my bandwidth goes down, I bill them back for the adjusted bandwidth. same song and dance, and the bandwidth shoots up again after an "upgrade on your node was completed".
In short, I've had a 100Mbit connection with Shaw for 4 years now, with (almost) no outages for $70/month.
Im a Swedish Sofware engineer and I have been working in Beijing for the last ~4 years.As others have pointed out, China is huge, and I have no experience from working in Hongkong or Shanghai where the vibe is more international, or so they say.
So what to expect?Smooth sailing, as long as you can deliver. There is a lot of companies that value English speakers in general, so dont be surprised if you get pampered.
There is no xenophobia to speak of, just cute curiosity. Its easy to find work if you have the skills (coughwe are hiring: email@example.com).Visas are a hassle, and rules change regularly. But if you are working here for a serious company and have the proper age/education/pazazz its usually just a bunch of paper work.
Culturally, its all up to where you are. But for the big cities its a very modern, interesting living.
I would never recommend going for the big 3(Tencent, Alibaba, Baidu) unless you love going to a place with 15k employees. There is a lot of options.
Its a very hungry tech scene in general, for everything from classic websites to apps.Almost nothing works here made by Google and Facebook, and boy its easy to take that for granted, so alternatives needs to be build and localized versions of everything is spawned.
For me personally I choose to work in China rather than to seek higher education back in Sweden and I have been in on a startup that now have more users that Scandinavia combined. Some crazy things I feel would never have been possible outside of China.We are still considered a small startup in China.
I could elaborate on this, but I think my best tip is just: Go, its easy to fly home.
First, you should specify if you are in a tier 1 city (BJ, SH, SZ, ...) or a lesser tier city. For the former, you will be treated pretty "equally" in your daily life. Americans don't get any special treatment, good or bad, anyways.
I found my job before going to China. I don't know how you could luck into one, but it shouldn't be impossible. It depends on your skill and experience, it might be challenging if you have nothing special to offer. Once you get the job the visa is cake, though I've always relied on the company to do it for me.
China is a great place for someone just getting started (though that makes it harder to get a job), the nightlife is great, rent is relatively cheap even in tier 1's (used to be much better), can get anywhere by taxi. Great firewall is a PITA even with a VPN, pollution will wear you down overtime, the lack of permanent acceptance (China is not an immigrant country) will make even the most hardcore of us leave eventually. It can be a great way to spend 2-3 years of your life, more is probably a bit too much, 9 years is definitely so.
English is the working language of my company, I've done ok with Chinese but it hasn't improved in 9 years anyways. But most of your coworkers will be Chinese, and will speak Chinese around you. You might not get invited to meetings, or even be uninvited, because they'll want to do something in Chinese even though they shouldn't. This is an American company mind you, though my Chinese wife's experience at SAP and Nokia has been quite different from my own (more foreigners, more English than Microsoft China).
Having these sorts of questions means you should definitely visit for at least a week or two before jumping into finding a job there. Head over and travel around a bit, see if you feel comfortable. Visit some coworking spaces, talk to people. If you have more questions on stuff like this, hit up some of the Digital Nomad / Expat groups.
Senior-level experienced talent is still hard to find, so it's relatively easy to get a job and work visa (which will be sponsored by your company once you accept a offer) compared to first-world countries. This is doubly true if you have a well known tech company on your resume (Google, FB, etc)
I'd recommend working for a multinational company (or at least a large well-known Chinese corporation like Baidu, Tencent, Alibaba); as others have said, they're used to foreigners and will make sure their written communications are in English and make sure their employees have a minimum standard of English proficiency. Any Mandarin Chinese you learn will give you brownie points (unless you're ethnically Chinese; then they'll criticize your slightest mistake ;) ).
Salary wise, you will make significantly more than locals. In absolute terms you will likely make less than you would in the West, but due to the MUCH cheaper cost of living, you can almost always lead a better "life". (I had a ~1200 square foot 3 bedroom apartment in one of the most prestigious districts of Shanghai for $800 US/month (covered by my company). That was ~10 years ago but I'd still expect the same relative price differential.) You will get a good health insurance/benefits package that covers treatment at international standard hospitals.
Shanghai and Beijing are the most foreigner friendly cities in (mainland) China; huge expat population, many western restaurants, signage in English, etc. Other cities not so much, but nothing a slight sense of adventure can't conquer.
Any specific questions feel free to ask.
Also, people are at risk every now and then simply due to news cycles and political issues:http://shanghaiist.com/2016/07/16/nike_patriot_attack.php
If you're not too ambitious and you keep your head down and stay in your foreigner role, it's fine. If you do business or really try to dig in and advance long-term, you'll have tremendous disadvantages. On the other hand, if you're white, especially Nordic-looking, and you speak Chinese well, you'll have a tremendous advantage in networking with powerful people most Chinese would not have access to.
The only difficulty I have is language. Sometimes I feel like I am being very clear about something and I still can't convey it. So I take a step back and break it down into a list. This helps. The time difference is manageable. Everyone is really friendly.
The other interesting thing is that everyone in the China office knows about the Americans working on their team. I get so many e-mails and I even won a prize at our company party. I have a certain reputation it seems for not sugar coating anything.
I did have one odd experience. It is common to use the term "Na Ge", pronounced like "Niggaa" in China and and when I first heard it, I thought that they were using the slang word we all should never use. It was weird because the conversation they were having was about a recent crime. I asked later about this because I couldn't shake that it was being used and it turns out the meaning is something like "umm" or "that one" etc.
1. Perhaps high salary? Non-local employees are rare here.
2. No in tech companies, but yes in small cities and countries. In tech companies and cities like Shanghai, forigners are treated better than locals, seriously.
3. Easier than getting a work in US.
4. Don't send a clock as a gift :)
Regarding jobs, there are plenty, but it depends which province/city you want to be in. Maybe not as highly paid as the US but there are definitely a lot of cool, innovative, new and weird ideas and concepts that you won't see anywhere in the world! I ask my Chinese friends what's the latest cool things you can do with your phone and they always have these weird apps that maybe in 5 years facebook or youtube will have.
For US citizens its pretty easy to get a visa, apart from the invitation letter crap, you get like a 10 year multi-entry. Us europeans have a harder time to get a 1 year one but not that bad in general :)
It is a bit of a shock the first time you come here and sometimes 2-4 weeks might not be enough to love this place, but after a while you develop a sort of stockholmy syndrome and all is good!
Hope it helps!
xenophobia, no. treated differently, definitely. often they won't know where you fit into the social hierarchy, because, you don't. You don't have any family or social history so they may treat you like gods or may somewhat exclude you.
Language is a huge barrier. If you're in Shenzhen, there will be near-zero english. You'll have to learn mandarin, which will take many years.
> Culturally, what are some things to avoid, things to expect, etc?
If you've never been to China, you likely have never eaten Chinese food before. You may or may not like it a lot. You can find western food so it's not a huge problem in most places.
given the language barrier and the difficulty communicating with the outside world (you'll find ways to work around it, but it's still tough) it can be quite isolating. You'll want to connect with other expats and try to build up relationships with locals where/if possible.
China is less like the US than anywhere else I've been (including places like Nigeria, Bolivia, Fiji, Qatar, etc). You can't be prepared for it, so just be prepared to feel uncomfortable for a while.
I'd highly recommend visiting prior to considering a move.
So if you're a person of colour, your experiences may be different from the other descriptions here.
I travelled in China (Beijing, Chengdu and some smaller towns) for three weeks. It was different! Their customs are different but not that hard to get used to. I think that as a (white) American, you will have positive racism applied to you. It's crappy but it's true.
All of them hire many people who do not hold a Chinese passport, so they have mature system in place to handle some of the issues you may be concerned about (visa, healthcare, etc). The culture in those companies would also be more international than most Chinese companies of course.
You could also look into YC companies based in China. I saw a job posting on HN a few days ago from a Shanghai-based YC company (I cannot remember the name at this point).
Good luck! :-)
I come from Southeast Asia so the treatment is different (white privilege is extremely beneficial). Xenophobia is next to none. I managed to join a Chinese football/soccer team and badminton group.
I didn't apply for the job in China on purpose so can't help you on that. The difficulty of obtaining a visa sits on polar opposites. If your employer is a legit and big organization, you can get a legit one.
Others I met in Shenzhen just went with a business visa good for 30 days. This worked fine in this city since you can simply take a train to Hong Kong and reset your stay. Get a passport with more pages if you plan to do this.
Culture - most Chinese are very tolerant or don't care at all. I've heard other people say that Chinese are rude/impolite. You get used to it or get too tired of it.
If you have a degree and 2 years' post-degree work experience, your employer will have no problem sponsoring your work permit and visa. The process requires multiple steps and is often outsourced, so not every company will be willing to do it. But if they have at least one foreign employee then that's a good sign.
I'm assuming that you don't speak Chinese. For some jobs, this is a show-stopper or major disadvantage. There are other developers just as good as you, but who can read/write/speak/listen to communicate. BUT for software development jobs with many foreign companies (large ones like Amazon, or small game studios) you'll be on a level playing field with someone who speaks Chinese.
"Is there xenophobia? Are Americans looked down upon or treated differently?"
Americans are not looked down upon at all. Most Chinese I've met have respect for America's achievements and are aware of generally higher living standards there. Many white male Americans find more dating options in China than they did back home. (I'm neither white nor American, so have only heard this second hand.)
It is difficult to find a job without being here but on the ground there are opportunities. If you are not here companies see that as a liability. Of foreigners abroad we have hired to work in China there is about a 50% washout rate in the first year. Being here is seen as being a more reliable hire.
Regarding visa a good company will provide a z visa for you. Anyone offering less isn't a good company. Pay is less then the states generally but cost of living is lower. As in the rest of the world there is high demand for good software developers. Check smartshanghai.com, Shanghaiexpat.com, creativehunt.com, and craigslist Shanghai for more expat focused jobs. If you are interested in fintech we are hiring through firstname.lastname@example.org.
Overall the business China is more predatory then the states. More weight is often put on relationships then talent. Coming from the west it takes a few years to really understand this culture.
I'm a French Software engineer and I've been working in China for 5 years (and now back in France)
As someone who has worker in IT both in the education part (I was teaching CS in a 3 tier small city of 4 million inhabitants) and a startup/webshop in Shanghai I can only recommend you to try the experience.
As other have said life there is extremly different. If you're in Shanghai/Beijing, you can still find places to eat/live that will make you feel like home, but I think it's missing the point.
I would say the more you're ready to try to "mix in", the bigger the opportunity will be. I finished with a near fluent Chinese fluent level (I can perfectly follow business and informal conversation, and get the rough meaning from written contract in Mandarin) and I think that's what definitely helped me to finish CTO of the company I was working in. (~60 employees, 99% Chinese, doing businesses with other Chinese companies)
Chinese is a very easy language once you've stopped trying to relate to English and you see start seing learning chinese as gathering "sentences" and speaking Chinese as "i take this sentence I heard last time and I replace this word by that one" (as there's no conjugation, plural etc.) and it will definitely helped relationship of any kind, especially if you look "foreigner"
On the technical side, speaking chinese will help you enter in the companies were people still do php4 without framework nor testing nor versionning (SVN if you're lucky) because there's no harsh competition. So arriving in this kind of company with your ability to bring them even what you would consider "plain old MVC framework" will increase their efficiency by several times. (and if the company was there, it's that it was profitable, most of the time because of the manager/commercial having a good network, so if you're now able to make technical side profitable too, they will soon ask you to supervise/teach/manage the whole set of developers). And you will be invited to meeting with the customer too as it will give face to the company "hey we're a good company, we can hire laowai foreigners".
There's a lot more to say but I think most of people here have already covered the other aspect of living and working in china
there's obviously a cost associated with obtaining a working visa, but i don't know the details or the extent of how much a burden that is going to be on the company.
if you don't speak chinese (or write), i think you'll be limited to working for multinational companies (mnc's) like microsoft, emc, vmware, cisco, etc. google has an office here, but the work being done is not very interesting, localization and local advertising. you should probably forget about local companies like alibaba, baidu, etc.
i would suggest you not think too much about xenophobia, or treatment, or cultural differences, if it's really bothering you that much then i suggest you stick to your country and don't venture abroad. obviously every environment/country/company has its challenges so being adaptable is a must.
the questions you should ask yourself:
1. why do you want to be in china?2. what do you want in your career?3. what is it in china that i cannot get from current location?
But if want to get legit stock options, start a startup or generally settle down then forget about it. You will be legally discriminated against. Not worth it.
Visa was difficult but company culture there really respects people who are experienced and innovative. Most the workers there aren't really passionate about what they do (From my understanding, most Chinese startups don't give equity to their employees)
English is a huge advantage as we have access to an awesome global community of people.
Pay is surprisingly good, but living cost in Beijing is deceivingly high as well.
you could find almost any kind of statistics for market research, with their paid account you can get even more.
Some other sites I use when deciding some technical requirements:
http://netmarketshare.com http://caniuse.com http://www.tiobe.com/tiobe_index
Testimonials are a great way of building trust in you and your ability to deliver. Talk about the benefit you bring to the table. Don't (just) list TLAs. Regularly writing about your area of expertise and publishing source code is great, too.
If you're an expert in something very visual like D3.js, a showcase is an interesting approach as well. Just don't turn your complete website into a showcase.
Also take a look at Riemann which is system monitoring written in Clojure. Riemann should be good for monitoring latency of the system.
If it helps here is Slidedeck from Spotify how they do their monitoringhttps://www.netways.de/fileadmin/images/Events_Trainings/Eve...
For highly sophisticated environments then https://www.datadog.com is a very advanced product.
Both are based off my original agent: https://github.com/serverdensity/sd-agent (DataDog forked it in 2010 and we forked them back last year).
We're also behind http://www.humanops.com trying to build monitoring that also helps you run on-call and ops teams generally in a way that considers fatigue, stress and the realities of the humans running IT systems! E.g. https://blog.serverdensity.com/introducing-alert-costs/ and https://opzzz.sh
It uses Nagios under the hood, it's basically an automation system that generates those Nagios systems. The GUI is amazing, because it uses a plug-in so you don't have to edit files on disk to group your hosts or tweak the alerts. Those configs are snapshotted automatically at every change, and you can replicate that configuration automatically to remote servers. Download it from the upstream site instead of relying on distro package repositories.
Caveat, the documentation sucks, the GUI can be nonintuitive and it's hard to Google problems. It takes time to fully tune. Out of the box you'll probably still be impressed though.
I like Icinga a lot. I won't bother reviewing it; is is very well known. Professionally, my last two gigs have used Zabbix.
Zabbix, architecturally, is a nightmare. Uses an RDBMS for storing time-series data, so it wastes a ton of space on historic data while managing to be far slower than it needs to be when querying larger ranges. Uses an agent. Has a proxy-agent that, while handy, encourages all sorts of sketchy, error-prone monitoring topologies. With 3.0, the UI has crawled out of the awful range, and is now merely annoying. Takes the all-singing, all-dancing monolithic approach for the main app, including features for drawing maps on big-screens.
For all that, it works well. Give it the hardware it wants, be sane in setting it up, ignore the goofy features (maps, inventory, screens - I guess someone must of requested those), and it is very solid and very powerful.
 The template system, pseudo-language for triggers, naming convention for variables and method of creating custom monitors take some getting used to. Expect to take the time to actually read the docs, and most likely to throw out your templates the first time you model your systems.
Can you afford time but not money? Try Sensu or Nagios.
Do you have money and not time? Try datadog.
Like someone else mentioned here, if you're looking to alert off of logs from ELK, try Elastalert.
Good documentation, UI, many, many plugins and fair pricing (IMO).
(Im not affiliated with in any way other than using their product on a pet project with many moving parts).
This is yet another point where DevOps is not "devs doing ops" but "operations building and deploying with all the tools of modern software development". You need a subject matter expert.
What are you monitoring? Do you care about availability or performance or both? Scale? Do you have services or servers? Do you manage the underlying hardware? Do you need to track which hardware boxes have which VMs or containers?
There are a million questions to answer. One big set of them: what do you dislike about Nagios? Make sure that you don't get those problems with the next one, but also make sure you get something that does what you need as well as what you want.
My preferred method is Icinga2 (a Nagios clone with better configuration and clustering built-in) with reports coming in via passive NSCA. Toss in Graphite (or I'm warming up to Grafana on Influx) with some ability to write alerts against those reported metrics, and you're as close to ideal as I can come up with.
Of course, that requires a fair bit of up-front knowledge to stand up and operate, but they're so rock solid (and scale like mad) I have a hard time not recommending them.
You want metrics from counters you build in your app? (see statsd?)
You want to aggregate and do analysis on logs? (see ELK stack?)
You want to monitor cloud infrastructure (see stackdriver?)
You want to run end to end tests on your application to ensure it's behaving? (see runscope?)
As your application grows, you probably want a blend of tools to see inside your app.
Should have mentioned how well it pairs with Grafana ;)
Applications are dramatically and rapidly changing, with continuous delivery, microservice approach, containers and orchestration tools, things are all over and you might have a component spun up and down within few minutes. Humans cannot keep up with data and it doesn't make any sense to stare at a big screen full of data, just looking the all day at charts trying to visually correlate data. The correlation of data is becoming harder and harder as systems are more and more resilient. There's, therefore, no unique root cause anymore (https://www.instana.com/blog/no-root-cause-microservice-appl...).
At Instana we're re-defining what monitoring means. We're moving the bar from visualizing data to providing plain English explanation of what's going together with suggestion for remediation.Instana 3 main values are:- Automatic Discovery: dynamically models the architecture of infrastructure, middleware and services - Automatic QoS Analysis: continuously derives KPIs of all components and services and alerts on incidents - Integrated Investigation: visualizes in real-time physical and logical architecture, compares over time, suggests fixes and optimizations.
Happy to get feedback and provide more info.Enrico
> To get real time insight into your running applications you need to instrument them and collect metrics: count events, measure times, expose numbers. Sadly this important aspect of development was a patchwork of half-integrated solutions for years. Prometheus changed that and this talk will walk you through instrumenting your apps and servers, building dashboards, and monitoring using metrics.
Abstract - https://us.pycon.org/2016/schedule/presentation/1601/
Slides - https://speakerdeck.com/hynek/get-instrumented-how-prometheu...
Video - https://www.youtube.com/watch?v=b-qLOY5ChnQ
The configuration was a bit of an initial hurdle when coming from icinga 1 / nagios - the config syntax is essentially an EDSL for programming your monitoring requirements - but the flexibility is worth it. Adding new hosts and services is pretty cheap (programmer-time-wise), and I can use whatever programming constructs and conditions I want to decide what services to apply to which hosts in which measure.
That said, it's still in a bit of a young state and some parts are very rough around the edges - for example, icinga 2's dependency model is a bit naive. You can configure email notifications to ignore notifications for services that depend on a different failed host/service, but this only applies if icinga already knows about the dependency having failed. So when a parent service dies, an extra e-mail notification could be generated for each of its children before icinga realizes the parent has also died and stops sending notifications for them.
tl;dr I had fun setting it up and it works well for us, but expect some quirks
The winner IMO is dataloop.io .
Dataloop is a SaaS monitoring solution that is super easy to get up and running and has tons of fantastic features and capabilities. The team behind it is stellar and their pricing is reasonable.
10/10, will continue to use again and again :)
500 metrics accounts are free for life.
Built by SREs for SREs.
dead simple, easy to configure and very reliable
Get everything containerized and use a container runtime like ECS, unless you're operating in analytics, adtech, or something else with extreme storage/compute/network requirements.
A smaller question is "is the company really a startup?" The granting of shares to employees rather than options is more typical for companies organized to produce cash flows to share holders rather than spending available cash in pursuit of growth.
So talk about your achievements, and mention the skills you used as part of that. Be specific, and focus on the most important bits instead of listing every single item. Remember to include human skills like planning and leading.
(It's also worth noting that I have ~12.5 years of experience in the software industry, Seattlethe city where I livehas a hot tech market, and I have focused mainly on iOS software development for the past six years. Relatedly, I never apply for jobs through websites, only through people, meaning that I manage to skip buzzword-skimming front-line recruiters. So YMMV.)
Coming at this from the other side of the table, my first reaction to reading most resumes is "so what?" Tell me why I should care that you increased Flibbet production by 22%, or that you decreased bug volume by 19%. What does that translate into in terms that someone who doesn't work at that company would care about?
A Skills section is usually for the purposes of an ATS (automated resume scanner) or a human that will be looking for certain buzzwords, like a language or a framework that is most important to the job requirement. Recruiters know they can go to a skill section and find those things quickly.
I think in your situation, listing specific examples of your accomplishments is going to be even more important. You can tell me "I'm an all-around developer who cares about getting things done..." all day long, but listing specific things you've developed to illustrate that point is much more effective. It's not unlike people who say they have excellent communication skills - don't tell us, show us by writing something or demonstrate it in conversation.
Recruiters and HR are looking for those buzzwords, but engineers reviewing the resumes are looking for an interesting project that they can ask you about. Ideally it will involve a problem the company is trying to solve.
Start with a summary to quantify your experience - this starts the reader off with a big picture of who you are. Don't trust the reader to figure out you're a full stack dev, because the person first reviewing your resume might not be technical at all. They need to be told specifically what you do, and it's your job to do that. Your summary might start "Full stack developer with n years of experience across a mix of languages and platforms in Agile/TDD development environments. Additional skills in Project Management..." or similar.
Next, experience section with responsibilities (the day to day) in a couple sentences in paragraph form, then bullets for your novel accomplishments.
Skills, Education, other projects, community involvement, etc. to follow.
Goes in to great detail about exactly what to put in there and why, including a template that will appeal to the recruiter, to the hiring manager, and then to the interviewing developers.
1. Write relevant bullet points that show what value you provided for your previous company and BOLD languages along the way.
- Architected a product that does $X revenue with Y languages
- Stabilized systems of X which allowed throughput of Y% more connections with Z language/framework
2. Include a summary/objective in your LinkedIn/Resume. E.g. I'm an all-around developer that isn't afraid of X, Y, Z
Right above the list of skills I have a 'Summary of Qualifications' which explains my overall caliber.
> I guess the main point I want to bring across is that I'm an all-round developer who cares about getting things done and uses whatever means are best for the job.
This is what you put in the summary, written for a resume of course, e.g. "Veteran developer with X years of experience using a pragmatic and goal oriented approach to development. Focused on solving problems and shipping software" etc.
In fact you already have something to work with in this quote: "I'm an all-round developer who cares about getting things done and uses whatever means are best for the job. I'm able to learn/understand tech quickly but this is just a means to an end. I like to focus on the team and there interaction / openness." (but fix the sp of "there interaction")
If the audience sees something like "Senior Software Engineer" followed by the above paragraph it helps them understand how you see yourself fitting into the organization.
Next I would follow with a simple tabular format of skills (languages/frameworks/platforms for example) that is quickly scannable and has been pruned to remove outdated or out of favor technologies.
Then I recommend listing work experience focused on acheivements. Recruiters want to see how your past experience will translate to future success so don't list job duties. List accomplishments at the job. How much revenue did the apps you wrote bring in? How many active users did the app you built support? Did you mentor other people and were they successful? Did you contribute to an open-source initiative?
"Built and maintained web applications using Ruby on Rails and React with over 200,000 active users per month."
I do list skills both in context and in a skills section.
My rsum has gotten me an interview every place I've sent it for the last 15 years. These things will never hurt you to do on yours. They will only help you.
I've heard that objectives hurt, and I know that work experience that reads like a job description hurts too. My wife is in HR and I've asked these questions of her network of people and that's the general consensus. So I hope that helps.
State your accomplishments. Technical skills can be learned. I feel that learning technology is part of the job, not a prerequisite for the job. on your linked-in, okay list every little thing if you want non-technical recruiters to find you w/ keywords... But as a hiring manager, I want to see someone who can learn and grow into the role. Having technology experience relevant for the role is worth highlighting but not every bit of technical experience. Otherwise highlight technologies you've used in your accomplishments only but focus on the accomplishment itself. Focus more on the activities - what big important features did you implement, not what technology you used to implement the features. The positive outcome of the work is more important than how you got there.
Eg having worked on an open source project, managing contributions from other developers, releasing etc is more important than the project itself.
I did few groups of skills I have:
- Currently focusing on (skills I am interested in and best at)
- Relevant skills (git, agile development, tdd...)
- Also worked with (other tech I encountered during my career: DBs, languages, frameworks...)
Hope it helps.
ps. I would love to hear some thoughts on this problem from somebody that actually reads resumes
- a "classic" CV which describes education, skills, work experience, and "miscellaneous" projects (late night hacks mostly);
- a second document entitled "friendly CV" but which is actually a short pdf with slides. It is super casual and I explain my previous work with pictures of algorithms and technical stuff. I cut down all the noise and try to speak directly to the inner geek of my potential reader.
From my perspective, I'd say I had quite some success with it.
I think it doesn't matter if you do exactly that. The point is to wake up your reader if you're the 50th CV they're reading this afternoon.
Each hiring manager should be able to quickly scan through your CV and check the mental boxes in their head, so that they can move your candidacy on to the next phase. That's really all the resume needs to do. So streamline each resume you submit to make that process as quick and painless for the hiring manager as possible.
Later on, when you're getting to know the company (and they're getting to know you), that's when you can bring in your multitude of experiences that aren't directly related to the job. But there's no reason for that initial submission to be an exhaustive list of all your great qualities.
How are you going to use this resume? Sending in applications, posted online? Would affect my advice.
In general, two types of people will read your resume: hiring decision makers, and their agents/gatekeepers. Ideally the resume speaks to both groups. Gatekeepers use pretty simple filtering, though it won't all be disclosed. For example, if you've got 5 years of experience, and the rest of the applicant pool has 2, and they all went to Harvard and you went to University of Phoenix, you're getting filtered out unless there's something really amazing about you. The "top school" filter may not be disclosed in the job posting, or even known prior to seeing the applicant pool. In some cases these institutional biases are more or less public knowledge, in others not. Worry about passing the obvious, stated filters. It should be clear, in under 3 seconds, that you pass or exceed them. Don't be afraid to ELI5.
For the reviewers giving more than a passing glance, tell a short story. This is like pitching your startup idea, or selling anything, really. Quick, punchy, hook them and let them call you for more.
The resume gets you the call. The call gets you the meet. The meet gets you the job.
From an apply process a resume should contain keywords and should be easy to parse.
What I mean by parse is that we automatically extract details from the resume and if the resume is too hard to parse this may minimize your chance to be noticed (the ATS does this as well downstream).
So ideally you want your resume to be a small plain document. That is either MS Word, or plain text. You do need the keywords because there are some ranking algorithms that some ATS use and sadly it is based on simple keyword matching. I recommend putting this at the bottom of the resume to keep the parsing happy (ie list of technologies used). Or if your resume you think is large perhaps at the top but a short list in case it is is truncated.
I stress small because the bigger the document the more likely systems downstream can fail (our system can handle 100MB resumes no problem... and yes people will upload resumes that large but downstream systems cannot).
Finally I think including links in your resume of work you have done is also beneficial. I believe it is the future of resumes. We are seeing more folks doing this and we already to some extraction based on this (ie github profile, github projects, blogs, linkedin profiles, etc).
In large part the resume doesn't matter once you have made the initial HR/Recruiter pass. So make sure you get past that.
If you successfully can describe your current/last positions, point out how you had used technologies and competencies, youll highlight yourself.
Apply selectively. Construct a narrative about your career that shows an inevitable trend towards the exact role you're looking to fill. Employers are generally looking for someone to shore up a skills gap, or augment an existing team. The job spec generally makes this an open book exam.
Really, the biggest thing is figuring out what sort of role you want, and trying to see your career through the lens of the person hiring for that role.
Then, in each of the previous jobs, I put the main tech that I have been exposed to. That gives an idea of the different skills and tools, but making a clear distinction in terms of which ones I am interested or consider that are my core skills.
"I guess the main point I want to bring across is that I'm an all-round developer who cares about getting things done and uses whatever means are best for the job. I'm able to learn/understand tech quickly but this is just a means to an end. I like to focus on the team and there interaction / openness."
I usually just write working with Java stack / JVM technologies and a few sentences what I (not the team) accomplished in my previous jobs, because I don't think resumes all that important.
My view is that a CV/resume (non-academic) should list relevant work experience and education. Probably also certifications if relevant for the position.
Perhaps a section on other experience (leadership/management/responsibilities/achivements in volunteer/leisure activities - eg: successfully guided a hiking trip through a storm, etc).
Then the cover letter should put those experiences in context for the position you're applying for. And it probably should be no more than (half) a page for the letter and one to two for the CV.
Maybe I'm a bit extreme, but I strongly believe in not wasting the time of people doing the hiring (hopefully for an engineering position they're not full time HR and have other things they'd rather be doing).
Selected Project Experience:
Consumer Finance Protection Reporting Database (2014) - Backend Developer. Developed the platform to support a consumer finance protection website that allows users to put a lock on their credit account without navigating customer service telephone lines. Built the backend with Django (Python) and Postgres and implemented a robust API with the Django REST Framework.
I would say make the skill section brief. Don't list every flavor of SQL you've ever worked with, just put SQL, etc. Or go crazy, but put it at the end. Honestly, I never begrudged someone doing a word dump at the end of their resume, as long as the rest of the resume was good. We all know that recruiters have no clue and might scrap an application if a buzzword is missing.
So try to match the list as best you truthfully can to the one in the job description. If they put languages and skills in one big list, do the same. If they have some other format, use that. Just don't parrot their list so exactly that it looks like you are lying.
As for your main point: make it directly in a summary paragraph somewhere near the top of the resume.
Name: Cody McCoderE-mail: email@example.com
Profile: "I'm an all-round developer who cares about getting things done and uses whatever means are best for the job. I'm able to learn/understand tech quickly but this is just a means to an end. I like to focus on the team and there interaction / openness."
Skills: "a mixture of languages, products, areas but also practices/skills"
Portfolio: ...links to your case studies with code, rationale, team contribution and comments...
Resume screening is about cutting a stack of 100 down to 10, so it's all about finding a reason to say "No." If the job calls for C# WebApi and Angular experience and you start listing Python or Go projects, that's an easy no.
New | Proficient | Expert
Or something along those lines. Then list your skills in there and it's super easy for people to very quickly see your skills and how you rate yourself. The New column is a great way to show that you are learning new things on your own. Most recruiters I've showed to it like it.
You may want to start at the section "How Do I Pitch Myself"
I pretty much keep my work experience the same but change around my Skills and Technical Proficiencies to match the job I'm applying for.
2. Personal connection
2. The Elements of Style. I always enjoyed writing, but at first school taught me to write in a flowery, longwinded way. This was the book that cracked the code for me to good writing. It dispelled a lot of self-serving and ultimately self-defeating habits and paved the way to clean, helpful English. When I finally got into programming in my late twenties, I found that many of the same principles make good code.
3. The Visual Display of Quantitative Information. This is like the Elements of Style but for graphs. Again, it encouraged me to cut through the hype and deliver the content as clearly and succinctly as possible --- to serve the reader, not stroke my ego.
2) C# in Depth by Jon Skeet: Buying and reading this book is what led me to continue down the deep rabbit hole of .NET development, and following the C# language from version 1 onwards via the book is a great way to appreciate the language, as well as use it. As someone that writes C# daily this is the main book I recommend to existing devs.
3) Introduction to Algorithms by CLRS: This is a bit of a cheat, because I've only glanced at various pages of this book. I have a degree in Computer Science, but my maths knowledge is lacking (to put it kindly), so despite my degree I have only a practical understanding of a lot of the algorithms talked about in the book. It's been my goal for years to build up my knowledge of maths to the point where I can read this book cover-to-cover and actually understand what's going on. I'm still not there, but hopefully one day I'll make it.
2) Zero to One, by Peter ThielZero to one opened my eyes to several angles of business that I hadn't been thinking about. It made me think much harder about making long-term plans towards a concrete goal, even if changes must be made along the way. It also clarified my thoughts about the nature of competition and non-conformity. Courage is in even shorter supply than genius.
3. The Hero with a Thousand Faces, by Joseph CampbellWhile it's not a business book, this book is a deep look at mythology and psychology. I find it helpful both for understanding people and for understanding myself.
2. The Pragmatic Programmer -- a classic. Reminds me that I need to re-read it.
3. Effective Oracle by Design, by Tom Kyte -- Not that I use Oracle any more, thankfully, but really provided a lot of insight about how databases function and how it pays to deeply understand their internals when writing webapps.
1) Philip and Alex's Guide to Web Publishing (not strictly a book). http://philip.greenspun.com/panda/
2) The "Dragon Book" https://en.wikipedia.org/wiki/Principles_of_Compiler_Design
3) Computer Architecture: A Quantitative Approach
Second part (at hindsight):
1) https://en.wikipedia.org/wiki/Rich_Dad_Poor_Dad (cheesy, but useful)
3) https://www.schranner.com/de/news/2012/04/16/-verhandeln-im-... - German book about negotiations written by an experienced hostage negotiator.
1) Scott Adams 'How to fail at almost everything' for life strategy.
2) Robert Glover's 'No more Mr Nice Guy' for assertiveness and being your authentic self no matter what.
3) As cliche as it is, 'The Power of Now' is a great source to return to in times of personal and professional woes.
Good luck and Godspeed in your career(s).
This may sound like an odd one, but years ago, I almost never took the time to read. My girlfriend, who knew that I loved Sherlock Holmes books when I was younger, convinced me to try this book as an audiobook while I did my ~40 minute commute to work. I was skeptical, but within days, I was hooked. It made my work commute much more interesting (a British person was reading me Sherlock Holmes!); then I started listening to audiobooks during all my driving (instead of wasting time, I can learn!); then I got an iPod, put audiobooks on that, and started listening to them during all sorts of odd chores (e.g. cleaning, walking, biking); after that, I was so hooked on books, that I started making time to read them too. This had a profoundly transformative effect on my career.
2. "The Lean Startup" by Eric Ries.
I got a copy of this book when I went to a talk by Eric Ries. Eric seemed like a humble, down-to-earth person and helped dispel the notion that to be a successful entrepreneur, you need to be a prescient, superhero, god-like visionary. Instead, what you need to do is to treat your startup and product ideas as hypotheses and test them, as quickly and cheaply as you can (i.e. lean development, MVPs, etc). This fit very well with what I had seen in the real world and with how I thought about problem solving as a software engineer, and gave me a lot of confidence to try out many of my ideas. Since then, I've used these ideas to start a company (http://www.gruntwork.io/) and written quite a bit on what I learned, including an article on The Macro about MVPs (http://themacro.com/articles/2016/01/minimum-viable-product-...).
3. "On Writing Well" by William Zinsser.
If Conan Doyle taught me about the fun of reading, then William Zinsser taught me about the fun of writing. If you want to learn how to write, what it's like to write, or why you should write ("Writing is not a special language owned by the English teacher. Writing is thinking on paper."), it's hard to find a better guide. This book significantly improved my writing skills and even gave me the confidence to write a book (http://www.hello-startup.net/).
2. Compiler Construction Using Java, JavaCC, and Yacc, IEEE/Wiley, 2012 by Anthony J. Dos Reis
3. An Introduction to Functional Programming Through Lambda Calculus by Greg Michaelson
I'm lazy now so just look on my previous comment:
 - https://news.ycombinator.com/item?id=12099943
The Elements of Style, Strunk & White. On clear writing.
Hitchhiker's Guide to the Galaxy (series), Douglas Adams. So you don't take yourself too seriously.
> Tech : C - Kernighan & Ritchie (may be a good python/nodejs book today).
> About tech people : Made in Japan - The Google Speaks - The Everything store - Hatching Twitter - Steve Jobs - Zero to One - Hard things about hard things.
> About non-tech people : Founding fathers - Obama - Einstein - Darwin - Feyman - Teresa - Montessori - Gandhi - Mandela - Che Guevera - Churchill.
> Last but important: Tolstoy - Plato - Enlightenment-Era-Books - Religions(all) - Military fitness.
1) "How to Win Friends and Influence People" 2) "The War of Art" 3) "The Pragmatic Programmer"
2. "The Practicing Mind" Thomas Sterner
3. "Better: A Surgeon's Notes on Performance" Atul Gawande (I'm not a surgeon; the principles herein are universal)
(honorable mention: "How to Win Friends and Influence People" Dale Carnegie; various biographies by Caro and Chernow)
Incerto - Nassim Nicholas Taleb (4 volumes, with The Black Swan as my favourite). Learn how not to be a fool, or at least, minimize its impacts.
The Startup Owner's Manual - Steve Blank. Learn how to find your way through the market.
How I raised myself from failure to success in selling, Frank Bettger
Thinking in Systems: A Primer, Daniela Meadows
Most important thing is to get up and start doing stuff, understand how you personally f$$k things up and reap benifits of compound interest in personal development. I think these three bookshave a lot of information that is usable in any career or path one might choose.
"How Buildings Learn: What Happens After They're Built" by Stewart Brand --> http://www.openculture.com/2015/07/watch-stewart-brands-6-pa...
"Programmer's Guide to the 1802" by Tom Swan --> http://www.tomswan.com/store/
2. "Creativity Inc." (2014) by Ed Catmull. Fascinating stories and lessons from the man who ran Pixar, the animated film company with 11 straight number 1's at the box office.
3. "Outliers" by Malcolm Gladwell. Along with talent and hard work, being well-positioned is a big part of success. Put in 10,000 hours to be great at anything.
L'etranger Albert Camus, for the same reasons as jjgreen
A Herbert Shilt book on C programming but could have been K&R instead, was part of the process from moving from simple basic coding to software development
And that makes this exercise impossible for me. The books I would tell the younger version of myself to read wouldn't resonate the same way (or not at all) with that other person I used to be. Picking books that might have appealed to the younger version of myself accurately would mean picking the books I actually read -- e.g. The Fifth Discipline -- and not books that the younger version of myself tried to read but couldn't but that I read and recommend today: e.g. TAoCP.
Part of the complexity is that the world in which I read books today is radically different from that of my younger self. Today I can get a MIX interpreter from the internet ...there's even help on StackOverflow. My younger self couldn't because even in the time when there was an internet bandwidth was low and Google didn't exist.
Like I said it's great to pick up a good book and realize it is better than I remember when I remember it being really good, but it's hard to see how it could have been better for my younger self.
2. Blood Meridian
3. A Pattern Language
2. "The Bible" - I am not too religious, but I am a spiritual person. I find the new testament to be a good blueprint on how to live a righteous life.
3. "The Pragmatic Programmer: from journeyman to master" - such a timeless classic. Just get it...
2) "how life imitates chess" Garry Kasparov
3) "how life imitates chess" Garry Kasparov
Highly recommended, very good read and smart book. I would call it the modern version of The Art of War.
Honorable mention: Compiler Design in C
2. Pragmatic Programmer - A classic, learned many practical tips for day to day programming job.
3. Founders at Work - Motivated me to work on my side projects and be constantly learning.
2. Drive, the surprising truth..., Daniel Pink - to understand happiness and motivation
3. Crucial Conversations, to learn how to talk and listen and talk to people without ruining the conversation and the possibilities from it
2. "The art of war" by Sun Tzu
3. "Meditations" by Marcus Aurelius
K&R C (Draft ANSI Edition) - A small book that shows how you should write. Many of the examples are not really good code anymore, but it traveled and inspired.
Perl Little Black Book - I needed to learn Perl and it was packed. Much like many of the ORA pocket references, except with a lot more examples. My copy is in rough shape with flags, notes, and highlights.
I will have to dig it out of a box, but I had a system process and design book from a college class that I used extensively in my first decade of work. I think I internalized it all. I put the book in a crate with my K&R C book waiting for a good shelf to put it on when I get somewhere a little more permanent.
1) K&R C
2) Zen of Graphics Programming
3) C++ Programming Language, 2E
I wouldn't recommend any of these to a young version of myself today.
"How I Found Freedom in an Unfree World" - Taught me I don't need to follow the standard path that "everyone else does", and to focus on how I can actively change my world - instead of waiting for someone else to to change it for me.
"Code Complete" - Get it. Read it. Live it.
"The Little Schemer"
"Stories of Cats and the Lives They Touch" by Peggy Schaefer
2. "Insanely Simple" by Ken Segall
3. "How to Measure Anything" by Douglas W. Hubbard
- Computer Architecture - A Quantitative Approach (Hennessy/Patterson)
- Expert C Programming - Deep C Secrets (van der Linden)
I woud call the Pragmatic Programmer though by far the most influential.
2.One Up On Wall Street - insiders view of the markets and other lessons
3.Consilence - how to distinguish real things from unreal things
- The Upside of Irrationality by Dan Ariely
- Screw It, Let's Do It: Lessons In Life by Sir Richard Branson
Fooled by Randomness, Taleb
Linchpin, Seth Godin
2) Noble House
3) Excel by Que Publishing
All of your working life is built on relationships, even if you code all day.
2. sidebar from /r/theredpill
3. The Millionaire Fastlane: Crack the Code to Wealth and Live Rich for a Lifetime
Book number 3 has probably the most 'click baity' and the most douchey title of all times.It sounds like one of those self help books or one of those get rich fast schemas but in fact, it's an eye opener and it encourages hard work.
They recently made a change with the node sdk recently so you don't need the apiKey for public access.Not sure about the web version, You would probably have to use the Browserify or something.
That said, If I were you, I would stick with V2 sdk since I don't think hacker news has actually updated yet.An easier way is to just use the rest apis, That is still clearly working.
How many Microsoft engineers you need to change a light bulb?None. Microsoft simply announces darkness the new standard.
* - (please don't take it seriously)
That mail does seem to point to a place where users can report this afresh if it's still relevant. So, not a bad approach, to get these bug reports to hopefully in a more relevant and manageable state.
Google did that with Android several times, and another poster mentions Apple does that too.
Now lets say I write a program to encrypt messages between two parties because their government is censoring free speech. Here my intentions are good. However, someone else could use that system to organize terrorist activities. It was never my intent but still it is my work being used to aid criminals.
That's where the line gets blurry. In medicine, actions have immediate effect. They either help or hurt the patient. In computer science the same program can be both a blessing and a curse.
>We, the members of the IEEE, in recognition of the importance of our technologies in affecting the quality of life throughout the world, and in accepting a personal obligation to our profession, its members and the communities we serve, do hereby commit ourselves to the highest ethical and professional conduct and agree:
>1. to accept responsibility in making decisions consistent with the safety, health, and welfare of the public, and to disclose promptly factors that might endanger the public or the environment;
>2. to avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist;
>3. to be honest and realistic in stating claims or estimates based on available data;
>4. to reject bribery in all its forms;
>5. to improve the understanding of technology; its appropriate application, and potential consequences;
>6. to maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations;
>7. to seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others;
>8. to treat fairly all persons and to not engage in acts of discrimination based on race, religion, gender, disability, age, national origin, sexual orientation, gender identity, or gender expression;
>9. to avoid injuring others, their property, reputation, or employment by false or malicious action;
>10. to assist colleagues and co-workers in their professional development and to support them in following this code of ethics.
Similarly, almost all open-source software can be used by these bad actors. I doubt any of them write their router OSes, e.g. FreeBSD, but should I not contribute to that code because I know they are using it to suppress or track voices inside their country? Similar arguments for DNS or other tools that can be used to snoop on citizens.
Now, I would sign something saying I would not take a contract or money from them, but at the same time I think the US/EU sanctions actually already require that.
So how would we design it with these obvious caveats?
I would not, however, be willing to work on anything that I thought was directly harmful, e.g. I would never work for the NSA.
For the combination of nerdy humour and botany
Though I didn't try it yet as they closed registration for a while (there was a hack).
CS Lecture Videos
More than enough.
And more being added everyday.
I was born in a Mac OS household. By the time I was born, my parents used Apple II clones and Macintoshes for over a decade. I have used Macintosh my whole life, except for the time before I was computer literate.
There was a time when I played Lord of the Realms on hand-me-down Windows 3.1 greyscale laptop I got for free in 2005, and a time when I played Age of Empires on another hand-me-down Pentium I desktop I bought for $99 in 1999. Those were the best times. I also used PowerPoint during primary school and high school.
Having no other experience with Microsoft software, I cannot emphatically say Microsoft has spent my trust.
On the other hand, I have a huge degree of trust in Apple software, which, I must say, has been slowly eroding in the years since the passing of Steve Jobs.
But somewhere around the start of the Win 10 malware i decided to bite the bullet and moved my work environment to Linux for good.
Looking at where MS was going it would have happened anyway, so better sooner than later.
Yes, they spent my trust. I switched my settings so updates aren't installed automatically because now I can't trust them not to perform some unwanted upgrade. Running "Never10" (disables Win10 update) seems to have fixed the immediate problem but not the lost trust.
However, my little bit of trust in Microsoft was spent after I bought their hardware, in particular the still-running Surface Pro 3 Battery-gate (I'm the person who started the thread in Microsoft Answer forums.) Microsoft lied about battery replacement cost, keep treating that the battery problem didn't existed, and insist it's a $560 replacement instead of the promised $200. I'm lucky that media outlet picked this up otherwise I probably won't even get the "we're aware of the issue" response.
That pretty much stop me from ever thinking about being their customer again, for anything ever.
(I'm not going to recount the man-hours and lost revenue we got from "admit it, you know you want WinX, and we'll give it to you NOW; it's not like you actually use the computers for anything")
I use both Windows and Mac. I have no problem with both of them. Also, C# and VS rocks.
I still haven't switched to Windows 10 on my home PC. I won't use Windows for anything work related but I need it for gaming. The day Linux is good enough for gaming, I'll say goodbye to Microsoft forever.
In this universe, I actually have less concern about Microsoft doing something creepy with my keystrokes than I do about Canonical doing so. I run Ubuntu and it wants to send my keystrokes to Amazon and whichever search engine has the current paid placement in Unity. At least with Microsoft it's not continuous direct monetization.
If Windows 10 was a big concern, I wouldn't install it or run it on any of my computers. But that's just me. I run Ubuntu for other reasons. The machines I've upgraded to Windows 10 have had most of the crap turned up except for the peer to peer upgrades. It's right there in the install.
For last 2 years I have been using macOS (osx) and no crap of activation there and most importantly once you understand the abstractions of UNIX you wouldn't want to use any other architecture :)
I guess some major problem with Windows is the business model of OEM around the OS.
After that Microsoft release Win8 with its insane UI that make me loose time compared to previous versions and it was mandatory to develop for WP8. Then it release WP8 with no upgrade for existing phones. It purposely "uglify" VS 2012 removing all color and using CAPS menu which I found more difficult to use.
Things got even worst with Win10 where they actually didn't listen to feedack and release an OS with start menu not really usage. And forced people to migrate by changing their whole system!Also bugs, bugs and bugs with both the system, new version of Visual Studio. And on the phone side they kill the entire Nokia line-up and still no manage to release a usable version of Win10 for phone in on year. The insider builds each broke more stuff than they fix even to the point you cannot even deploy an app.
I franckly tired of this cr*p. Promises not kept. And the fact Microsoft had cards to do great stuff but self destroy them. Many times. I'm still using VS and C# because that's awesome but I will not change my system for Win10. That's why the .net core stuff is interesting.
Never buying anything Microsoft again.
I will begrudgingly continue to use W10 as I am a heavy-duty PC gamer but I've locked that shit down as tight as is humanly possible.
All my personal computing and development will be done solely on Arch from now on.
- Linux-only since 1999.
As for your question, quite honestly, I'm having more trouble coming up with a counterexample wherein progress came from a flash of brilliant insight. Iteration is the norm :) If you're looking for virtuoso performances, you could look to Konrad Zuse and his series of tabletop computers; however there's a lesson there as well, for apart from a couple guided bombs they never amounted to anything despite being years ahead of their time. You get better results with more staying power when you work with other people.
Of course, the history of science is full of stories of perseverance despite personal and social obstacles but I am unsure whether that's what you meant by technological breakthroughs.
Closer to the modern day, there is the story of India's sanitary pad man although not sure if that counts as technological breakthrough (although it was iterative and fueled by perseverance) :
I assume that this is the 0.75% worth of shares at the current valuation they promised you. You should confirm that this represents your share of the fully-diluted, as-converted shares of the company.
Here is more detail on what fully-diluted, as converted means: https://www.capshare.com/blog/how-many-shares-are-on-my-cap-....
If you confirm that this represents your share of fully-diluted, as-converted shares, then you can calculate the total number of shares on the cap table by simply dividing the number of shares you receive by 0.75%.
Regarding your other questions, every startup has a different approach to levels of transparency about equity.
Most companies do not grant full access to the cap table to employees beyond the founder group.
Many companies will give employees, especially key employees, a sense of their ownership percentage after future rounds.
Companies will typically provide less information to former employees who have left the company.
Exceptions to all of these generalities are somewhat common.
I wrote an article on this subject based on our experience with the 5,000+ companies and cap tables we manage on Capshare: https://www.capshare.com/blog/will-cap-table-transparency-he....
Yes, this is correct.
"Is it reasonable to expect the company to give me access to the full cap table?"
But, it IS reasonable for your contract to state what percentage of the fully-diluted capitalization of the company your stock options are granting you the right to purchase (at the time of the writing, or at a predetermined time in the future, like at the end of an round).
All that being said: All early employees are going to get diluted eventually (in most cases), and nobody has any way to predict how much dilution you're going to experience over time.
So, while it may make you feel better to know exactly what your options would be worth today, it's kind of irrelevant to what they'll be worth once you pass your vesting cliff.
The best protection, in that regard, is to only work with people you trust. If you're worried about being screwed-over by these people, and you haven't even started working there yet, that might be a bad sign.
In my experience working at seed stage, as an early employee having access to the cap table is a given.
At mid to late stage, it's the polar opposite. Funding rounds further complicate things because not all investors get the same terms / buy at the same valuation. With the information available to a normal employee, it becomes virtually impossible to value your own equity.
It's exceedingly frustrating to know you own x% of a company without knowing the total number of shares or the total valuation.
It's more than correct :(
Even if you knew the # of shares that had been issued, you'd also need to know the rights attached to each class of shares (e.g. some classes may have specified liquidation preferences) and also the terms on all outstanding options/warrants.
It sounds like you've already decided to take the offer (even without calculating the value of your 0.75%). So your only problem now is to verify that the # of shares in your contract matches the % in your offer. MalcolmDiggs' suggestion (getting the company to include the % that this represents on a particular date, in the contract) should be enough. That way, there's no chance of misunderstanding, and there's recourse for you if it turns out they lied.
You are an F-1, so you are forbidden from working as statatory employee (immigration law + employement law), except as OPT. You are forbidden from forming a single-member Sub S corporation (tax law). However, there isn't any reason why you can't act as a sole proprietor or single member LLC (depending on state law regarding LLCs). While this violates the spirit of the law, as long as you declare your income on a Schedule C the IRS (tax law) won't care. You will not be able be an employee of the company, but you should be able to take a draw or distribution. If you go this route, should should reserve 30% of everything you make to pay taxes and be prepared to pay estimated quarterly taxes.
If you plan on holding accounts overseas, you need to find a CPA that understands the requirements for reporting foreign holdings. You really need to be asking a good attorney along with an even better accountant, and be prepared to pay for their advice.
The following link seems a lot more informative:
If I had to guess: The OPT is extremely flexible - I know of people who literally sat at home unemployed the whole time. So I suspect it should allow you to found a company as well. If that goes well, and if you're able to raise VC funding, that should allow your startup to then hire you on a H1B, or extend your OPT for an additional 1.5 years.
But my main advise is to do a variety of google searches around the above keywords. That should give you a better idea of what your potential options are. Once you understand the problem space a little more clearly, find an immigration lawyer who's willing to do a consultation for ~$200/hour, and have them give you specific legal advise for your situation. Good luck.
I don't understand how you plan to start a business when you are being employed by someone else? As in I don't think you can be listed as a founder in the company that is offering you a H1B
> O-1? But it's supposedly a very hard visa to get?
> EB-5? But you need $500K-1M
Ultimately, it is not easy and only a few can work (not start a business) in the U.S. YMMV and you should probably talk to an Immigration Lawyer.
It's not black and white, and no library is going to solve all the issues. A pragmatic JS engineer is going to have to use many different tools in their toolbelt on a routine basis, it's just a matter of choosing the right tool for the job (which includes taking into account the environment you're working in and the code that already exists).
But in general, in my experience, callback hell is often a sign of an upstream design-pattern issue. If the procedure you're writing needs to call a series of 20 functions, in sequence, (and wait for them all to callback one after the other) you can probably implement it in a clean way that doesn't require your code to move evermore to the right. Frameworks like Express (which passes around "next"), and Mocha (which passes around "done") set great precedent of alternative ways to conceptualize those kind of issues. Achieving this in practice often means writing a combination of promises, callbacks, and other things.
Let's use NodeJS with Express and with pg-node. Let's say you have a database.
1. You define an Express handler to handle a get request. 2. In that handler, you connect to a database, which takes a callback 3. You create a query on that connection, this takes a callback. 4. You then write a function that feeds the query result rows into a CSV exporter, which takes a callback (because of course it does).
However, I've found that pipeline of promises almost completely solve that problem.
It depends on how much of your business logic must be synchronous and how much it relies on asynchronous operations. It also depends on what you consider to be hellish.
async/await is still cleaner than even a single promise, so you might as well use it.
Here is my nodejs algorithm so far:
- Code something ugly with 4-7 anonymous function levels - Realize I'm in callback hell - Refactor and make sure all functions have access to the variables they need. (Because the scope is often changed while refactoring) - Test - Repeat