To drive home the point of just how much I loved this book, I went on to learn French just so I could read it in the original print.
Make sure it's the full, unabridged edition (1200 or 1400 pages), though!
(Just to throw in a nonfiction title as well, Bill Bryson's A Short History of Nearly Everything is a great gift for scientifically-inclined minds (esp younger ones) looking for a first foray into the world of nonfiction, wittily-written and well-narrated.)
1. Vacuum Diagrams by Stephen Baxter. When I think of epic hard science fiction, the Xeelee Sequence books spring to mind. With a story line that spans millions of years (and a few dozen books), this collection of short stories is a good introduction to one of the best and most underrated sci-fi series out there. Baxter's Manifold trilogy (Manifold: Space, Manifold: Time and Manifold: Origin) are also fantastic.
2. Foundation by Isaac Asimov. The whole Foundation series is wonderful, but this book is a landmark of sci-fi that should be on any fan's bookcase.
3. The Martian by Andy Weir. This book is what I've been giving the last couple years to people who don't think they like sci-fi. Everyone I've given it to has loved it.
4. Rama by Arthur C. Clarke. Another hard sci-fi staple. The rest of the Rama books he "co-wrote" with Gentry Lee are decent but become more space opera than hard sci-fi. I enjoyed them but many sci-fi fans find them polarizing.
5. Silver Tower by Dale Brown. More of a military thriller than sci-fi (Flight of the Old Dog is another favorite of mine by him) and terribly dated by modern standards (it was written when the Soviet Union was still a thing). But it's the first "adult" sci-fi book I ever read as a kid, so it'll always have a special place for me.
EDIT: Another one:
6. Coyote by Allen Steele. I love stories like this one: primitive, longshot interstellar exploration and primitive, first generation colonization. Especially for desperate reasons. The first two Coyote books were good, but I just can't get into any of the subsequent ones.
It's a book I wish everyone would read, particularly everyone in a public office and the media. It's a shame that comparing politicians and their actions to Hitler has became a cliche everyone now is quick to ignore. Meanwhile there's plenty of stuff happening in the world straight from the Nazi playbook of the 30s.
Oddly, a lot of people hated the various more personal aspects of the book, as you see Cliff's friends, and his life as a whole. While that's valid, calling it a flaw in the book is, I think, inaccurate. The book as much a story a story about Cliff as the shadowy hacker on the other side of the wires, and that's a big part of its charm, IMHO.
Ghost in the Wires, and Exploding the Phone are also good, and true stories.
Lord of the Rings - I gave this to the guard who detained me in Russia. I thought it was the best revenge.
The life changing magic of tidying - to my partner. We're both messy. I've read it, she hasn't... neither of us have changed.
1Q84 by Haruki Murakami to the friend who lent me Wind up Bird Chronicle all those years ago and started me on the path.
* Good Omens, by Terry Pratchet and Neil Gaiman 
I wish Pratchett and Gaiman had written more books together.
Edit: add Amazon link.
Here are some books I've given as gifts recently:
* The Knowledge: How to Rebuild Civilization in the Aftermath of a Cataclysm, Lewis Dartnell
* The Black Swan, Nassim Taleb
* Siddhartha, Hermann Hesse
* The Happiness Trap, Russ Harris and Steven Hayes
* Code, Charles Petzold
Several scifi books have also been gifted to friends, mostly Asimov (both the Foundation and Robots series), Herbert's Dune, and Clarke's Rendezvous With Rama.
Also, gifted a copy of Our Band Could Be Your Life by Michael Azerrad, which is my favorite book about my favorite bands (and the American punk scene of the early 80s). The recipient was too young to remember the scene from that era, but was open to understanding why "punk" isn't so much a style of music, but an ethos.
Every book I've gifted is because I really love the book, and really like the person I'm giving it to.
here's a incomprehensive list in alphabetical order:
a people's history of the united states; howard zinn
a rebours; joris-karl huysmans
belaya staya; anna akhmatova
die verwandlung; franz kafka
epic of gilgamesh; unknown
ficciones; jorge luis borges
fractals: form, chance and dimension; benoit mandelbrot
gospels of mary and judas; unknown
i ching; unknown
la vida es sueno; pedro calderon de la barca
leaves of grass; walt whitman
letters of vincent van gogh
my life; isadora duncan
nightwood; djuna barnes
oku no hosomichi; basho
one piece; eiichiro oda
poems; emily dickinson
relativity: the special and general theory; albert einstein
saga; fiona staples and brian k vaughan
the brothers karamazov; fyodor dostoyevsky, translated by constance garnett
the first third; neal cassady
the power of pi; stickman lagrou graves
the secret life of salvador dali; dali
the way of a pilgrim; unknown
twelth night; william shakespeare
thing explainer; randall munroe
ulysses; james joyce
women, race, and class; angela davis
if you want a quick description of any i enjoy talking about them, and i appreciate suggestions
Every once in awhile, I'll have a conversation with friends about finances, and they'll complain about how much work it is to manage money, and I'll go home and order them this book. It's an easy $10 gift, and they've all told me it changed the way they approach finances. Good stuff. Cannot recommend it enough.
Admittedly, it may be a bit below the reading level for the average user here but I can't recommend this book enough. Especially for those of us that sit in front of a computer all day. Take a look at the reviews at Amazon which are numerous and nearly unanimous. Do yourself a favour and give it read.
Shameless plug -I posted a summary here: https://rkirti.wordpress.com/2015/12/05/learnings-from-the-d...
The four I remember gifting were Asimov's entire Foundation series, Joseph Conrad's Heart of Darkness, The Phantom Major by Virginia Cowles and See you in November by Peter Stiff.
Many of my friends are straight out of university, and it's a period where most people seem to start asking existential questions. The two books which have affected me greatly (and which I regularly give as gifts) are:
* Meditations by Marcus Aurelius* Man's Search for Meaning by Viktor Frankl
 - https://www.amazon.com/Pocket-Ref-4th-Thomas-Glover/dp/18850...
It opened the doors to the remote lifestyle for me and led me to switch to careers to tech (due to the abundance of remote opportunities) and to embrace a new kind of lifestyle.
I've given it away seven times & purchased it eight.
Like every book, it's different from the movie. I'm not going to say it's better than the movie, but I'm also not going say the movie is better either. Both are just so amazing in their own right that I adore them both.
The Black Swan by Taleb
Thinking Fast & Slow by Kahneman
Guns, Germs, and Steel by Diamond
The World According To Monsanto by Robin
The Organized Mind by Levitin
The Vital Question by Lane
Life Ascending by Lane
Chasing the Scream by Hari
Anything By Gladwell.
My favorite sci-fi story, I might even admit it is my favorite of all stories. I've given it as a real book but the experience really benefits from the e-reader format because, at least for me, there were many terms to look up and many sections that I wanted to notate for consideration later. It's a challenging book but a very thoughtful and rewarding read. Highly recommended.
But a great philosophy is below. People will appreciate the gesture and you'll never get cranky about lent books never returned.
It's a gift. Never lend a book.
All students should realize that history is written by the "winners" see US history from the perspective of the oppressed - Native Americans, slaves, women, the poor.
It's ground hog day, but on a lifetime scale. The search for happiness and what it means to be happy.
Had a run-in with serious burn-out about 12 years ago and had considered leaving software entirely and starting a landscaping business. This book was inspirational in that it helped me figure out what I might LOVE doing, and then made me realize it was right under my nose the whole time. I just needed to get a new job that appreciated and challenged me
* Ulrich Haarburste's Novel Of Roy Orbison In Clingfilm
Stopped smoking six years ago and haven't had the desire to start again since. it feels great.
I actually played the nintendo DS adaptation of the book, which was also available on ios for a while.
it turned all the points the book was trying to make into a series of minigames that really illustrated the principles beautifully.
Speak, Memory, Vladimir Nabokov. The pinnacle of the memoirist's art. I find it nearly uncreditable, Nabokov's facility with English, his 5th language.
Lyonesse, Jack Vance. Vance is the greatest stylist in 20th century American letters, and Lyonesse is probably his greatest achievement. Fantasy indebted to Celtic mythology, not Tolkien. Marvelous, poetic, pungent language in service of a wonderful story.
I also semi-frequently buy (by accident) a second copy of a book that I already own. Usually instead of returning those to the store, I keep them and just give them to somebody as a gift, where the "who" depends on what the book is.
I think when Rothfuss releases his final Kingkiller Chronicle book it might be my new intro series :)
Available in PDF now too: http://www.swaraj.org/shikshantar/LTAT_Final.pdf
This book was amazing.
It's a relatively short book and it's focus is on college fraternities (which is what I was in when I first read it). I bought about 20 copies and handed them out after reading it. While it has nothing to do with software development I have found it's core message to be applicable to working on a team. The core message is you can normally divide your organization up into 3 categories, these will not necessarily be equal in size. These categories are the highly motivated "top" go-getters who will do everything they can to help further the org, the "middle" who with the right motivation can work just as hard and be just as driven as the first group, and the "bottom" who rarely make more than minimum effort if that and are extremely unlikely to go out of their way for the greater good of the org. The book suggests to more or less ignore the bottom and spend your energy on "motivating the middle" to use them to their greatest potential. It says that spending your time on the bottom is a fruitless endeavor and will only result in alienating the middle people who are somewhat on the fence.
Now this applies much more to a community-run (in this case student-run) organization where letting someone go is often off the table (in greek life removing a brother/sister can be a much bigger challenge than one might assume). I do not bring any of this up to debate the pros and cons of greek like of which there are many (you can talk to me privately if you wish to do that), but just to bring some clarity to what I'm trying to say.
Often as an employee not in a managerial role you are in a similar situation and while I'd be a lier if I said I always applied this logic but I do try to always remember that being annoyed/angry with under-performers is, in all honesty, a zero-sum game. It's best to focus on what I can do to make the place I work better and work to bring the "middle" to want the same.
It's probably not the best book to bring up here but it's really the only book I'd ever bought for more than 1 person (and the only one that I didn't by for purely entertainment/enjoyment reasons, I've gifted fiction books on a number of occasions).
Peopleware: Productive Projects and Teams (3rd Edition) https://www.amazon.com/dp/0321934113/ref=cm_sw_r_cp_apa_1Y6P...
(Edit: I just looked at the Amazon page and realized the book seems to cost about $200 used -- can that be true...?! I think I paid $30 for it. Maybe I should have kept it.)
Of the top of my head some books I gave my brother included Salt, Siddhartha, and Shantaram. There were others that didn't start with an S as well.
Mainly because I think the book has so much great quality photo essays, worth keeping it for a long time, sit down, flip it through from time to time and enjoy the beautiful stories.
Non-Fiction: How to Win Friends and Influence People by Dale Carnegie
Technical: The C Programming Language by Kernighan and Richie
Given them to 5+ people over the years and every one has loved them.
I and my kids have enjoyed all of Graeme Base's books, but The Eleventh Hour is particularly good and have given it to many kids and adults:http://graemebase.com/book/the-eleventh-hour/
I am also thinking about giving Yertle the Turtle By Dr. Seuss out to anyone I meet before the election:https://en.wikipedia.org/wiki/Yertle_the_Turtle_and_Other_St...I have given many Dr. Seuss books away as well.
* Perennial Vegetables by Eric Toensmeier--eye opening list of vegetables that come back year after year
* The Hard Thing About Hard Things, by Ben Horowitz. Somewhat presumptuously, I bought multiple copies and sent them to some of my friends/acquaintances that were CEOs.
* Climate Wars, by Gwynne Dyer. This mix of fiction and non fiction really brought the climate change crisis to my attention.
"Is God a Mathematician?" by Mario Livio
It is a wonderful exploration and history of math, science and light theology (mostly historic though. the book is written by a mathematician).
I still wonder frequently if math is human made up thing or is it innate. Is the universe inherently mathematical? Can we prove it?
Thinking fast and slow by Danny K
Antifragile by Nassim Taleb
Algorithms To Live By by Brian Christian & Tom Griffiths
I thought about giving fictional books to people, but it seems to personal a present for a work acquaintance
Just kidding. I did give a friend The Go Programming Language by Donovan & Kernighan, though
Poor Charlie's Almanack - It's one the books that Warren Buffet always recommends. I gotta say though that I don't get why. But it makes a good gift since it has good "coffee table" value because of the many illustrations.
The Elements of Typographic Style by Bringhurst (design) - Most designers I know already own a copy, but interesting for laymen.
The Little Schemer by Friedman & Felleisen (programming) - Fun and educational for anyone interested in programming, at just about any level.
Because it changes the way you see the world.
* Persepolis, first version
* Dark Angel, by David Klass
I've just started reading "Flowers for Algernon", I guess this can also be a good birthday present. I think gifting books is something very difficult, in my experience I never wanted to get books for present.
Obviously this is a selection for someone who likes to read serious nonfiction and is interested in the science of climate change and what we might be able to do about it.
I've mentioned the book on HN before and got an unenthusiastic reception, but I loved it. The author does an excellent job avoiding both knee-jerk skepticism and knee-jerk credulity, and it's so well written I could hardly put it down.
Gleick: The Information
Michener: The Source
Martin: A Song of Ice and Fire (all of them, digital)
It has all of science fiction classics, but focuses on a guy who can live forever and attempts to experience everything. Of course this leads to some strange events, and is definitely worth a read.
- The Intelligent Investor (Because people ask how do I invest)
- Fooled by Randomness (Same ideas as Black Swan but oriented towards the markets)
Great primer on mindful meditation.
It's a book I wish everyone would read, particularly everyone in a public office and the media. It's a great book for friends with kids under 6 or so. If you find the tactics in this book reprehensible and vile, it's even more important that you read it so you are not taken in by them. People do these things because they work. Several scifi books have also been gifted to friends, mostly Asimov. Stopped smoking six years ago and haven't had the desire to start again since. It feels great.
Since this was discussed here recently (in sad circumstances), I'll just say that everyone who might be involved with kids, either as an educator or parent needs to read this book. And it was great to read when I was a kid, too!
Skunk Works, by Ben Rich
Shirer's Rise and Fall of the Third Reich, to a fan of history
Meltdown by T. Woods (cool guy, Austrian Economy)
The Witcher by A. Sapkowski (Fantasy, but It reads well only in polish language)
"Quiet" by Susan Cain.
"Hackers" by Steven Levy.
If asked, I would say those aren't the books I've found most amazing but they're the ones I felt compelled to give as gifts.
Karin Boye: Kallocain
Ray Bradbury: Fahrenheit 451
Raymond Chen: The Old New Thing
I was surprised to find out how old this text was. It hasn't aged a day!
Madelaine l'Engle's A Wrinkle in Time. A quite profound children's book with lifelong impacts.
Frank Herbert's Dune introduced true complexity into storytelling for me.
James Burke's books Connections and The Day the Universe Changed, and their accompanying television series, were a profound introduction to the history of technology, science, ideas, and philosophy. Though 30+ years old, they remain highly current and relevant.
Jeremy Campbell's Grammatical Man (1984) introduced the concepts of information theory and their deep, deep, deep interconnections to a tremendous number of interconnected systems, many not explored within his book. Darwin's The Origin of Species, James Gleick's Chaos, and many of the works of Santa Fe Institute members, including John C. Holland, J. Doyne Farmer, Geoffrey West, W. Brian Arthur, David Krakauer, and Sander van der Leeuw, continue these themes.
William Ophuls' Ecology and the Politics of Scarcity (1977) is perhaps the best, most comprehensive, shortest, and most readable exposition of the fact, reality, dynamics, and interactions of limits on the present phase of fossil-fuel fed economic growth I've found. This is a book I recommend not only for the message, but the author's clarity of thought and exposition, his meticulous research, exquisite bibliographical notes, and, given the nearly 30 years elapsed, testability numerous of his predictions, some failed, yes, others uncannily accurate. Rather more the latter. In a similar vein, William R. Catton's Overshoot looks at the ecological dynamics in more depth, with much wisdom, the writings of Richard Heinberg cover the ground of limits fairly accessibly and more recently. Vaclav Smil in numerous books addresses technical factors of the profound nature of the past 250 years, and implications for the future. Meadows, et al, in Limits to Growth set off much of the post-1970 discussion (though they're hardly the first to raise the question -- it dates to Seneca the Elder),
Though hardly pessimistic, Daniel Yergin's book The Prize (and TV series) impressed upon me more than any other just how much petroleum specifically changed and transformed the modern world. Though intended largely as laudetory and championing the oil industry by the author, my read of it was exceptionally cautionary. The impacts on business, everyday life, politics, wars, industry, and transport, and the rate at which they occurred, are simply staggering. You can continue this exploration in Vaclav Smil's Energy in World History (1994) (I've recommended Smil independently elsewhere), and a rare but profound two-volume set I'm currently reading, Manfred Weissenbacher's Sources of Power: How energy forges human history (2009). The shear physicality of this book speaks to the message -- it's divided into five parts: 1) Foraging Age (6 pages), 2) Agricultural Age (156 pp), 3) Coal Age (160 pp), 4) Oil Age (296 pp), and 5) Beyond the Oil Age (142 pp). That is, the ~2 million years of pre-agricultural existence are little more than a footnote, the 8,000 years of agriculture roughly equal to the 150 years of coal, and the 100 years of petroleum use roughly twice either. The oil and post-oil ages comprise their own volume. Yergin followed up with The Quest, continuing the search for oil, though I've been less impressed by it.
Adam Smith's An Inquiry into the Nature and Causes of the Wealth of Nations is among the most-cited (and most incorrectly cited), least-read books of high influence I'm aware of, outside religious texts (and perhaps it is a religious text to some). The author's message has been exceptionally shaped and manipulated by a powerful set of forces, quite often utterly misrepresenting Smith's original intent. Reading him in his own words, yourself, is strongly recommended. I'd also recommend scholarship particularly by Emma Rothschild and Gavin Kennedy, though also others, on Smith. Contrast with the portrayal by the propaganda disinformation front of the Mont Pelerin Society / Atlas Network / so-called Foundation for Economic Education, and much of the modern American Libertarian movement (von Mises, Hayek, Friedman, Hazlett, Rothbard, and more recently, Norberg). Contrast The Invisible Hand (1964), a compilation of essays published by Libertarian house Regnery Press in 1966, at the beginning of the rise in public use of Smith's metaphor to indictate mechanism rather than an expression of the unknown.
There are numerous editions of Smith, I believe the Glasgow is frequently cited by Smith scholars: https://www.worldcat.org/title/glasgow-edition-of-the-works-...
I'd like to put in recommendations on technology specifically, but am still searching for a good general text. The material's covered somewhat in the chaos and complexity recommendations above (Campbell et al), though I'd add Joseph Tainter's The Collapse of Complex Societies. Charle's Perrow has several excellent books including Normal Accidents and Organizing America. I'd like to reference something concerning Unix, Linux, and programming, perhaps Kernighan and Pike's The Unix Programming Environment, Linus Torvalds' Just for Fun, Richard Stallman's The GNU Manifesto, and Steve McConnel's Code Complete. The O'Reilly book Unix Power Tools also encapsulates much the strength of the Unix toolset. All these are somewhat dated.
Didn't work sadly.
- Atlas Shrugged, by Ayn Rand
- The Alchemist, by Paulo Coelho
I think it's a wonderful and amusing book, full of philosophical and political meaning that can be read at almost any age.
I've given probably 10 copies to family and friends with kids and it's been universally liked.
And yes, computing is about data and algorithms and nothing else. Don't fall into the trap of new names of same concepts. Always think about problems in terms of data and algorithms and no other bullshit like objects, patterns that so called software engineering piled up in search for a silver bullet.
I think this is a false sense driven by HN and the like. Startups playing with new things made me feel that my Java centric knowledge was outdated. They would say, "look at the scale we achieved with clusters of Node and Mongo." When I looked at what they were doing, what they actually produced the sheen faded. A generation spent on ads.
Then I turned my attention to a problem that I have and to another faced by my clients. This gave me clarity. Stay aware of new tools and techniques, but realize they are just tools and techniques. Don't lust after them. Rather look how and if they can be applied to your problems. Look if they are a better fit. See if they can help you achieve your goals in a compressed timeline. Then dig in.
As for teams and deadlines, that is not really a matter of tech. Poor teams occur even in the newest tech. I've seen people totally misunderstand, at best, and squander Hadoop and its tooling. I've seen systems that used proper decoupled design rot into a quagmire of failure due to people not reading about software architecture or the tools in the stack. You have to power through this. In such situations, I've seen first hand that people want leadership even if during the process of asserting that they despise you.
Here's what I learned when recovering from burnout (it took a year): the reason you do something dramatically impacts whether you're able to enjoy doing it. This is why being a prostitute is not the best job ever. I recommend to all of my artist friends that they find a job that pays the bills so that they can do art on evenings and weekends. This prevents them from coming to resent their art as necessary to live. Why do we let our need to buy things strip away the joy from things we enjoy most?
I do want to say that it's not your lack of focus which is the problem. It's good to be curious and try new things. There are some people that thrive because they spend their lives being the best at one thing, but many of us are valued because we're really good at a lot of different things.
Make sure that you have hobbies that are not technical. I like photography. You'll find that being an interesting person, you'll attract other interesting people (and opportunities) to you.
Finally, always make sure that anything "work" related that you do, including programming, that you do in the context of having a problem to solve or a project to finish. Even if you're the one with the project or problem. The key is that problem solving is how we learn to use tools and the reason we retain knowledge. You know a language or tool not when you have the API memorized (forgotten next week!) but when you have developed your instincts suitably to know how you'd use it to solve a problem.
People don't pay you to know everything, they pay you to be faster/better at figuring out the solution than the others.
Anything worth doing in life is hard. Good luck and have fun.
Here are some of courses that you might (read: actually I am) interested.
https://www.edx.org/xseries/data-science-engineering-apache-...(3 courses on Apache Spark using PySpark and introduction to simple machine learning and distributed computing)
https://www.edx.org/xseries/genomics-data-analysis (3 courses on R, next-gen genomics sequencing, annotation and some more cool computation protocols involved with CHIP-Seq and RNA-seq).
https://www.coursera.org/specializations/scala (4 courses + capstone, spearheaded by Martin Odersky; the guy who is the big-wig in the Scala community).
Also, I'd recommend taking the verified tracks for all of them. This will force you to complete them as money is on the line (if possible ask HR/your boss if it's related to your work, for tuition reimbursement benefit).
Seldom does using a different language fix anything. Programming is programming.
Excercise can fix your life outlook. Better teammates can change things. Nicer boss. But seldom will language or business do that much do your day to day life.
If you can't, move to another country.
Edit: And try making it more than just a cursory whim. Write up a whole document of what you do and how you plan to do it, as if someone else had to approve it. That really tests your resolve up front.
I don't know much about tech in Italy but I have heard the same complaints -- culturally, Italy doesn't have high standards for quality in technology. If you struggle with that, then there are two solutions: work for a US or Israeli company, remotely if you can, or start your own business.
If you want to start your own business, I'd recommend starting a solo software consulting practice first, that way you know you can make some money on the side while building your business.
in my country (Italy) there is no importance (or almost) to quality of projects (especially Technically), you have to face with ridiculous deadlines, poor team mate (in order of thech knowledge) and tremendous customers.
Moving into a different field (one which is more specialized than generalized-enterprise-business development-in-yet-another-problem-domain) won't fix any of those things.
i constantly feel interested in IT Security, then low level programming (C/C++) than again "new" languages like GOLang, RUST etc.. i can't focus on nothing, i think it's due to my work frustrations
So, the question: Is an inability to deliver on hobbies, and convert them into productive professional skills, driven by miserable distractions? Nah. Whether you make something of them, isn't going to be the cure of the things that you find frustrating, BUT the time you spend tending to frustrating tasks will be time that is poorly spent, under any circumstances. Fluffy bean-counting busy work will eat up the precious moments of your life, no matter the career.
So, now you'd like to migrate your skills over to newer hoobyist interests, that you've explored tangentially? Makes sense, but it won't solve the human factors stemming from social circumstance. Nor will it prevent unfulfilling, soul-crushing toil from creeping into your newfound career path.
It WILL, however, temporarily cure your wanderlust, and relieve that dreaded sensation of stagnation.
I dunno, try this, for starters:
LinkedIn founder Reid Hoffman looked back over his career and cited his biggest career mistake as not leaving Microsoft for Netscape. At the time, Netscape was where all the innovation was happening. It was spouting out entrepreneurs. The right question wasnt how can I learn to be a product manager? It was, how can I get in the building at Netscape?
The right tool for launching might be the one that requires the fewest trips to StackOverflow via Google, or maybe that idea is not an important optimization to your workflow.
If those technologies excite you, great! Maybe you'd rather do security / be a generalist. Just make sure that's the path you choose rather than just looking for escape from boring enterprise software. If it's that, then see other answers and take a break.
What is stopping you from doing it?
What can you do to remove the obstacles?
Can you work around the obstacles?
Note: Whenever I find myself in such situation these questions help figure out the next step. I posted them with hopes to help the OP.
Personally I find trying to work on an OSS project the best way to "try-before-you-buy".
If you can take a >1 week you can program for fun after 5-7 days and get a sense for what interests you without work interfering. If you can only take a shorter vacation have fun and do something outside of technology and relax.
Consider working on a side project in the weeks following a break and hack on small projects that interest you. If you want to leave the .net space find local companies working on interesting problems.
Ask to get coffee with anyone in your network (or outside) to get information about other parts of the industry/other companies and methodologies.
All in all take a vacation and then spend 2 months hacking on projects and talking to anyone in any part of the industry around your area (or potential prospect cities).
> I am interested in security, c, go ect...
Talking to people actually coding in a language, securing infrastructure, doing X, will be a lot better then learning Go for 2 months and finding out that it didn't help with your core goals.
Take a break. Expand your professional circle and knowledge base. Format a plan based on that info. Execute
Since this is mostly work related, I'd say change your job. You want to find a place where you can work with psychological safety. Psychological safety is the condition where you feel safe to take risks, and be vulnerable to people you interact with. It's proven (https://rework.withgoogle.com/blog/five-keys-to-a-successful...) to be the most important factor in success and employee satisfaction. You cannot achieve this by yourself, it is dependent on the work culture of your workplace, and unless you have enough authority to change the work culture, you'll have to keep switching job until you find a place that has the culture you need to have psychological safety.
Trust me, at first glance, two jobs might appear similar, but work culture is a very subtle arrangement of tiny details that add up to be the most influential factor, and so, it's really hard to know without just trying the work for a few months. But also, each and every workplace will have a vastly different culture. So try other jobs, it's worth it.
Now about your lack of focus, that's normal. Try to work at two levels of attention. Off course, you want to have some fun, learn some new things, be curious. This is your intrinsic motivation, and do not kill it off by trying to tell yourself you need to focus and bore yourself to death to become more "professional". Don't try to have rewards take over it either, value a lesser paid job if it allows you more creativity and freedom for you to learn and try new things. This is the first level of attention, you enjoy the details, the tech for tech's sake. Now also try to think more about the second level of attention, imagine all the code you write is assembly language, and even though such details are interesting, it is mostly the case because it is also easy for you to work at that level. So spend some time learning about the higher level. What happens if I consider all algorithms to exist as tools for me to use, what problems can I become interested in solving at that layer. This is when you realize it takes you closer to business problems. How do you optimize the business needs, with the tools you have. How do you arrange multiple systems together to scale, etc. Unfortunately, most people's CS degree didn't go there, and so going to that level is hard, and most people find hard things less interesting. If you put some more thoughts into hard things though, they start to become easy, and suddenly, interesting again.
Italy is so far behind when it comes to the internet adoption, it's not funny. It's also a rather poor country, especially among the young generation, many young people live with their parents till 35-40. So you're much better off making (or working on) a project that faces some of the more developed countries (US, Australia, UK, Germany).
Focus: its healthy to try lots of different things, there are lots of interesting areas. Maybe if you can get a better job, they will be using a particular new technology, and then that will motivate you to focus more on that.
There might be a division in your company dealing with newer technologies. You can try to switch there, or try to join a startup that is more akin to your technology preferences.
Regardless of what you prefer, I strongly suggest that you join a meetup (see meetup.com) that is related to your interests. You will be learning new things and connecting with people that share your interests. If you lack the time, hang out in IRC channels and join interesting conversations.
I quit my job the next day.
This was the beginning of the end. Like with all drugs, there is a slippery slope. You start with marijuana, and you move onto heroin. In my case, I graduated to:
"Formal Methods of Software Design": http://www.cs.toronto.edu/~hehner/FMSD/
After that I read: https://www.amazon.com/Predicate-Calculus-Program-Semantics-...
Now in general I am quite depressed:
* I am very judgemental and look down upon most HN posts, especially the ones that praise Alan Kay, natural language programming, or view programming as a "craft" rather than a "science"; my favourite HN feature is the "hide" button
* I am disappointed with my math education, and tired of all the rabbits being pulled out of hats in my textbooks
* I wish I had enough will power and discipline to write a programming language that is nothing more than predicate calculus, but I don't
I foresee that as a result of these readings, I will die alone, sad, and depressed...oh AND penniless.
I wish I was joking.
That's a pretty huge impact.
My 3rd grade class had a set, and I devoured each one. They turned me into a nerd thanks to a teacher who told me to never stop reading.
Convinced me that I absolutely wanted to do backbone ISP network engineering on a grand scale. It's taken a while to get to the level of knowledge where one is trusted and confident working on circuits that can take whole countries off the internet if you fuck up, but very much worth it.
It is beautiful app with many integrations(Zendesk, Jira, Trelo, Slack, etc) and many features which helps you to conduct research, prioritize what to build next, communicate plans and progress.
Hubert, the CEO of PB, is also very active on Medium where he writes about product management - https://medium.com/@hpalan
(2) I check my field's arXiv every other day or so.
(3) Google Scholar alerts me of papers that it thinks will interest me, based on my own papers, and it's very useful. Most of what it shows me is in fact interesting for me, and it sometimes catches papers from obscure venues that I wouldn't see otherwise. The problem is that you need to have papers published for this to work, and also, it's only good for stuff close to your own work, not that much for expanding horizons - (1), (2) and Google Scholar search are better for that.
Ok, it doesn't need to be your paper. Just find a paper that was so influential that others working on the same problem probably will cite it, and monitor the new citations.
So, if you want to see a reddit for research, better news feeds, etc., it is the SHARE dataset that can provide that data. SHARE won't build all those things--we want to facilitate others in doing so. You can contribute at
The tooling is all free open source, and we're just finishing up work on v2. You can see an example search page http://osf.io/share, currently using v1. Some more info on the problem and our approach....
What is SHARE doing?
SHARE is harvesting, (legally) scraping, and accepting data to aggregate into a free, open dataset. This is metadata about activity across the research lifecycle: publications and citations, funding information, data, materials, etc. We are using both automatic and manual, crowd-sourced curation interfaces to clean and enhance what is usually highly variable and inconsistent data. This dataset will facilitate metascience (science of science) and innovation in technology that currently can't take place because the data does not exist. To help foster the use of this data, SHARE is creating example interfaces (e.g., search, curation, dashboards) to demonstrate how this data can be used.
Why is SHARING doing it?
The metadata that SHARE is interested in is typically locked behind paywalls, licensing fees, restrictive terms of service and licenses, or a lack of APIs. This is the metadata that powers sites like Google Scholar, Web of Science, and Scopus--literature search and discovery tools that are critical to the research process but that are incredibly closed (and often incredibly expensive to access). This means that innovation is exclusive to major publishers or groups like Google but is otherwise stifled for everyone else. We don't see theses, dissertations, or startups proposing novel algorithms or interfaces for search and discovery because the barrier of entry in acquiring the data is too high.
What should I be reading? I'm a computer science student, I want to go into a "Software Engineering" line of work. Are there any places to read up on related topics? I have yet to find something that interests my direct field of choice. Is there one on in academia writing about software?
I also like NLP and other interesting parts. Basically all practical software and their applications are things that interest me.
You're welcome to try it (not sure if the signup workflow still works; let me know). I'll be happy to hear your feedback.
Edit: you can upvote papers, and they'll float to the top just like on HN.
- OSDI- SOSP- FAST- EuroSys- APSys- NSDI- SIGCOMM- ATC- ISMM- PLDI- VLDB
These days, accepted papers in specialized conferences are actually on mixed topics these days.. like you'll see security and file systems in SOSP
If there's a fundamental new result in basic CS or something like that, I figure I'll hear about it on HN or another news site.
I can imagine it's different for people actively working on new research, though.
I hope it catches on.
Others have tried and they don't get enough traffic to get it to take off but since low levels of hosting are free, I could just keep it out there for a long time.
Karpathy's http://www.arxiv-sanity.com/librarysubscribe to archive email lists
Semantic Scholar (no notifications) is good for manually finding things
Google Scholar notifies you when your papers get citations... Unfortunately they don't have a way for you to get notified if the paper is not yours.. so I made a few fake accounts that add papers to the library as if they are the author and then I set up a forwarding to my email. (really wish they would just expand the notified of citations feature to your library and not just your papers but whatever)
They index a whole bunch of sites and repos to provide a recommendation engine tailored to you and your field.
I help build a product called BrowZine . It's focused on researchers at an institution - academic, private, and medical especially - who want to easily track the latest research papers in their favorite journals.
If you have login credentials at one of our institutions, please login and try it out! We think it's a great way to discover what journals your school/hospital/organization subscribes to, and My Bookshelf lets you save favorite journals for later, and keeps track of new articles as they are published.
If you don't have login credentials at a supported school, you can try out the Open Access library with just OA content.
Give it a try - we have a great team trying our best to make it easy to stay up to date with your journal reading! Love to hear your thoughts.
I scan the emails during weekly meeting.
I basically just check my twitter account daily (also follow many great researchers who have twitter accounts :))
Further more I follow other people interested in this field on twitter/google +/facebook, some of which are researchers in this field.
Moreover when a major conference's program is released I try to look into the proceedings.
You can also use the rss feeds with a service like IFTTT or Zapier to set up an alert system.
Also, the more experienced researchers all seemed to be have many connections to other researches through which news propagated.
Finding out how to identify the relevant older work in your field, finding it, reading it, and seeing for yourself how it's aged, been correctly -- or quite often incorrectly -- presented and interpreted, and what stray gems are hidden within it can be highly interesting.
I've been focusing on economics as well as several other related fields. Classic story is that Pareto optimisation lay buried for most of three decades before being rediscovered in the 1920 (I think I've got dates and timespans roughly right). The irony of economics itself having an inefficient and lossy information propogation system, and a notoriously poor grip on its own history, is not minor.
The Internet Archive, Sci-Hub, and various archives across the Web (some quite highly ideological in their foundation, though the content included is often quite good) are among my most utilised tools.
Libraries as well -- ILL can deliver virtually anything to you in a few days, weeks at the outside. It's quite possible to scan 500+ page books in an hour for transfer to a tablet -- either I'm getting stronger or technology's improving, as I can carry 1,500 books with one hand.
That's a link to the various sites, blogs, updates that I subscribe to, Phronix and Ars are both a bit noisey but other than them the rest I take good care to keep up with.
I personally think it's fantastic that RSS has made such a come back (some would say it never actually went away), it' such a simple, useful tool that's easy to integrate with just about anything.
Another interesting discussion I enjoy having is finding out how people read / digest / discover feeds:tldr; I use Feedly to manage my rss subscriptions and keep all my devices in sync, but instead of using the Feedly's own client, I use an app called Reeder as the client / reader itself.I can see myself dropping back to a single app / service, which would likely be Feedly but for me Reeder is just a lot cleaner and faster, having said that I could be a bit stuck in my comfort zone with it so I'm open to change if it ever causes me an issue (which it hasn't).
I use a combo of two tools:
Feedly - https://feedly.comRSS feed subscription management.
- Keyword alerts
- Browser plugins to subscribe to (current) url
- Notation and highlighting support (a bit like Evernote)
- Search and filtering across large numbers of feeds / content
- IFTTT, Zapier, Buffer and Hootsuite integration
- Built in save / share functionality (that I only use when I'm on the website)
- Backup feeds to Dropbox
- Very fast, regardless of the fact that I'm in Australia - which often impacts the performance of apps / sites that tend to be hosted on AWS in the US as the latency is so high.
- Article de-duplication is currently being developed I believe, so I'm looking forward to that!
- Easy manual import, export and backup (no vendor lock-in is important to me)
- Public sharing of your Feedly feeds (we're getting very meta here!)
2. Reeder - http://reederapp.com
A (really) beautiful and fast iOS / macOS client.
- The client apps aren't cheap but damn they're good quality, I much prefer them over the standard Feedly apps
- Obviously supports Feedly as a backend but there are many other source services you can use along side each other
- I save articles using Reeder's clip to Evernote functionality... a lot
- Sensible default keyboard shortcuts (or at least for me they felt natural YMMV of course)
- Good customisable 'share with' options
- Looks pleasant to me
- Easy manual import an export just like Feedly
- Now can someone come up with a good bookmarking addon / workflow for me? :)
Edit: Formatting - god I wish HN just used markdown
You can't determine much from a technical interview. It's best just to ask what they worked on before and explain the new job to them. If people are serious about the job and find it challenging they will stay.
Just think about it. Who would want to lie and get into a job where technical challenges are beyond them? Sure you get a nice salary for a while but then it becomes obvious you are not doing much, you are bored, or can't get up to speed.
The flipside is any firm that can't fire people fast probably has many more issues than just technical interviews/hiring people.
Hiring fast is good sign. Letting go of the appropriate people in a timely manner is also a good sign. Being stuck interviewing people over a span of 3-6 months for the perfect candidate shows indecisiveness or lack of leadership/teamwork. It also means they will spend 3-6 months to let go of that really horrible employee.
Having the team meet candidates means the boss needs signalling from his team to get some type of approval. This is usually a bad sign. I get the whole "cultural fit" concept but it begs the question, besides technical requirements what are you really trying to filter out...
I understand getting buy-in from the team but if your team doesn't respect your choices why are you in charge? Just leave everything to a group vote... There should be some mutual understanding that the current team will respect and work alongside the new employee. The new employee should also understand they need to get involved... If this is not happening you have a leadership problem...
The other time, I was hired after two phone calls. I talked about my previous work. I sent them a code sample I had laying around. That was it. I didn't stay there long. The company had high turnover because they liked to micromanage their developers. That fact never came up in those phone calls.
There's been a lot of discussion on HN about the ineffectiveness of interviews for assessing a candidate's work performance. What gets talked about less is that it's also ineffective for potential employees to assess their future employer. When I took the above job, it sounded great. The work was interesting. The people were fun to talk to and to work with. It was 100% remote, so no open office plan. It was everything I wanted in a job. A month later, the micromanagement started. Two months later, I was updating my resume again.
That said, I might counsel either a) getting good at interviewing or b) getting good at avoiding interviewing by pre-qualifying yourself to hiring managers. My rationale for this is pretty simple: the best jobs in software (project selection, monetary rewards, stability of company, desirable working conditions, coworkers who can find their way out of a paper bag, etc) typically lie after an interviewing process. Given that this is true, and that you'll spend +/- 1,000 hours working for every hour you spend interviewing, optimizing for your interviewing experience doesn't sound like it is in your long-term interests.
But given that the world isn't ideal, there are times when we just want a job - it seems you are in such a situation?
In that case, I'd say start with people who know you and your work. They are likely to recommend you, leading to an easier evaluation.
If you are doing this without anyone's recommendation, then start with companies that are not core tech companies. e.g. Hospitals, academic institutions, cheap dev shops and firms whose needs are just a bit more than IT. Their gauntlet is usually lighter weight.
I wouldn't suggest that unless you're desperate for a job and/or experience. You'll get tons of work experience you may not have gotten at a more stable company, but that's offset by the chaos you'll see on a day to day basis.
I don't care about what technologies that company may work with. I can learn any technology.
I'm in an industry that lots of people want to be in. We get lots of applications. Some filtering must be done. The basic interview is one filter.
The wrong candidate affects my company. That means it affects my employees too (most?). A critical part of the filter is to determine if applicant who WANTS to be here will fuck things up for the people I NEED to be here.
Its not just about you.
If you live in SF, just go to meetups and coworking spaces and conferences and all that stuff.
Long answer: it's a risk game, you may get away by showing that you have processes in place to manage this risk for open source projects: * internal backup of the source tree. * in-house skills to perform basic patching of the software if the development get discontinued. * alternative solution and roll-out plan in case the development of your current solution gets discontinued. * ...
Finally, risks can be accepted and someone ("the business") can sign-off on them. You don't have to remediate everything. It's just an awareness exercise for "the business".
1. They can't. Someone can decide to stop working on a project, but it can not disappear.
2. You know what can disappear? commercial products.
Here's a DOD guide to OSS, it might help a bit? Very interesting that the Government defines OSS as a subset of commercial software - "commercial" means anything available to the public, as opposed to private software. They do not distinguish between paid and free software or between companies and individuals.
See specifically the section "Why is it important to understand that open source software is commercial software"
Also see "Is there any quantitative evidence that open source software can be as good as (or better than) proprietary software?"
And there are links to resources for evaluating OSS licenses.
There are entire vendors who specialize in selling open-source software with commercial support; Red Hat is the most famous example.
Focus on growth of both top and bottom lines, and highlight margin improvements over the 4 years and 4 projects. Try to quantify your accomplishments in dollar figures since they stand out more. Statements such as "Grew revenues 50% YoY from $0 to $X million over 36 months" will quickly catch anybody's attention.
Throw in some specific, targeted technical phrases that are keyword friendly and you'll easily be an outstanding candidate.
Be prepared to explain why you'd want to join the target company and not stay at your current company.
TLDR: Hiring managers hone in on results, not only titles. Quantify your business impacts and list your technical accomplishments.
EDIT: Regarding my comment about quantifying your margin impact, for those that don't know, "margin" and "markup" are not equivalent. Thankfully it's really easy for technically inclined folks to grasp this insanely useful financial concept.
Shamelessly, don't hesitate to reach out if you might be interested - we're hiring in all areas, and I would especially love to chat if you or your co-founders are looking for engineering, PM, or marketing roles :)
The fact that you've held a job for more than just 6 month stints is enough to push you all the way to the front of the line. Most applicants we see just do 6 months here and there. I refuse to hire anyone that hasn't stayed at a company at least 2 years (excluding new grads). 4 years is pretty much a unicorn nowadays.
For the resume I focused on the journey's small wins, just bulleted. I had no revenue numbers to share, so just highlighted what was achieved in what time.
It was very hard, but what I figured quickly was that the resume mattered way less than the people i pushed it to.
1. Sent linkedIn connects to a crazy number of startup founders (50-100 daily), apart from the usual HR connects. side note : i bought linkedIn premium subscription at about $40 a month to cover my search limits.
2. Whoever connected back (10-15%), I shot them a crisp email telling them I'd like to meet for startup advice and/or opportunities with a one liner.
3. Whoever responded with 'No', I politely asked if they could recommend someone they knew who'd like to connect.
4. Whoever responded with maybe/Yes (5-10% of the connects), immediately tried to set up a time within the next 2/3 days. Could be a call/meeting/skype/anything.
Note: the eMail always
a) had a touch of personalisation.
b) was no more than 3 lines
c) included my product snapshot as an attachment
d) ofc, had resume attached and contacts+linked in profile link included in signature.
Met great people along the way, will surely help in future. And met one of the best founders in my country - he made me join his company Nearbuy (Groupon India). The hunt took me 6 months, partly because I had 2 hard filters a) not going to wear a suit to office..so consulting/finance was out b) no politics..so most corporate jobs were out.
Takeaways: Seek help like crazy. Your passion and hardwork at your startup is your resume, nothing else will matter.
- have a clear, simple story to answer "why are you (single person) leaving the startup". You'll be asked at every interview (and if multiple people apply to the same company, you want a coherent answer). Include that you all are leaving if this is the case -- the risk is that you (single person) are seen as one giving up
- list down 4-5 main achievements. Make sure there are 1-2 which are not co-done, but you can state "this was mostly my own achievement". This is the hardest part, but if you're still working together you can easily agree on how to split
- make sure to clearly tell 1 story, which doesn't need to be the one of the startup, but the one for which you're seeking the new job position -- if I'm looking for a position as data scientist I'll focus on my research experience, if I'm looking for devops I'll focus on security, etc.
- in linkedin specifically, if it applies, link some press or some blog post, or anything I could spend time digging in to get to know you more -- if you feel that the list of jobs is not enough, help me finding more info about you
From the other side of the table, when I look for people to source/interview, I look at the total working experience. Wether it's 4y in a single company or 2+2 it doesn't make any difference. I personally (I see others can disagree, but this is me) see as a yellow flag a 1+1+1+1 experience, simply because I fear you'll leave my company after a sole year.
(If you'd like to chat more feel free to ping me via email.)
Awesome Great Company I started: 2014 - Present
CEO/HR - I was responsible for ...
CEO/VP Sales - I successfully sold 4 large projects which resulted in ... sales ...
CTO/Tech Lead - I designed, built, tested ... Also, created a complete automated test suite... using NoSQL, Android...
But like many have said here if you write on your resume what you have actually been building over the last couple years you should be fine. Being able to clearly talk about your experience is more important.
- this job for which I'm applying, what do they REALLY need, and which 3 to 5 bullet points capture my competence and accomplishment in this area
- how is this company like mine, and how can I communicate the similarities to my experience working w/ others, building a certain type of product, applying domain expertise, etc.
- what story will I tell if/when they ask, "So do why do you want a job when you've been your own boss for so long?" Maybe something like "You know, what I really like to do is make an impact doing X, and that's something I get to do in any position with responsibilities A, B, and C."
And my generic resume writing advice is... try writing your resume without adjectives. It forces you to focus on highlighting what you've really done. Let your awesomeness sell itself. Calling yourself awesome doesn't do much for you.
Put all 4 projects on there and try to sell them as technically as possible.
I was at an unknown company (nationally) for 7 years before I left. I had no issues whatsoever getting interviews.
When people talk to me about what I did they think it's impressive and love the technical challenges I tell them about, but most of the times the rejection happens only because of fear that I will create my startup again after a short time of working at company x. I got this confirmed multiple times after asking about the reason.
I'm living in Asia and it might be a thing here but it is very frustrating.
As an aside, not everyone is on LinkedIn, and those of us who aren't apparently can't see the profile you linked.
Also, full disclosure, it sounds like I'm a bit older than you but my background is somewhat similar, so my views here may be biased. But having sat on the hiring side of the table in various roles, I'd take demonstrated ability to get things done and build successful projects over some random progression of short term jobs with increasingly impressive-sounding job titles any day of the week.
If you didn't pick up any coding or tech skills during running your start-ups you may or may not have issues.
For me my start-ups were like going to school to pick up a new/in-demand skill that I could fall back on if my startup dreams fell flat.
If no, work on that.
There're so many unqualified job candidates out there, you can rise above the crowd just by being good at what you do.
Ran a semi-successful web / mobile app development company. We were a small team of four, hitting early to mid thirties. From the outside anyone would have thought our company was successful. Good brand recognition in our geographic region, finding clients was easy. They found us.
We paid ourselves decent salaries, paid the bills on our dev infrastructure, we all worked in the trenches, at our own pace, and we all generally loved what we were doing.
However, after about five years we got that itch. In a way we were too comfortable. Our finances looked the same year after year. We purposely weren't growing. Or maybe we just didn't want to take that risk. I guess we peaked early and got comfortable staying there.
At first no one really talked about it. You could feel it though. As we got older. Being so close to the business administration became a chore. Planning summer vacations with a small team became a chore. Riding out December became a chore. Maintaining apps over a five+ year lifecycle became a chore. Dealing with dev infrastructure maintenance became a chore. Wearing too many hats became a chore.
Life outside of work becomes more important as you get older. Family and that sort of thing.
So we decided to shut it down. Lots of emotion, soul searching, panic, joy.
I personally had the same feeling you did. Does co-founder look good on a resume? What the hell did I do for the past five years? Will I fit in with corporate culture? How do I transfer my skills to the corporate world?
What I learned is that you've got nothing to worry about.
Working on a small team, and staying profitable, and paying the bills means that you understand the value of money. You wear multiple hats. You're skilled at sticking to a budget and meeting deadlines. You had to "show up" every day. You worked the trenches and enjoyed getting your hands dirty. You worked twice as hard and twice as fast. You stayed the course for four years. You're loyal. You're reliable. You understand the entire lifecycle of building something from start to finish. And you've done it successfully multiple times over. You understand failure too, and know how to bounce back. You have an amazing combination of business savvy and technical smarts that's difficult to find. You're entrepreneurial. You've got vision. You're an ideas person. You've got real-world experience. And a track record of success. Most startups crash and burn early, you didn't, and you're leaving it on your own terms. Knowing when to exit is an extraordinary skill in itself. You understand how it all works. You haven't lost touch.
Don't scare potential employers with big fake C-level job titles. In a company of four you never really had a specific job title anyways. Use that to your advantage.
Custom tailor your resume for different roles. You've got so much to offer your challenge will be figuring out what to "leave out". You've got volumes of specific examples and accomplishments to draw from, which you can talk about for hours.
You're still young. In fact you're in your prime. You'll be a massive positive addition to any team.
Look for a larger (than yours) company that hasn't lost their entrepreneurial spirit. You'll be right at home. Don't settle and don't be surprised if five or six years from now you get the itch to embark on another startup.
It's all good.
* Implemented xyz process to reduce pdq by x%
* Developed market strategy for team of y teams to improve market share by z% in 3 months
You don't need to show a ton of progression. You just need to know how to market the skills and experience that you have. If you've been profitable and are getting paid well, and have four substantial projects over four years, you're marketable.
Feel free to inquire if you'd like professional help.
If you find a position you like, send an email. Tell them why you're interested, what you could bring to the table. You can mention your history if it's relevant, casually, just like you wrote it up here.
If they don't like it, fck them, their loss, try a different company.
edit: Just to be clear, i'm not suggesting you skip the resume because of your specific history, rather because the whole concept of presenting resumes is utterly inhumane and counter-productive.
- don't worry about inflated job title, especially in the bay area.
- resumes are targeted to its audience.
- know what you want to do (engineering, product management, etc).
- reach out to managers at companies that you'd like to work at. ask them what they need (don't go by job postings, too generic most of the time). fill resume with relevant info if you have them.
- communicating that you're a desirable hire is done in the interview stage. resume is a tool to get you the interview if you have zero connection inside that company (don't blow it off though, since it's usually shown to a hiring board for final decisions).
Your work will speak for you, and discerning employers will find you.
More and more large corporates value what you have, and in cases, are willing to pay a premium for startup skills. They are also sophisticated enough to separate the company's failure from your skill.
Really, don't sweat it.
All the best.
Isn't 5 years at a startup doing [presumably] technical work pretty much the best thing you could possibly put on a resume?
I guess if you were a bizdev-type, then maybe the negative here is: why was still a startup after 5 years?
5 years at a startup, for a technical person, sounds awesome.
"""We've been profitable the entire time"""
Just communicate that and you should be fine.
otherwise, give yourself a different title for different periods of time, and list your co-founders or customers as references.
If you are looking for a certain job, you don't want a resume with a bunch of empty titles. You need a strong resume addressing the specific requirements of that particular job, in terms of skills and relevant experience.
Large organizations need both people that take care of the "ordinary business" and people that take care of "special projects", that are the doers, that figure things out by themselves: your startup experience automatically qualifies you for all the activities that require this second type of people.
Under 1 year, I have to think that something out of the ordinary happened and I would be inclined to ask about what happened. Did the company go under? Were there some crazy red flags that forced you to leave? And internally, I'd ask myself, is this person really picky? Do they have some red flag that keeps getting them let go? Etc.
I don't have an upper limit, but definitely a lower limit; 2 years. 1 year to get up to speed, 1 year to give the company a chance. I recognize that all companies have problems and I want to see progress being made on solving those problems. If, after 2 years, we're still talking about the same issues we faced when I started, then I'm going to start looking.
Curious why someone would place an upper limit on time served? If the work is good and the company is good, why leave?
Whatever the stack I get up to speed usually after 1 week and provide value to the company pretty much immediately (it's always scary starting a new project because I feel like I need to prove myself within the first few days since I'm working with a new team).
If it's a normal job, I think 1.5 years should be a good amount since that is apparently the median for how long developers stay at a company nowadays.
I think the mentality that a hiring manager won't hire someone because he's afraid someone will leave after 6 months is old school. People are going to leave, but you need to figure out how to get the most value out of your developers while they are there. Also, if it takes you that long to get someone up to speed it's either that developer is too slow or there's someone wrong with your process.
Ultimately I see the pros of job hopping (early on in your career at least) because you will have worked with so many different people. Your gauge in people's personalities and experience will be a useful asset. Plus you will get to know a lot of people in the industry.
So ... if a person leaves at the 1 year mark, it was likely they who chose to leave. Given the stories about bad employers in tech and the fact that there are many good employers too these days, I would say good for the moving employee!
Another red flag I look for is when someone has freelancing on their resume and they will basically have this:
Freelancing, Inc. 2005-Present
Company A July 2014-September 2015
Company B December 2012-August 2013
Company C January 2011 - March 2012
You get the pattern. While those people generally end up spending more than a year with the company, they always quit and go back to "freelancing". I've spoken with some people about it in the past and it seems semi-common for freelancers to work full time for a company, save up as much as possible, then leave and skate through their savings and the odd freelancing job for a year or two, and repeating. That's generally not what we are looking for
So for someone with more than a few years of experience, I generally like to see at least one job in the last 5 years where they lasted 2 years.
If I have context why you're job hopping then I'll take it into consideration. There are legitimate reasons to leave in a few months. However, if you've never been at a place or project for more than a year, I can safely assume you never had to support an application much in production because by the time you were knowledgeable enough to do so, you left.
I had two slighty-more-than-a-year stints in a row and I know some people who it caused concern for. What was the reason? One was a contract with a non-profit that didn't have the budget to continue and the second was a failing startup that was downsizing. Both perfectly logical and understandable. Fortunately my next boss-to-be asked first.
I've also seen people who love small startups, they get in on the ground floor and stay for 18months before they move on. They did an amazing job and I wouldn't hesitate to hire them on even if I knew it was only for 18 months. (oh, then they found an amazing startup and stayed for ~4 years)
At the end of the day there are way too many variables. As a hiring manager myself I've seen and heard it all. So don't make assumptions. Don't guess. Interview them as normal and ask the pertinent questions about their history.
This has become a really big issue as when I look my "stability" is bought to light consistently. My first two roles were 2.5 years, and 1.5 years respectively. Both times I left on good terms. So I can commit, and will if given the oppurtunity too, and room to grow. My contracts have just been largely proof of concepts, that were shelved.
The thing is I'm tired of jumping, worrying how long my contract is going to last. That I need to keep going looking for the next thing, because either the contract will run out or I stagnate. This is also leading to a counter point and negative when I look. I've not been able to ship any projects to production. I feel at this point I'm stuck in a contracting loop, and I'm not sure how to get out.
When you have someone who's been repeatedly changing employers every 12-18 months for a while with no mitigating factors, you begin to wonder about ability to commit.
It may matter less if your are in a field where things are done in sprints, the person is likely to be instantly productive, and there isn't a lot of complexity to absorb.
There are people who have the temperament to be short to mid-term contractors, and who don't like to be and wouldn't be good long-term hires.
But in general, I skip if the pattern seems to be hopping every year in the last 2-3 years.
Another thing that I look at is where geographically the candidate was working. If I see no hopping for a while, then moved to Silicon Valley and started hopping every year, then I pass, or at least I yellow flag that in the pipeline.
I don't have any issue with several years in just a company, actually I think it's rare and very positive.
Speaking of seniority, it's very hard to hire someone into a senior or leadership position if they've never stuck around at a job long enough to actually develop any seniority. It's impossible to develop management skills if you're quitting your job every 12 months. Even at every 24 months you're really limiting your ability to get some truly solid management experience under your belt.
All that said, having long tenures on your resume obviously doesn't guarantee anything. A week or two ago I interviewed someone with 15 years at the same company and the title of Chief Architect who seriously struggled with a simplified version of FizzBuzz.
The bottom line is that I try to keep an open mind about everyone, and if I have concerns over the lengths of previous jobs I'll always give the candidate the opportunity to explain their viewpoint. Usually I can be convinced and won over.
That doesn't mean every bullet on your resume needs to be 2 years long, but if you're at least a handful of years into your career, you should have at least one.
And yeah, if you're working for startups and they keep going under, that sucks. But maybe it suggests that you could stand to learn a bit more about the business end of things and improve your ability to evaluate an employer's prospects.
1. Several <1 year tenures - this person gets fired a lot
2. Exclusively 1-2 year tenures - This person is trying to jump around to maximize salary (and isn't able to convince their current employer to match/exceed an offer)
For #1 job history is usually not the only indication that this will be a problem. Depending on how many open positions you have they might make a screen, with the vast majority washing out there. "It was contract work" is usually a flag, and being at startups that went under is a mitigating factor.
#2 is somewhat more risky as a hiring manager - more expensive to interview because they are less likely to flame out early in the process, but then much more likely to not be able to agree on an acceptable offer. Overall these folks are still going to be net positive contributors over their tenure, but there is opportunity cost in missing out on hiring someone who would kick ass over 5+ years at your company. It's hard to definitively pin someone down as this category outside of 4+ jobs never going more than 2 years. If they are coming through a recruiter that's a flag, and if they have moved cities that's somewhat of a mitigating factor.
Seeing someone who stayed at the same company for 4+ years and got one or more promotions there is a big plus on resumes.
There is not a lot of research into any of this stuff AFAIK, so this is basically all just my opinion. What I have seen basically says that people are pretty bad and inconsistent at evaluating resumes:
Personally I think I would ask more details of an engineer who stayed with a company 6 months or less but I wouldn't necessarily be suspicious. Anything beyond 12 months, I wouldn't ask at all.
I prefer working in startups and smaller businesses rather than a bank or government entity. In the startup world I found 1-2 year stints don't seem like a bad thing. In the conservative banking world it could be.
It's because your not paying employees the market rate so they leave.
Nothing to do with skill of the employee.
They just want to get away with paying below rate salaries.
It might be that long before seeing your first "annual" pay increase. It is very common for me to see the crap raise that I got for the year and send out resumes to check on competitive offers, to see if I could do better.
It is also long enough to see a company on its worst behavior, and decide that enough is enough. I personally go two years with a merely bad--but not awful--company, to see if I can jump-start any improvements. After that, I send out resumes, and jump ship as soon as it is feasible.
But I'd also see that as an indicator of the quality of companies these days. I have only worked at two companies (out of 8 jobs) where I would have been happy to stay there indefinitely. They both got bought out, and the new owners laid me off without regard to my individual value.
I have always been "at will", so if you're going to question my durance at previous companies, I'm going to question your commitment to all your employees that have no contracts. That door swings both ways. If you're looking too closely at that, I might think you're trying to weed out candidates that are too sensitive to the corporate bullshit that may be driving your existing turnover rate, in which case, I might get spooked and either withdraw or demand a higher offer from the start.
Employees are like expensive, specialized tooling. The more specialized and refined your skill set is then the more acceptable job hopping becomes. If you're the kind of person that's brought in as a subject matter expert to help do something your experience may not be relevant and you may be, expensive, under utilized and dissatisfied when there's no more work for you. To continue the tooling analogy, if a company buys specialized equipment for a contract job it's usually sold afterward. This is why highway plowing and bridge building equipment is all ancient and has had half a million owners. A contract is won, (used) equipment is bought, maintenance (or modification for the specific task is performed), the work is done, someone else wins the contract, the equipment is put up for sale and the cycle continues. It takes resources to keep specialized equipment or specialized employees around and functional (pay/maintenance) and it's not efficient to have it sit around mostly unused (making a senior dev chase bugs). However, if you're switching jobs in less time than a typical project takes you're gonna come under the same scrutiny as the crane that's up for sale while the rest of the fleet is building bridges, "what's wrong with this one?" If you're not sticking around for about as long as it takes to complete on project then it's gonna draw scrutiny.
If you're resume looks like you're job hopping and moving up it's likely going to be looked upon neutrally or favorably (i.e. "nobody can keep this guy because everyone else has more important/lucrative stuff for him to do").
Job hopping is definitely within the range of normal for the vast majority of the industries people on HN work in so unless your resume practically says you can't hold a job then it shouldn't be a problem.
Upgrade regularly, as soon as you find a new job that you like more go take it. Building your skills and Networking are key. Network all the time, get to know people who will be hiring, conferences, events, find people who are working on things you want to work on and people you want to work with.
Lifes too short to wait it out.
Upgrade fast and regularly, pay shoots up, location improves.
I don't really believe in hard and fast rules with recruiting. There are usually too many variables for arbitrary limits to be helpful, and I've seen plenty of good hires with unusual resumes. The important questions are:
1. Is the person you're looking at likely to be an overall benefit if you hire them for the position?
2. Is anyone else who is applying likely to bring more overall benefit?
There are three concerns I usually have with a resume full of short-term gigs.
Firstly, someone who has never stuck around long enough to deal with the consequences of their own decisions or who has no real understanding of issues like technical debt is a huge liability above entry-level positions. If someone is applying for a senior developer role and I don't see evidence of knowing how to maintain software long-term from their employment history, there would need to be something else in the resume to make up for that or it's basically an instant no-hire.
Secondly, the equivalent for more junior positions is that someone moving jobs every few months may not be gaining useful basic skills and developing sound professional judgement as effectively as their time served might otherwise suggest. There's an old joke about someone with ten years of experience and someone with the same year of experience ten times. The latter is probably a no-hire.
Finally, there is always some cost and some disruption associated with hiring a new member of staff. Someone whose pattern of previous moves suggests they're just trying to climb a ladder as fast as possible without necessarily contributing much value in each step along the way is a no-hire. Just as important, even someone who looks like they'll probably stick around for a year and generate some real value after a few months ramping up is still going to be a much less attractive candidate than someone who usually sticks around for say two or three years.
Maximum 2 year
1 year for some equity and to judge if I even want it, 2 year solely so hiring managers don't disqualify me (along with random employees that anecdotally heard what red flags).
And I remove all the 3 month stints off my resume
And I also take off contracts done in chronologically parallel time periods because they confuse people that are silently judging how long I had been anywhere, than any other merit
Easier to get an experienced based salary upgrade at a different company, than at the current company.
Another quirk seems to be that everyone in engineering seems to like seeing gaps. So disappearing my 3 month stints has an added effect that would be counterintuitive to all the unemployed bloggers writing resume tips on ask.com
It is an adaptation. Get money.
On the other hand, if someone stayed at one place for 5 years and doesn't have a lot of progress they can point to, I'd be somewhat concerned about their trajectory in their field.
There are lots of interesting machine learning or other features that smart people could come up with to better group people who have similar personalities or are interested in common things, but I think they'd all be missing the main point of dating. How much stuff you have in common or whether you share a couple of personality traits are nice to have but really don't matter. It all still comes down to attraction.
Don't take that hipster vegan socialist seriously online who swears they won't date a Trump-loving meat eater. If there's attraction there, they won't care about their nonsensical list of "must-haves".
Rule #1: be attractive. If you think you're not attractive: shut up and lift and work on your life so you get towards making yourself more attractive. Don't let any dang folks spin you the politically correct Disney version of reality that you just haven't met the right person yet or some other nonsense.
From this regard, the core of Tinder is probably the closest to accurately quantifying the real human experience, though the number of spammers and bots on there make it not really worth the time.
The things that people claim are dealbreaks ("She's a Republican!", "He lives with his parents!", "I would never engage in casual sex!") tend not to be in practice, once the opportunity presents itself.
But when asked point-blank? Oh yeah, I totally couldn't date somebody who supported cruelty to animals in lab test (one sec, gotta adjust my makeup), or who voted conservative (hold on, lemme claim my tax exemptions), or who's a virgin (well, everybody's gotta learn sometime).
There's AI and control theory that seeks to reason about an uncertain world--but in dating, it's active delusion and misinformation. People don't know themselves, and even if they do know themselves, they invent bullshit reasons why obviously good pairings aren't.
That's before you even get into the economics of those sites and why helping people date successfully isn't profitable.
You won't get in the door just applying to jobs and saying you've got 30 years of being a hobbyist and love Assembly. You'll have to demonstrate something you can do, and ideally it will be something interesting to the person receiving your message/application. This becomes a marketing issue, and you can market yourself as a junior programmer and career transition candidate willing to take on junior work at junior prices for the chance to get in the door.
You can usually disguise your age at least a bit by omission in resumes. A resume isn't a full biography, so we don't need to list every single thing (especially since you will likely have lots of irrelevant professional experience). We can also delete things like graduation dates (if you attended college) in order to avoid someone guessing your age.
I'm the same age as you - if you're priced correctly for your skill level, your age might even be considered somewhat of an asset (maturity) in certain companies and jobs, but the key for you is marketing whatever skills you do have and leveraging those to get the skills you want (more programming).
You aren't old. They were 55+.
When I interview people, age does not concern me (45 wouldn't even make me blink). It is only if I think that person will be an asset to my team. And if they are, why should age bother me?
More important questions I ask myself is: Is this person going to be self sufficient or are they going to need a lot of assistance?
Is this person a generally positive person who is willing to communicate with others and me about any struggles they are having so we can fix it?
There are still tons of projects/products that use very small microcontrollers or microprocessors. You're not going to run Linux and Java on an embedded system that's got 8KB of EEPROM and 256 bytes of RAM.
Next time someone is looking for those skills, hopefully your name will show up in their Googles?
A word of caution... doing RE in a mediocre way is fairly easy. Doing it well requires knowing, well, a lot of shit about a lot of shit. Encryption, compilers, information theory, high level compiled languages, network protocols, etc. are all required knowledge to not get stuck at some point while doing that job. And sooner or later you'll find you'll be writing your own RE tools out of necessity.
This might sound cynical, but the good news for job seekers is that there is often a higher demand in the security industry for a mediocre reverse engineer who is willing to make a lot of guesses, abandon problems that are too difficult, and move on to the next thing quickly. If you're willing to learn in the job it's almost an ideal place to start.
One would be to start working on an OSS project that is well supported locally and to attend relevant meetups. Get known in the community, get credibility, and, after a while, let people know you are looking for work.
Another would be to start in testing - if you have the mindset for it. I know quite a few people with non-technical backgrounds who started in testing and moved onto careers as developers, integrators, and more, all with non-technical backgrounds. Testing is more about mindset, curiosity, organization, and detail, than about specific technical skills - or at least some types of testing are.
Both assembly language and reverse engineering are vast, ambiguous fields of knowledge, so it's difficult to provide an on-point answer. A couple things come to mind though:
- Quite a lot of demoscene-related sourcecode has been released over the past few years (covering many individual productions along with supporting tools), and quite a lot of it is in assembly language. Considering that you've been tinkering for 30+ years, DOS/similar-era stuff may be of particular interest to play with or explore. This would best be considered akin to soldering practice, to use an electronics analogy - DOS-specific knowledge (including eg low-level VGA or SoundBlaster/GUS control) is not likely to be helpful commercially. That said. old technology is similar to learning a language like Latin, and provides the advantage of neatly sidestepping the general social/human confusion concentrated within the current focuses of technological development.
- Many people are likely to generally recommend microcontroller development, but I understand chips with eg 256 bytes of RAM or ROM (where hand-assembling code would be useful) are somewhat rare nowadays. This may be interesting to explore though.
- Finally, considering that you really like reverse engineering, you could make yourself available for hire for medium/long-term contract work reversing major applications or systems. Depending on the system in question this may be a lot of fun or incredibly tedious; reverse engineering is generally nontrivial work, as on the one hand there's the occasional tedium of picking IDA up when it doesn't realize it's fallen down, and there's also the general strain of ensuring the technical specifications you produce are complete, bug-free, and provide 100% coverage (or, in the case of self-modifying code, "100.% coverage").
As an aside, I think your age is actually a big asset - I don't think enough emphasis is generally put on the fact that age and maturity means an applicant already has a lot of "life" things taken care of. Obviously domain-relevant skill(s) remain key, but it's possible an employer may be willing to provide additional education to someone who's been around the block a bit. Case-by-case-specific though.
This forum doesn't provide a way to edit posts and comments after an hour, but you can always update it via a top-level reply.
Age is definitely not a factor. The speed with which you are able to learn definitely is. Good luck. I think this is awesome.
Your main barrier is experience, but if you're willing to go for a junior level position, that shouldn't be an issue.
So generally, look for companies with a more mature culture - avoid buzzwords like "rockstar" and "ninja" (secretly, everyone should do this), steer clear of "unicorns", and read the bios on a companies website, and you should be able to find a good fit.
When I hire someone to a junior level position, I'm still not going to hire someone with no experience. It's going to be someone with less experience but still some. I don't have the time to teach someone starting from zero. You need to go from zero to a low level of experience on your own.
"First find a problem to solve, then we'll talk."
I know it's glib, but I genuinely believe that learning to program or learning to be an engineer is, in and of itself, pointless. And every time I've tried to teach people the fundamentals of programming, they get bored, move on, and never come back. It could be that I'm a bad teacher - and I am - but I think there's something else at play.
I think it's that the reality of being a programmer is very different to what people think it is. For example, people think you can lean to program to a point were you "know" how to program. As though at any point a programmer can accomplish any task by sitting at a computer and bashing the keys in just the right way to solve any problem as if the solution was pre-ordained, just hanging in the aether waiting for you to pluck it into existence.
In reality, it's a never ending journey of learning. You can never stop learning. There will never be a day when you can stop educating yourself and proclaim to the world that you are now, and will forever be, a programmer. And I think when that dawns on people, they lose interest.
Also, programming is just the tool. The job is something very different. I could teach you how to swing a hammer in no time at all, but you'll be no closer to being a sculptor or a joiner or a stone mason. A web developer can't write a high frequency trading algorithm without first learning a lot about a lot of other subjects.
People often want to learn to program for all the wrong reasons. But if your desire is to solve a problem? Well that's a different story.
If you can find a problem AND you have a desire to solve it then you've taken your first step towards becoming a programmer... or a doctor... or a farmer... or anything else. And if you can also think of a good solution, that's your second step. What follows is a few million more thankless, frustrating steps. If your problem is best solved with the help of a computer, you will become a programmer.
So I would say this to you. You're probably going to have a hard time breaking into assembly as a career at your age for all kinds of reasons. Some valid, some not.
But if you can use what you know to solve a problem, and it's a problem people want someone to solve, or better yet if it's a problem people don't even realise they have! If you can do that, then all the challenges you would otherwise face in your quest to become a professional assembly programmer, they all disappear. You won't need a job. The people who have all the jobs to give, they'll need you.
Regardless of your work history, you should list internships and projects you accomplished while in school on your resume when you are starting out anyway (unless you were already employed in the field). And if anyone asks specifically, tell them, yea I took a little extra time to finish my degree. Never lie and don't deny it just be straight about it but don't go into personal details.
When you are in college all the pressure and focus is around your GPA, graduating whether you were in the engineering school or A&S school etc. When hiring, those factors are never as important as your ability to sell yourself. For companies that focus on your GPA or how long it took you to get through school, I'd be very critical of whether they are looking for the right candidates and whether I'd want to be there. That said, there are some tech companies that have extremely competitive new grad hiring and so they use school, GPA and degree as a filter, but I've never seen length of time to attain the degree a factor.
Me, it took 7 years to graduate due to severe health issues and family issues, but I kept on going, taking one course at a time in some semesters.
So don't worry about it, in fact, it can be a positive thing. If they know that despite many struggles in life, you kept on going, you'll appear as a go getter.
So don't worry about it, stuff happens in life. Keep on going and graduate, that's what matters the most.
So yes, an employer might take into consideration how long it took your to finish your CS degree but ultimately it likely won't matter much when all the other factors are taken into consideration. It's one tiny factor that may be very important for you right now but doesn't actually provide much useful information to the employer.
EDIT: Just to make my point even clearer: taking slightly longer than expected most likely won't stand out at all. Taking significantly longer may be a negative factor, or it may be a positive factor, but either way it will most likely not be even close to one of the most important factors an employer might consider unless you literally submit a slip of paper with only that piece of info on it.
All I list on my resume is my graduation date. I've never had anyone ask how long it took, why I didn't list the start date (probably because I looked older), or my age. My GPA has never been asked for either. Just don't talk about anything related to the time it took, GPA, age, anything.
When I graduated I had multiple job offers within the first month. No issues at all. The main thing they care about once you make it to the interview is that you know your shit and can talk to people.
So I didn't finish my degree, got a good job offer doing Electrical Engineering (based off a good internship I did) for 3 years. Then switched to software, and with 7 years programming background (3 embedded at my last job and 4yrs of side projects and research code) I landed a Senior Programmer position at my new job. I'm not in the top bracket yet, but for essentially 4 years out of college (without a degree) I feel I'm doing pretty good.
Right now, CS seems to be a "Buyer's Market" where the job seekers have a bit more sway since everyone wants a new app or site or what not.
Like plenty of others have said, work on side projects and demo code. Doesn't have to be polished or whatever, but every little bit helps. Anything you do to learn a new platform or technique, stick in your portfolio. Get a Github or Gitlab. If you're shy about your code, Gitlab has free private repos, which you can share with an interviewer when it comes up (though I highly recommend you just go public with most of your code).
The short answer is "no, they won't care generally", but employers may care a little bit very early in your career and that level of caring will eventually fade to zero. In order for them to care, they first have to actually know. We can prevent that rather easily.
The secret to counteracting this is done on your resume typically (I'm a resume writer and recruiter, who coincidentally also graduated college after 6 years due to self-financing).
Listing college dates on a resume doesn't have any real rules. Early in your career you will likely list your graduation date, and perhaps even some coursework, projects, and a GPA. There is no need to list the date you started college.
At some point in your career your resume will change. You might not even list graduation date at all down the road, in order to prevent ageism. You'll just have your degree, major, and university - no other details. You also won't list your GPA at some point, and you don't even need to list it now. If they want to know, they'll ask.
If you're asked about college attendance, you should be honest and tell them how long it took and why. But usually they won't ask, unless there is something else on your resume that tips them off.
I'm reading Hacker News pretty regularly but didn't bother to register since now that I saw this question from JxGZV.
I come from really small EU country that was formerly communist and I'm also an CS student in my final year:) With that being said, I want to share my experience that I had recently with a pretty well known big company which is in the business of software engineering and was merged with another company in 2012. Because of various reasons I'm studying longer that it is expected, but nevertheless my CV is outstanding, since I have many achievements as an undergrad (participating at conferences with posters, winning hackathons etc....). To make long story short, I was asked what was I doing all these years and if I was "doing drugs or what?!".My answer was "No I did not". I didn't get an offer after this interview and was really happy because of that.
For anyone reading this, if you are in a similar situation, do not stress yourself with such questions. Just send the application and CV. If they ask questions like these, you can find a better employer and you probably don't want to work for them anyway. Believe me. I experienced it.
No one will make a big deal out of it like you do. As others have said, try listing only your graduation date. If you think it will come up anyway, have a one sentence blurb prepared that seems reasonable.
Unless you're doing something like investment banking or consulting where the pipelines are congested they are going to care primarily about how well you can do the job.
In fact, I wouldn't really care of you had a degree or not. (Its a positive if you have one, but not a negative if you don't).
I had an interviewee once who would try to explain everything that was remotely sub-optimal on his CV with long stories of how horrible his upbringing was and how hard he had it in life. I guess he was trying to get sympathy but all I heard was 'drama all around'. Now, being able to overcome adversity is a good thing in general, but there is a fine line between that and being desperate to blame everything on everyone else or emotionally blackmailing people.
So my advice, for what it's worth, is to not be seduced into giving long emotional explanations. Just say 'I had to work a full time job' or 'I had to finance myself' and leave it at that.
- Mostly it does not matter. List when you graduated, provide evidence of what you have worked on and done well at, and be transparent if people care enough to ask
- It matters more in highly competitive or zero-sum situations in which they are comparing two otherwise well qualified people, and less if they need to hire someone.
- It matters more in other, more competitive fields than it does in CS because CS work is more accreditive (and less role driven than law, for example)
PS. I have a *friend who took 6 years to graduate with a BA in CS and now works for an awesome startup, that also employees some great programmers who never went to college.
PPS. If you're in CS create a GitHub account to act as your portfolio. Work on some projects in college; that way you have something to show the employer when they ask "So what have you done?".
Be prepared to talk about why it took you longer. It's not a bad thing to be asked, in the same way that other hiring managers asking about my law degree/legal experience isn't bad either, it's just out of the norm for someone working in fintech. Be honest - you can say there were family reasons or whatever without getting into the details. If your interviewer is anything resembling a human, they'll understand. If they don't, you're avoiding a shitty work-life balance situation and/or a shitty boss.
If you don't have other experience, though, or don't need/want to illustrate that your degree happened while you were doing other relevant, career-path work, you could just put the graduation date on your resume.
Maybe it's just because of that, but I've always had MORE respect for people who take a long time to finish. I say this as a guy who went the normal 4 years in college.
You go through crap, you still get what needs to be done, done? Ya, I'd hire you.
No one ever cared. No one ever asked.
When you build out your resume just list the year of graduation for your CS degree, which is standard. Don't include HS or other dates where they can see it took more than 4 if you're worried.
If they ask be honest and just indicate you worked your way through college, participated in this, lots of good reasons for taking more than 4 years.
I'm WAY more interested in what you can DO and what you have demonstrably DONE, so it's way more important for you to focus on side jobs, internships, and open source contributions than it is to worry about how long it will take you to get a degree.
tl;dr: do employers care at what age you finish your degree?
Long story: I'm a 35 year old software engineer with 6 years of experience (mostly java/scala), currently an EU citizen residing in UK (London). I've studied CS when I was 18 at the universtiy, but dropped out (various reasons). Now since Brexit news I no longer feel I want to continue living here and I am strongly thinking of moving to USA. My plan is to get a Computer Science BsC from Open University in 3 years, apply for H1B visa/job and then later green card. I'm only doing my degree now because of H1B requirements, no other reasons. I would be 38 by the time I finish it.
Much more important is where your degree is from as to whether it means anything.
You should have an answer prepared for why it took longer that is reasonable and doesn't reflect badly. I.e. "I failed classes and had to take them over." doesn't sound good. "I took a lighter class load so that I could work while going to school to lower my debt." sounds reasonable.
"Going through a lot of stuff" isn't good enough.
I also took 7 years to finish my Master degree. I was working full time and only took a couple classes a year. I also took off a few semesters off when I had kids.
Nobody has ever asked about either situation. I wouldn't worry too much. As a hiring manager I've never cared about that.
It won't hurt a smart CS major with a good GPA. When asked, say, "I self funded my education" or "I had to work" and that can even become a plus. (Just don't outright lie)
My wife took 8 years to finish her MS because she did it part time. Does that mean she doesn't know her stuff? That's very far from the truth.
When i was right out of school I added some stuff about the program and noteworthy projects but that came off after I landed my first job.
Have a simple clear answer. Working to pay for school is a great reason. "Going through a lot of stuff" is a bad explanation, sounds like Jim Anchower.
Work experience (internships, part time programming jobs) are a great way to shift the focus from your school history to your work abilities. That's the reason nobody will care after your first job, they will just be asking about your work experience.
inb4 people start posting they don't. HN isn't a solid representative sample of the US let alone world job market.
From my observations, earning a BS (or BA?) requires a far less rigorous schedule than working at a full-time job. If you couldn't manage a normal class load because there was "stuff going on", I'd expect that "stuff will continue to go on" and that would distract you from what I need in an employee.
What assurances can you offer an employer that you will be a functional employee? Many positions (in the U.S. at least) have a probation period during which you've got to prove you're carrying your weight (providing a positive ROI in some sense).
And honestly, I question the predictive value to job performance of this data point in the first place. I would hope most people wouldn't get hung up on it. There are many more valuable data points to examine.
Most people do not graduate in four years. This is not an issue.
So, as other have suggested, don't make it obvious. It's ridiculous to see the year of high school graduation on a resume anyway. Also, you don't have to list internships from your first two years.
If it does come up, or if they ask about it, do not lie. The appearance of hiding anything is a red flag. Just tell them that you were dealing with personal issues, and that they are resolved now. So, it won't affect your ability to perform the job.
While I sometimes envy you (and others) for having CS degrees, I have never had a difficult time landing work as a developer. Imposter syndrome is still pretty high though.
As many others have suggested, just list the graduation date. That's all prospective employers care about. The fact that you have a CS degree matters more than how long you took to earn it.
But even that pales in comparison to your ability to clearly communicate what you're competent at. So focus on your communication skills and self esteem. And you'll do just fine!
As with any Resume/CV issue like this just practice answering the question - a couple of sentences is sufficient, and you'll be fine.
I'm french and swiss.In France, they put (unfortunately) a really strong focus on the degrees and the marks, in general, for everything.
It's truly hard to find a job, even if you're good, without a degree (except maybe in the startup scene), and you better indicate if you take longer than "normal". Most of the people do their first degree in 3 years, then their engineering or business graduate school in 2 years, and as such, it can be complicated if you're applying for a job at 29 if most of the people land the same job that you're applying for at 23 or 25. It sucks, but it's unfortunately how many people think in France.
It's quite different than in Germany, where I know a lot of people who have stop for 5 years there, then continue their studies, then land another job in a different work sector, ... It's not shocking for someone to be 30+ and begin to work in IT, for example (at least, not in my experience), when i think it would be a bit more in France.
Switzerland would be a bit in between France and Germany when it comes to "elitism", "focus on degrees rather than experience", because Switzerland has a very, very long history of apprenticeship and their whole education system is based on it, and so, even if degrees are important, experience is too, but sometimes, it feels like they are out of reality for some other work stuff.
And it's again very different from UK or USA, where indeed, I have been able to land a position in a new startup without even showing my resume, but just showing my skills and talking about what I experienced and learned and deduced in the past. So ... really, "it depends".
A final advise I would give to you is that I feel like it's really important to spend enough time to learn about the place you want to work at and its culture (moreover it will help you know if you should precise or not if you took longer than usual to complete your degree ;)), because too often, people send dozens and dozens of resume and eventually, it feels like it lacks "personal interest" and if an employer doesn't feel you're truly and personally interested in working at his place, he will prefer to give your seat to someone who "truly cares"
(edit : typos)
I don't know anything about interviewing at large tech companies, but from my perspective, the best thing anyone can do to prepare for an interview is to be able to talk, in detail, about work you did that you are really proud of.
Don't sweat it too much - most people understand you can be perfectly capable of doing the job without having adegree in CS. More to the point, a lot of programmers don't even get a CS degree and they still hold down very productive programming jobs.
in my own experience (interviewed for internship, current full time position, and a few competing positions, and have interviewed many candidates):
i did not feel like my educational experience was taken into account when interviewing.
and when my coworkers and i interview candidates, education is almost never discussed.
the only reason i suggest omitting the start date is to get past HR filters.
Also you should just write your graduation year for education anyways, not duration.
To be fair, I was already well advanced in my career.
Business Management major. I work in Systems Engineering.
I'd be far more concerned that you are so completely unaware that this info isn't even generally on anyone's resume...
edit: if you put any date at all, just include the year you received the degree. no need to put any further details.
There's also Jitsi and Pidgin, but I haven't tried them lately.
Getting into med school, completing medical school and completing residency are all difficult tasks in and of themselves.
If you know you want to focus on certain areas of tech there are also a few add on fellowships after residency.
Getting an internship or job in biotech, or even working as a medical scribe may help you more in the long run.
If you have extra cycles and really want to learn to code you could add a CS minor to your degree or take a bunch of the online Computer Science courses (typically CS assumes that you've had 2 years of advanced math ( calculus, differential equations, etc.)
Under no circumstance would I recommend delaying undergraduate graduation to add on these extra skills, Rather get a masters in an in-between year, or if you're really crazy there are some combo MD/Phd and DO/Phd programs.
But outdoor activities are probably a better use of you time, take up running, cycling, swimming. Something that you can do anywhere to take care of yourself and that reduces your stress level.
As you have ideas, you'll have a greater knowledge of what can work, and greater insight into how to approach things.
A language such as Python is very suitable for beginning programmers to learn with, there are many books/tutorials around, and the foundations of the language itself are reasonably stable.
eg the stuff you learn will likely still work in 5 years time :>
I migrated from Wordpress to Middleman for my blog , but wanted to have a web UI for writing and editing blog posts so I wrote my own . Here's a screenshot .
I also didn't want to lose all the comment history so I wrote another gem  for Disqus-like comments, which are loaded via AJAX given that the website is completely static.
I haven't gotten around documenting the gems but hope to do sometime this month!
 http://bootlog.org https://rubygems.org/gems/artifact https://twitter.com/tomaspollak/status/753728789679529985 https://rubygems.org/gems/cachai
Since it's a fully static site, I have Nginx serving it directly on a $5/mo DO server, along with a bunch of other crap. Static sites are great because they need almost nothing from a server for hosting.
Also, the site style is heavily inspired by .
 https://psbarrett.com/ https://github.com/azdle/virgil http://bettermotherfuckingwebsite.com/
It took a few years (about a decade, really) to get the design right - people's perception is a weird thing, what looks nice to me is an abomination to most, and i usually got about one piece of feedback per year.
That's probably the biggest argument i can give against going DIY with web design.
I've had a few game servers self-hosted (in the "PC-under-the-table" sense), and i would really advice to get a real hosting for such things - every time the internet is acting up or you try something that needs parts from the server box, someone would ping you on Skype about why the server is down. :/)
I personally run a DIY-thing, but that's not because I necessarily think that is a good idea ;) If I weren't using that I'd either use a static site generator of some kind or pay for Wordpress.com.
The platforms (Wordpress.com, Ghost(Pro), Blogger, etc) will probably handle massive spikes better. With something like CloudFlare, I think you can mitigate a lot of that though.
I've also been happy with Tumblr in the past there's no self-hosted version available, but hosted is free. I like Ghost's writing tools better, but Tumblr's media tools are far more full featured and battle tested from years of tons of users.
I generate the static html and then put them inside a docker container to deploy. The host is a bare metal server (not free but cheap) with docker installed.
Both of these blogs use Jekyll + Docker as described above:
In my case the big inconvenience is that I spend more time developing/improving it than actually writing articles.
The ecosystem (primarily the number of really nice themes) and the fact I've been using it for years just means it's the simplest option.
I'd probably never self-host it again for anything important, though. Too much configuration / update / tweaking / security / etc / etc time.
Unfortunately, Facebook's official explanation of "People you may Know" is chalked up to "many other factors". So I don't blame you for speculating.
I wish they would update this page to be more transparent. If they are in fact using LinkedIn's network (I just saw your comment below about co-workers which are not in the same geographical location), I hope they let users know and make a feature to opt-out of mixing it with Facebook.
Another possibility is that your co-workers are browsing your public profile details without adding you.
Really you're leaking identifiable data all over the place. There's no way to tell what Facebook picked up on.
I think, and hope, that this will cost LinkedIn dearly.
For example, I make an app for hipster web devs, and it does really well on the Mac.
On the other hand, if you make an app for payroll accounting, I strongly recommend to make a Windows app.
Some apps, like a citation manager for researchers, really should be cross-platform and work on Linux too; a browser extension might work really great here.
If you'd like more specific advise, tell us more about the field you're interested in!
If you don't have an idea yet, I recommend looking for a niche first. Once you identified your target audience, you only need to find out what platform they use.
The problem with data is that every set can have a different schema. Hence there is no universal API across datasets that will make naive queries possible across multiple data products.
Niche markets: Pick any existing popular SaaS that non techies use that have an API and some community (discussion board or forum) you can reach out to. Ecommerce: Shopify, bigcommerce, magento. Payments: stripe, wordpress, stripe, braintree. Accounting: xero, quickbooks.
- Do not code yourself, it requires great discipline. It's always more fun to code than to talk with customers. - Businesses are happy paying money even for a terrible product if it makes their lives easier. - People love to talk about their problems (aka how you can extract money from them). - There's multiple ways to start a business, this approach is just one of them. - Don't read too much blog posts and business books about online businesses. They are confusing you and holding you back. Business is a skill like programming, you learn more actually coding, than reading about how to code.
Not exactly sure what you mean by come up with an idea. I have dozens of ideas and come up with new ones all the time. If you're always in the back of your mind on the lookout for a business, and your mind is active, ideas will come to you.
Maybe you mean feasible ideas. I usually rank my ideas by how long v. 1 would take to make, and concentrate on the shorter ones. For example, I know Android, and wrote a stopwatch app in two weeks. It might be too easy to write, too competitive due to that ease etc. - but its just two weeks from my life. I've also written Android apps where v.1 took 2 1/2 months.
The main thing I'd say is think how long v. 1 will take. Something like one year would be too long.
Find problems that businesses need solved, and put your skills to work coming up with a solution that will be valuable to customers.
Honestly, I think much of the problems with folks like us is that we are prone to "analysis paralysis". In other words, we think/research thing to death - and wait for circumstances to be just perfect, before we move on any of our ideas.
I'm not trying to downplay ideas and planning, but much of figuring out what to do comes with STARTING something, and seeing how it works. Then if/when something fails, you can iterate/pivot.
http://StartUpsForTheRestOfUs.com (Rob has went from drop shipping beach towels to selling his SaaS GetDrip for $XX million(just a guess) you can follow him along the way in the podcast.
https://nugget.one/ (email Justin at techzing about a student discount, this is more for SaaS probably not your best starting point, see Startups for the rest of us, stair step method in podcasts above. But the nuggets are interesting.)
http://techzinglive.com/ (Justin is on this podcast)
Your idea for you side business will most likely find you, when you build something scratching your own itch or you see an opportunity you can solve with technology.
But "hardcore" PC gaming on them is just god damn awful once you get pass the "omg it's so fucking cool in in awe" period.
They are heavy, comfort levels aren't there, sweat is an issue especially in the summer, they put strain on your neck and since they give you a considerable smaller viewing angle than what you can do with a display (not to mention an ultrawide/screen spanning setup) they are disadvantaged in just about every game.
Replacing a wide viewing angle and a quick mouse look ability with turning your head is just harder and slower (and after 45 min painfull).
Losing the ability to switch to 3rd person views, zoom and pan the camera or detach it is a huge disadvantage in just about every game that supports VR.
Losing the ability to disconnect from the game for even a second and to focus your eyes on something else, turn your head without affecting the game, take a drink of water, stretch and pretty much just be free to do what you want puts so much stress on you that after 30min you just stop enjoying it.
Overall VR seems to be nice for very very specific applications, ones that are completely impossible to do without it, for everything else it's just worse it turns a completely detached leisure activity in a real life activity and that's a problem.The holodeck concept might sound cool until you figure out that it's actually hard work.Personally I don't think VR would go much further, AR on the other hand (Microsoft Hololens) has a bright future, if Google comes out with a slightly less sucky version of Google Glass and you mate it with Pokemon Go it's game over.
Even though there's not a lot of content, "regular" video games seem really lame now. I've felt for a long time that the video game industry is stagnant. The big studios come out with the same shooter franchises and sports franchises. Most indie games use mechanics that are decades old now (puzzles, platformers, etc). In app purchases and pay to win crap has taken over mobile gaming.
VR changes this. Games like tiltbrush and fantastic contraption could not have been built before now. Playing VR makes me feel like a kid again playing mario 64 for the first time.
I haven't been using them much, but that's largely due to lack of content. I used them both heavily when they arrived, and the Vive in particular got a ton of playtime, but after a certain point I just don't want to fire up SPT again. Recently it got to a point where I'm not even all that excited to demo the Vive to others either.
I disagree strongly with those saying monitors are obsolete. They're definitely not, not right now at least. I've recently been playing The Witcher 3 and not only is it far more graphically impressive than any VR content available, but the game itself has a level of complexity that would be very hard to achieve in a VR game.
It's just too convenient and easy to play games on a 1440p or 4K monitor with keyboard and mouse. The extremely crisp resolution, the fantastic and complex and comfortable controls, the ability to trivially do stuff concurrently while playing the game, the fact that you're not blocked off from people around you... there are more than enough reasons to continue playing standard monitor-based games.
I feel I do need to emphasize how much VR blocks you off from friends and family who might be around. It feels very social when you demo it for the first time, but eventually I could definitely tell that my SO was starting to resent VR. From her perspective, it's the equivalent of me just disappearing into the garage and locking the door with little to no communication.
Upgrades to tiltbrush are a big deal; a good sculpting tool would be greatly appreciated. Budget Cuts updates also. Easier unity setups to make their own environments would be rad, or that racket-based setup carmack demoed a year ago. They would LOVE that.
I think if you can wait another 18 months you could get a v2 headset with a much larger stable of content, but there's lots to do right now, the experiences are just more bite-sized. If you aren't going to code with it and aren't a highly avid gamer it's possible you'll run out of interesting experiences in a few months.
The games are starting to mature beyond games. I would never part with mine because to me it's the cheapest/fastest form of travel. I look for content daily and try to test something new every night. Of course, I'm an aspiring VR developer.
Since nobody's talking about porn, please allow this burner account to speak up for it. I'm talking room-scale VR, not 360 videos. It does take a lot of digging and tinkering since that stuff is not on Steam, but if you know where to go on subreddits, torrents, etc. Try it for science, it's fantastic.
That's not going to stop because it's pretty much replaced my workouts. Instead of doing a 30 min intense workout, I do two hours in the Vive. It used to be more Holoball, Holopoint, Zenblade... but now it's RecRoom, BattleDome and Pong Waves VR. More stuff comes out than I have to try with a full-time job and a minimalist social life.
Personally I'd strongly draw a line between sitting-down VR and room-scale walking around and interacting with hands VR. The first one I liked but never really grabbed me. The second... well, see above re "changed careers".
One of the issues VR does have right now is that the audience is small - particularly for room-scale. As a result, the games tend mostly to be quite limited in scope.
There are very few narrative, long-form experiences out there. (My game, Left-Hand Path, is one of the few conventional narrative experiences in an RPG form for the Vive). Most games are arcadey, often wave shooters or similar.
But as time goes by longer games are getting released. This month's actually been pretty amazing for Vive games, with Brookhaven Experiment and Raw Data, both bigger, more polished experiences.
IMO, the future's bright.
(People have gotten annoyed in the past when I didn't link Left-Hand Path in comments like this, so here's a link for anyone curious - http://store.steampowered.com/app/488760 . It's a heavily Dark Souls influenced RPG where you cast spells by drawing symbols in the air.)
I could gush about Raw Data for quite some time, but its really the first VR game to feel like a AAA title and the swordplay is very rewarding.
SteamVR gets updated almost monthly as well and gives much needed fixes and performance enhancements. The Vive is much more user friendly now and the latest batch of video drivers seem to be helping VR performance as well. I did see the Poolnation and Raw Data devs have implemented Nvidia's mult-res shaders which give fairly impressive performance increases.
Now I'm waiting on the full Budget Cuts game and EVE: Valkyrie to get released for the Vive. Its incredible how much content there is right now. That said, its not much considering all the non-VR games on Steam, but its enough for an adult with a FT job or family to be unable to keep up.
It's still a good time and the novelty isn't completely worn off...games like Chamber 19 (Xortex from The Lab) or Fantastic Contraption are a lot fun once I get myself to turn it on. But I haven't played a really compelling game--I'm hoping Budget Cuts is as good as it looks.
The wow factor is huge the first few times. The VR immersion really works. I just haven't found a game yet that combines that Wow with game mechanics I want to keep playing for more than the novelty of it.
It was a huge mistake to buy hardware based on promises of software support.
Echoing what a few others have said, there are not a lot of great AAA titles for either the Vive or Rift. This will change over time.
Are you excited about VR, or are you looking somewhere just to make money? If you're into this, then yes, I would recommend you learn about developing for VR. No one I know has tried the Rift and just shrugged their shoulders and said "that's kinda cool'. Everyone, even my most techie friends, drop their jaws and lose their minds. That's exciting.
This is a brand new field with tons of potential. That being said, I don't think it will be a very lucrative market to indie devs for sometime.
That said I haven't found many games that really do vr right. Job simulator nails it I think. I tried Elite Dangerous out briefly and it looked quite amazing. I just don't have the controls down enough to play comfortably with a headset on. American Truck Simulator is okay once you get it working. The screendoor effect is quite apparent though.
So far the best of the games have had cartoon style graphics. Anything that tries to look realistic is hurt by the poor (relatively speaking) resolution.
The other thing keeping from playing more is the price of the "games". I put it in quotes since most of them are just tech demos for 20+ bucks.
One thing I keep coming back to with VR (as a personal observation) is how anti-social it is. Not sure what the implication (if any) is of that, but it leads me to hesitate in using mine.
That's what I'm waiting for because I believe it's going to not only be a handheld device/home console in one, but also easily support the holy grail, untethered VR. With first-party support from the world's premier game developer.
Of course, it will be Nintendo art style, easier to render than faux reality. But that style is ideal for the relatively weak VR resolutions that systems have today. Personally, I prefer artistic or cartoonish graphics. If I want reality, I don't want it rendered. I'll walk outside. Go play paintball and obliterate the desktop or HMD VR experiences.
If you want to dip toes in the water and start now, I'd get yourself a Google Cardboard setup. Nintendo is going to make Oculus/Vive and the 90's VR stuff (including VirtualBoy!) look silly as they bring this to mass market. It's going to be the games, simplified setup and console pricing that will win it. There won't be anything else like it.
I have a Rift and play Elite Dangerous several times a week. Otherwise the software situation is quite dire with no content that can match the depth of typical AAA titles.
The lack of motion tracked controllers is a problem right now as it blocks access to a lot of Steam games.
I have a cardboard that sits unused, but that's mostly because my phone doesn't quite fit into it and I can't be bothered to fix it.
Before that though, any free moment I got.
Edit: Oculus CV1
A lot of stuff is free right now which is awesome for consumers. Social games like Rec Room practically have to be free and that team seems to be positioning themselves well to be the go to social experience. It's so strange, where the hell are all the big players?
I think you can still get your VR game on Steam with basically anything these days so if you have the chops I would say it's well worth it to put a prototype out there to see if it sticks. Stuff like https://github.com/thestonefox/SteamVR_Unity_Toolkit makes it really easy to get started. Everyone is starved for content and many of us would pay $5-$10 for a short or bare bones experience if it's done well.
Motion controllers may have changed that. I can't really describe why the excitement wore off for me. I'm still optimistic and will end up purchasing current gen once the price comes down or simply wait for the next iteration.
Other immersive games that I would imagine the VR set would work are war simulation games, space simulators, puzzle games, horror games, ... or games with an immersive story or worlds to explore.
Good news regarding the vive and skyrim, by the way; it seems a VR version of skyrim is on the way: http://www.techradar.com/news/gaming/five-things-you-didn-t-....
I use it for VR development and show-offing at various events, which in my case are various experience sims like base jumping from a space elevator or riding a rocket-powered chair.
Doesn't have much of a replay value, especially if you know what is coming.
Mind you, I just have google cardboard, but it's kinda similar, right?
I would say about 50% gaming (I'm a fan of puzzle games personally) but the other half is entertainment- 360 videos and immersive education experiences from Vrideo, Jaunt, and several standalone apps are phenomenal and I can't get over the fun of "being there".
I can't wait for the market to grow and additional content to come out.
While the current version is fun the low resolution is limiting. FPS games are nearly impossible because anything in the distance is only represented by a few pixels.
I will buy room scale VR again when the price comes down and the resolution goes up.
Most of the use I got out of it was introducing friends to VR for the first time. Everyone thought "cool!" No one asked for me to pull it out a 2nd time.
Oh wait - Oculus. You're talking about all this new stuff that's coming up and might actually make VR work this time? No, I haven't gotten back into it again, yet. Still waiting to see if it's actually going to take off.
In my case, i moved from a job where i worked on high-performance computing/driver-level stuff and got to play with some TOP500 machines unconstrained, which was rather fun.
The new job was in telecom, and i worked on a somewhat higher level, doing with data processing and networking stuff. Not quite to my taste at first, but it paid 3x as much.
Key words are "at first" - the more i dived into it, the more i liked it, and i learned a lot along the way.
So, if the new job is something that you see you could eventually enjoy or get use out of, pick B. If you desperately need money, pick B. If you are reasonably sure you would hate it over there, pick A.
Something like that...
I decided to pursue "my passion" instead; I took a pay cut; but now I make more than I ever did.
I don't think I could have grown as much in a field I wasn't passionate about. If you want to become great at your job, you need to love it. And if you want a well-paid job, you better be great at it.
It's actually more than that, since salary increases compound on each other. If you get another 10% bump next time you switch jobs, you'll want it to be 10% of the higher number, further shortening the time you need to sit in that Aeron before you can pack it in and do what you want with your life.
In the end, a lot depends on why (as somebody else hinted) you have that zero savings. If you're just going to ramp up your spending to match your salary regardless of where it is, you're better of staying where you are. If you're smartly living to your needs rather than your means and sacking away as much as possible, then it seems a pretty straightforward decision.
Will you be busier in your new role, thereby having opportunity costs such as building a side project or learning new skills?
Does this new role have risks (industry, company, whether you will perform well)?
What does your partner/spouse think?
Are you disciplined enough that the extra 25% plus will actually go toward building savings and retirement funds or will your day to day lifestyle increase to absorb most of the additional funds?
In addition to industry comparisons which you have already articulated - what are the differences in learning opportunity in the two companies?
How do you think the quality of the two teams compare? Although obviously you know your current team a lot better.
I have been in similar situations: sometimes I picked the path that I was more passionate about, other times life's demands were greater and I went down the path of a more profitable but less intrinsically interesting industry.
Unfortunately there are no easy answers.
You don't mention the industry you're in right now, so it's hard to make comparisons.
Perhaps even more importantly, you didn't say what you do.
I think these questions are relevant, because in my experience satisfaction in one's work comes more from what one actually does than from the industry he/she is in.
Boring industries have some very interesting problems, so it is not rare to find a stimulating job in any industry.
How different would your work be at B?
I've acquired and had to integrate several companies. I can remember writing the operational playbook that was used to handle the types of questions you are asking. After acquiring the companies I also had to manage them for several years and hopefully this sheds some light on what you're asking.
2 top level things. The acquired entity can stay together as a whole or it can be broken up into its functional pieces.
While there are exceptions, the back office functions and people (accounting, finance, admin, etc) will usually get folded into the back office functions of the acquiring entity. If you are an employee in this function, most likely you will get absorbed or let go.
Depending on what the terms and goals around the acquisition the other functions and roles will be absorbed. For example, if the goal is to find "synergies" then redundant or non critical resources might be reassigned or let go.
In one acquisition I kept the product, engineering and business development team completely whole and located in their own building and tried to not mess with the success they had but just give them what they needed. We planned what we wanted to accomplish and then I just let them run and help get the bureaucracy out of the way.
Cultural fit is hard and important. When I acquired another company we tried to fold them in and it was hard on everyone. Within 2 years only 1 engineer remained and he was the one that was hired right before the acquisition so it wasn't as big if a cultural impact to him. If the culture of the entities don't jibe, it can create an unhealthy tension.
Best advice I can give you is to understand the goals of the acquisition, how your role maps or fits into the combined entity, the level of specialization your role has and what your personal goals are.
It will be a process. I've been wildly successful and a terrible failure. My take away is that the goals and people matter.
Hope this helps give you some perspective.
I was the last of the original team to leave. People started leaving within 3 months, and pretty much every 3-6 months another person would leave. I didn't mind it so much. Our new parent company didn't meddle too much until the end of my stay there. By the time I left, the company had grown to 2500+ employees, and I had been with the company longer than 95% of the employees. Kinda crazy.
My advice during an acquisition would be to a) get your boss to fight for you and push for a great retention package, b) polish up your resume, c) hope you don't need B because the new company is awesome. If they suck or they meddle too much or they don't actually share your personal/team values, it's time to leave.
Of course, the best advice is to be C-level, so you get a lot more than regular employees. ;)
I enjoyed my stay at the new company, but they acquired another company whose values I did not share, and that's when it was time to leave for me.
One thing I learned is that during situations like that, the acquiring company sometimes NEEDS you to be there to ensure that their purchase does not lose value. In those cases they will provide valuable incentives. So if you find yourself in that situation and unhappy, feel free to find a better offer since you may well get a high value counter-offer.
The first company I worked for was acquired within a couple of weeks of my starting to work there. It was a huge employer that kept the local economy afloat, then the new owners instigated tens of thousands of lay-offs. I left as soon as I could.
Another company was sold off very cheaply after being asset-stripped. I jumped ship as soon as I could but I'm still in touch with some people there and the new owners made a success of it.
Another firm got merged with another to provide a better range of services. There was almost no impact on my day-to-day work and no changes to terms of employment.
The next company was a small, scrappy player that got bought by their biggest competitor. A drip-feed of really crappy little changes ensued: no more flexi-time, must stay in this hotel chain, Lotus Notes for email. I had been planning to leave anyway and quit soon after the deal. Eventually everyone from the original team quit and some started a competing company in the same market.
Another company that I worked with got bought by a competitor. It became very clear that office politics trumped engineering practices throughout the new organisation. I stuck around for over a year trying to make it work but eventually I counted that my team of three engineers had five different managers each using us as leverage screw over the other guys - quitting time again!
In every case the new management said positive things, the outgoing management said positive things but there were never any actions or incentives to keep staff. This is understandable when buying market share, but that was not the case every time. Given that most coders can get a 10% raise by switching jobs, providing a 5% retention bonus seems a good way of getting engineers to ride out the changes of an acquisition.
Those managing the transition should pay attention to the little things too. I actually heard one HR person say that our coffee machine had to go because it was better than those in all the other offices of the group. You can imagine how well that change went across.
To answer your direct question, I was very late into all of the companies, and didn't survive any of the acquisitions. The changes were very quick. It's part of life as a consultant. (I'm not one anymore)
It's dirty but it works.
I'm of the opinion that it's important to maintain a good ratio of following:followers
If you follow 10,000 but only have 100 followers then people will assume you're spam and not follow you.
You can also use something like http://quuu.co/ which automates the posting of content via Buffer.
Alternatively, you could just join Twitter conversations naturally and build your following that way.
In my experience, Twitter doesn't give the best traffic (both quantity and quality) compared to other acquisition sources.
Follow and engage a few verified users in your niche, maybe they'll follow back.
2- Find if they publish any blogs with RSS fields
3- take those feeds and build an IFTTT script to publish links to those blog stories, you can also link to them through your own automated story aggregation site (you can use IFTTT to publish to Tumblr, adding links to your own product concatenated to the RSS story.
4- Be ready to turn your IFTTT bots off at any moment, if necessary
5- Eventually because you've been automatically published links to stories with the same context, other Twitter followers will find your Twitter feed.
6- Prepare yourself to suspect that the majority of Marketers' Twitter accounts may not be all human after all /s
Let's say we wanted to know about the `explode` function, right at the top of their page is a search box. Type in the function and a dropdown populates with a brief description of the function, adding confidence that you're on the right result.
You click the function and right there it gives you the function signature in easily readable text that's color coded. Just at a glance I know that explode will return an array, I must pass it a delimiter first, then the string I want to split and then there is an optional argument in square braces.
If that wasn't enough it goes on to explain each parameter down below as well as the return values.
Further down is the change log on what changed between versions.
Next up are what really makes the PHP documentation shine for me: examples.
Succinct and to the point examples with comments that have always been enough to get me started with the basics.
This would have been good enough, but they go a step further to give me related functions in the "See Also" section. Sometimes I'm looking for one function, but then find a function that can do it better, or I realize that hey after I perform this action, I'm probably going to need to use another one of these related functions such as the `implode` function.
User comments at the bottom are also great! They are usually insightful and have been very helpful in the past.
The writing for classes and extensions is also equally as good: well written, quick start guides, installation settings for Windows and Linux.
I've always felt that the website was very user friendly and accessible. When you go to the landing page you're not overwhelmed with information. Just a quick blurb about what PHP is, the news of releases, easy to find download options, and documentation and search are all above the fold and prominently featured.
I love how they provide example code for everything and explain it.
New York Times API docs
Most of documentation is simple enough to understand with examples and highlighted with right colors wherever it is required (I feel color highlighting remains under appreciated in documentation). And also one can invoke apis and play a bit.
Bad : mongoose.
OpenBSD's man pages are also excellent reference documents. One really great thing is that they document all possible behaviors, which is disturbingly rare for (e.g.) Python libraries.
Music - I assume he is taking lessons - keep doing that and maybe get him exposed to someone that teaches music theory and composition as well as piano. Or, just encourage him to continue on his own in music. Not everything has to be turned into 'school'.
Make sure he has access to lots of good books. Take him on trips to a well stocked library and introduce him to various non-fiction sections. In pre-internet days, when I was a kid, I got to the point where my mom would take me to the public library once a week and I would come home with a stack of 5 to 10 books (majority fiction, but not all of them) and I would have read them all by the next week. My reading addiction was helped by the fact that my parents decided not to have television in the house until us kids moved away as young adults (oh the abuse we suffered! Maybe not.)
Make sure he has his own computer and access to the internet. Introduce him to Wikipedia.
If he has an interest in programming help him get over the starting gate by setting up his environment and walking him through some first lessons then take a more back seat and let him go.
Academically - try to get him situated in a school that has some experience working with gifted children.
While it's often tempting to praise a kid when they do something right by telling them they're smart, it can detract from the critical notion that success comes from meaningful practice. Some psychologists have made an interesting case for focusing on praising the work that they have put in. Smart kids may be at risk for overestimating the role intelligence plays in learning, and thereby be more fragile when encountering failure.
This article gives an overview:http://www.theatlantic.com/education/archive/2015/06/the-s-w...
Treat him/her as a normal kid.
Unlike others I don't think he will benefit from enrichment programs much. Even in talented-youth programs (e.g. CTY, where I've taught) teachers will find it difficult to challenge him, and it sounds like he is already self-motivated.
EDIT now that I have a keyboard, to expound on the teacher thing: I've been on both the giving and receiving sides of talented-youth education. The problem for students with such high IQs is not that teachers don't know things they don't (they certainly do), but that teachers often have no experience with correcting the mental models & processes such intelligent children develop.
E.g. when I was young, I developed (incorrect) "folk" theories as to how capacitors worked, or the meaning of dividing one by zero, etc. In both cases I was wrong, and teachers told me I was wrong, but they couldn't explain why I was wrong (and hence correct my underlying misconceptions). It wasn't until college that I would encounter instructors who had such a profound grasp of the subject that they could deconstruct my folk theories. (Not that my theories were deep; just that my misunderstandings were deeply rooted.)
On the flip side, during the years I was a teacher/tutor, I met maybe 2-3 students whom I could tell right away I couldn't help. I could have told them things they didn't know, sure, but not anything they couldn't have read from a book. There were no flaws in their reasoning skills that I was capable of understanding, let alone fixing.
To be a truly effective teacher for a highly inquisitive mind, you have to be at least as intelligent, and more knowledgable than the student. For someone so smart as your second cousin, it will be a very tough find.
EDIT2: Academics aside, here is something cynical. If your family is not upper-class, and you are primarily concerned with the kid's success rather than straight-up smarts, find a friend who is upper-class and have the kid hang out with them. As someone with a middle-class upbringing, as I've entered my 30s I've come to realize how tangible class is in terms of networking and "getting ahead in life" (if that's what you're into). You can switch class with a lot of work by being very good at what you do, but it's a lot easier if you already "fit in" with the upper class because that stuff rubbed off on you when you were young. (Again, I recognize this is somewhat cynical and others probably have very different ideas.)
Programming. Make simple games in a language like Python.
Electronics. Start off a kit like snap circuits, then try to visit your local makerspace.
The game of Go. There is software for learning it, clubs (offline), as well as online teachers. The AGA keeps a list. Might also want to try Chess, but I prefer Go.