1. AI: A Modern Approach by Stuart Russell and Peter Norvig.
2. Deep Learning by Ian Goodfellow and Yoshua Bengio.
It is amazing how approachable both books are for beginners, but you will be diving a lot into academic stuff as you go along.
You can read the rest of the book if you want. You probably should, but I'll assume you know all of it.
Take Andrew Ng's Coursera. Do all the exercises in Matlab and python and R. Make sure you get the same answers with all of them.
Now forget all of that and read the deep learning book. Put tensorflow or torch on a Linux box and run examples until you get it. Do stuff with CNNs and RNNs and just feed forward NNs.
Once you do all of that, go on arXiv and read the most recent useful papers. The literature changes every few months, so keep up.There. Now you can probably be hired most places. If you need resume filler, so some Kaggle competitions. If you have debugging questions, use StackOverflow. If you have math questions, read more. If you have life questions, I have no idea.
source: fizixer https://news.ycombinator.com/item?id=13890952
FWIW, a "super harsh" guide to (learning) ML  was posted on reddit a few days ago.
Edit: The entire Reddit discussion feels slightly similar to this one, if more snarky. The first reply there also links all the resources listed above. I don't really know enough to add anything.
- The Master Algorithm: made for a general audience, gives you a lay of the land
- Python Machine Learning by Sebastian Raschka: gives you practical skills using python, scikit-learn, numpy, jupyter notebooks, pandas etc. From zero to kaggle in 4 chapters, goes deeper after that. Also goes into enough theory you aren't flying completely blind.
After that, I'm afraid I think you do need to go "academic", if by that you mean learning some of the underlying math to approach AI / ML from a more rigorous probabilistic perspective. I'd recommend studying probability theory and then working your way through Bishop's Pattern Recognition and Machine Learning. After that a lot more doors open up too more specialized topics like computer vision, reinforcement learning etc.
I've written up a lot more about this here:
* http://cs231n.stanford.edu/ (the course notes are excellent)
Use Tensorflow to train a few small neural nets. Move on to CNNs and RNNs. Make sure you actually do this. By this point you'll have read a lot, and retain none of it if you don't put it to use. Look at reinforcement learning. Use the book by Sutton and Barto, the new edition: https://webdocs.cs.ualberta.ca/~sutton/book/the-book-2nd.htm... Read the first 4-5 chapters, then go online and read about Deep Q learning, policy gradients, DDPG, etc. Then try to solve some problems on OpenAI Gym.
Once you have an idea of the kinds of problems you can solve, and have a couple you're interested in, go back and learn the foundational math, and start reading research papers.
In general, start with modern books that mention deep learning. With older books or high-level-overview books, you'll get frustrated when you see something cool on /r/machinelearning and can't find any mention of it in the book.
The first chapter in the book provides a detailed analysis of how other disciplines contribute to the idea of AI - from Philosophy to Psychology, Biology to Computer Science. Makes for an interesting read, even for a non-tech reader.
AI is academic (as a synonym for 'theoretical' and 'math-intensive'). Once you look beyond purely symbolic AI, which proved to be infeasible as @curuinor pointed out somewhere here, you will need to build up at least basic knowledge in probability theory and linear algebra.
The path I'm following at the moment is a quite rigorous one and is outlined here (http://www.deeplearningweekly.com/pages/open_source_deep_lea...).
If you've never had any exposure to probability theory or statistics, I recommend having a look at the course "MIT 6.041 Probabilistic Systems Analysis and Applied Probability" taught by John Tsitsiklis at MIT (video lectures are available through YouTube and MIT OpenCourseWare for free). Both the course and Tsitsiklis' book are superb learning materials to get into probabilisitc thinking.
Edit: Link was broken. Thanks to @blauditore.
Are you simply curious or is there something more pressing? For example, do you want some light reading or have you perhaps been asked to implement machine learning for your company?
Most answers here assume you want to jump into the ML swamp and start analyzing your trove of "big data" ASAP. But is that so?
The canonical text is by Daphne Koller; a course I took used Martin Wainwright's monograph though - the book is briefer and dives into the math quicker.
This is a good getting started book for TensorFlow:
- The Emotion Machine by Minsky
- Superintelligence: Paths, Dangers, Strategies by Nick Bostrom
You'd think there would have been 100 "How To Make a Computer Chess Engine in BASIC" books back in the 80s, and continuing to the present day, but I can't find them. Lots of papers and online tutorials, and some stuff in textbooks, but no accessible hands-on books.
It also depends on what you're going to focus on. Are you looking to implement a game-playing agent? An object recognition algorithm? More of a logic focus?
If you just want Deep Learning and statistical methods, then Bishop's Pattern Recognition and Machine Learning is a good start. Otherwise, Russel and Norvig's Artificial Intelligence or Patrick Winston's similarly titled book are great starting points. For more big-picture stuff,
Marvin Minsky's Society of Mind is great, and Hofstader's Gdel, Escher, Bach is a classic too. Both are a lot less practical though, which seems to be what you're looking for.
Gives a great run through of the history of AI research. Understanding the approaches that have been tried before gives you a sense of why the state of the field is what it is today. It is worth bearing in mind that AI research expands far beyond computer science into psychology, philosophy, linguistics etc.
But it could be a bit too theoretical - it provides a foundational mathematical framework and got me thinking about problems in a better way.
I'd also recommend:
Godel, Escher Bach: an Eternal Golden Braid
by Douglas Hofstadter. Might not be exactly what you're looking for (it's all over the place, touching music theory, math, art, philosophy...), but it's fun and enjoyable to read. Also very dense.
One of the best books on AI and Programming ever.
Then I look at the very worst possible outcome and judge how bad it is.
It's never "dead." It's rarely "unemployable." It's often "basically the same, with less cash in the bank."
Making this list makes the decision easy.
I've done it (twice), it's worth it, do it.
A few things you need to know though:
- Time goes fast, keep track of your money and start working again _before_ you run out. Best is actually to define a budget for this.
- After 4-6 months of resting and travelling, it will have become the new normal, you'll be well rested and ready for something new.
- Once you hit that point, make sure you have clearly defined goals as to what you want to achieve with the available time you have. Without those, time will pass and you'll probably have little to show for it (except a good time)
YC-funded companies are known to be large-scale consumers of free and open source software. They are able to leverage the competitive advantage provided by this digital infrastructure to build successful, high valuation businesses. Some of those companies have gone on to make great contributions to the Open Source community themselves.
Would YC ever consider setting up a fund for the builders and maintainers of the infrastructure that your companies depend upon?
I was suggested by few YC Alums that YC will not accept a startup if the founders are not working full time on it.
Question: In my case I am working full time because it's helping me fund my startup and It's actually helping me grow it due to connection to my peers (I am M.D from India working on a Health Startup). Is this a bad sign ?
I simply do not have the resources (and enough revenue) to quit my job Yet. But I am dedicated 200 % towards my startup and the vision. And I spend most of my time (outside of work) on my startup.
We're two founders working on products for people of color.
We have two ideas we want to work: 1) a networking type idea 2) a media and entertainment idea.
We love both these ideas deeply, we've committed most of our time to idea 1 bc we can make an MVP for it but we want to work on #2 bc it will have more promise given market trends and we like the idea more.
The problem with #2 is that it requires a lots of capital to make video content and we don't have domain expertise in film production.
As a result we're torn as to what we should write about on the YC app. Our app focuses on the 1st idea but we mention the 2nd idea plenty of times. We would love your thoughts.
Thank you Michael for taking the time to be accessible to the community.
How do you when the right time is to quit a business that just isn't working? And how do you distinguish between normal obstacles and hardship vs real signs that signal the business isn't viable?
With Trump picking Scott Gottlieb to be the next FDA commissioner, the FDA approval process is expected to get more lenient. Would you say that YC (or investors in general) would be open to take more risks with high tech startups that do not have a clinically validated product as of now?
One more question - Given that the FDA process takes a lot of time, quite a few biotech companies often get acquired or merged with bigger companies that can afford to do so, without ever having actually gotten their product out on the market. Would you say that you look at the company's potential return in that sense when you evaluate startups? I'm not entirely sure if this question makes sense, so let me know if you want me to clarify!
Would you advise someone against being a solo founder? If not, is it much harder for a solo founder to fundraise?
For example, I remember reading (sorry, no source) that YC is starting to hold events in Canada in order to welcome those who may not be able to come to the U.S. due to the current administration's executive orders. It looks like this may push startups out of the United States.
I'm hoping you can comment on this action, and other actions that might affect the startups in America and around the world, including, but not limited to actions involving education, public funding, military spending.
We are working on building a demo-quality HW prototype, with the ETA of ~6months. That means we will not be focused on growth, but on tech development. Should we wait until we have a working system and apply to YC when we are ready to scale and grow it (this is our current thought).
Is there a point in applying again with the same idea? The only thing that would have changed is that my other business, listed as an accomplishment, is now 5 times as successful. (In the 350k range vs 70k.)
I was also thinking of applying with that business, but it's not really a YC kind of company. Would YC fund an e-commerce company with no particularly unique approach, just selling on 3P marketplaces, and ambitions of growing to maybe pharmapacks level (100 million in yearly revenue, around the biggest such company)?
Like a company trying to make something as disruptive as Pokemon Go, which required quick scale and reached a massive audience in a very short time.
Q: What are some of the top weighing attributes you're looking at for companies applying today, and how heavy (1-10 scale) would you say they count towards an acceptance decision. I'm envisioning a "credit score" for application.
Do you think YC's application process is skewed towards accepting people who are great at talking?
If a startup has taken a lot of dilution before applying for YC, is YC flexible enough to not dilute the founders but come up with a structure that makes them get 7% through a secondary sale or some other tactic which makes sense for that specific situation?
I have mostly come to the conclusion that the answer is no because YC likes to do stuff in a standard way and there is no room of flexibility w.r.t that aspect of the program terms. Just wanted to confirm that though.
(Full disclosure: I applied with an Ethereum wallet one year ago and got an interview but was told that the path to market wasn't clear enough. The project was ultimately absorbed into a different incubator. )
also, how developed must a startup be to apply. should the product already be developed?
As international founders (Egypt), our team is a bit worried about the whole visa situation. I heard the interviews are generally held 2 weeks after the invitation. Do you help with obtaining a visa for the interview and is 2 weeks enough time to go through the whole visa process?
How would you characterize the effectiveness of the scaling that YC has done over the last few years? Meaning, the increase in partners coupled with broadening of the scope of markets, not to mention YC Research.
Too much too soon, going well as planned, could still do more...
It sounds like if you do it once, you already get a solid network, and you probably don't need the cash. So I don't really understand what made you go back there.
How will computer science ever be taught to the general K-12 population if software engineers make $102k and teachers make $45k in the US on average? This gap seems to only be increasing too.
How should we think about developing solutions to solve the problem of affordable CS education for everyone?
Even with the best textbooks, curriculums, etc., it is probably not enough for the average teacher (definitely without a CS background) to teach CS effectively.
Thanks for the AMA
Question: Is there are more stringent criteria for accepting international founders and companies, focused on their local markets?
The reason I am asking this is because most of the companies from India in the latest batch, seem to have a lot of traction and/or significant amount of funding before being accepted into YC. Most looks like good candidates for Series A.
Vs other US based founders and startups in the current and previous batches
Thanks for doing this!
My question is: How can we make a better environment for discovering cures/vaccines? Can we create a almost like a "YC" for research of biological sciences.
Although, I don't know much about this area, I feel there needs to be a better way to allow the most intelligent people have the resources they need to discover cures/vaccines etc, with no external barriers. Thank you.
By best I mean one which has had the most positive impact on people's life, where positive impact is some function of just two variables - the number of people affected and the intensity of that affect.
Also of these two variables which one do you weigh more and why?
PS. We are raktor.org, working on telepresence participatory theatre, which we believe is the future of entertainment. Currently in VR, though whether it's VR or not is not relevant to our long term goals of being an Uber-for-theatre-performers.
What's the "big thing" 10 years from now? Ie Are smartphones still the rage and hottest "endpoint"? Did security wind up being the highest demand/pay IT career path? Etc
For example Boom Aero focused on supersonic and another startup applies to YC with subsonic aircraft.
From what I read typically VC firms usually don't fund two companies as such example.
Where do you fall on the spectrum of looking for high probability wins vs black swan hunting? To put it another way, how high of a failure percentage would you accept so long as it maximized total cohort value?
E.g. would you accept see it as a loss if you funded the best single startup of the decade and all other YC funded companies failed? How about a 90% failture rate, but huge winners bringing a bigger return than YC has historically had? How do you balance the desire for a good hit rate vs a good total return?
Which pairings of personality type and role works better in your experience for YC applications?
considering the 1% rule, do you think our culture of media consumption is in our nature or something we've created? is it a trend? do you think there will be more room in the future for companies that serve amateur producers? can we create more producers?
sorry for so many question marks. it's a single question- poorly formed. :)
Has YC ever considered moving from the Bay Area due to the high cost of living there?
What advantages does YC see in being in the Bay Area that prevents them from moving elsewhere, or setting up a satellite office in, perhaps, Vancouver?
What are the top three things that you'd look for in a healthcare startup from India applying for YC summer batch 2017?
One factor when evaluating startups is how long it will take to get everything ready. Some can launch in a month, but some depend on breakthroughs or environment shifts that will take a decade to happen.
Is there a Goldilocks zone that lends itself to better outcomes? How far into the future is too far?
(I'll assume you're rich and were smart enough to take a vacation somewhere along the line.)
Where is the coolest place you've ever visited ?(and what about it did you enjoy ?)
Just asking cause you may be interested in my product, (or in accepting me in your summer session haha).
Seriously though, startup accelerators never talk about their internal tools, any insight?
Are their chances any better? What could've happened since the last application that would make their current application worse?
The only one I recall is Luke Iseman (great guy) that left this year (currently a YC alumni).
thanks for taking the time to reply.
What advice do you have for technical solo founders who have also been doing user acquisition at a reasonable high conversion rate, applying to YC S2017? (besides go find a co-founder)
What advice do you have for some who is happy with their current trajectory, but might want to start their own business in say 10 years?
what resources do you recommend to learn sales if you're young and inexperienced and want to begin your startup sales career?
edit: I find your lack of response to this question telling.
Do you really do this for every startup in YC?
If so, are your internal rankings accurate predictors of startup success?
Is there any unintuitive advice would you give to companies that might want to start selling to companies?
edit: sort of forgot to abide by community norms here and keep my comments on-topic. apologies
As a bipartisan political newsletter whose primary user base right now are college students in Berkeley, would you have any recommendation on how to expand beyond this bubble of student subscribers? Maybe on how to reach out to influencers who may be willing to help?
some suggestions: build a side project and post it to github. volunteer for some folks. try and land a freelance project or 2, even if its under market rate. build a portfolio from this stuff. start a blog and post about what you're learning. get some inspiration at simpleprogrammer.com
this is a marathon not a sprint, and you are just a kid.
- 38 yr old jaded vet. got into the industry when i was 26.
Some times things can be discouraging in this industry, so look at this as training for in the future when you have to get through a discouraging or trying time.
Sample size is far too small, 10X that number-- you'll have broader/deeper feedback. Understand that submitting job board applications is a time suck & energy drain.
Suggest shifting strategy, focus efforts on getting in-person meetings with people you can help (i.e. Managers, Directors, VP's of Engineering, CIO's) Get out of your house. Start attending networking events (Conferences, Meet-ups, Hackathons). Reach out to alumni from your program.
Its worth repeating, this is a marathon not a sprint
write some software/design a network/etc.. whatever you want to do as a job, send that with your resume.
go to some places where people are doing what you want to do for fun, like Longmont has the Tinkermill, Boulder has tech meetups, you can meet people there who are starting companies and see if you can help out, that experience can get you a job quickly if you're a fast learner.
experience is easy to gain, quality experience is harder to come by, but once you know what to look for in the companies/people you're working with, you'll get that as well.
Even though he would get little or no responses, he'd talk to his employees about the time he and Marc had a conversation regarding such and such business matter.
I just think something feels off about him. The enthusiasm doesn't feel 100% genuine.
I don't get this feeling from anyone else in the company. But hopefully I am not blinded by "knowing" this about CEOs from HN/startup scene/roumours etc.
Worst part? I feel like I'd like to learn from it / about it. It is a really fascinating topic for me. I almost kind of envy it somehow.
The answer to this question is most definitely Yes, but the question remains the proper one.
I had the same problem this morning. Disabling QUIC solved it.
Funnily I switched to Microsoft Edge for a short while, but have once again realized why its unusable. After about 1-2 minutes using it, the entire browser became unresponsive for about 60 seconds. Afterwards I couldnt press sign-in on YouTube because an invisible IFrame from the OneNote Web Clipper Extension was overlaying it. Nobody seems to be testing those either :)
This looks like an implementation error, either client or server-side.
For me what worked was removing Google's DNS server 188.8.131.52 from my network settings and voila; it worked.
I find it odd that QUIC is enabled by default when it apparently has poor fallback capabilities to "non-QUIC" mode.
So it is not only on Mac OS X
Edit: And it started working again :)
For some reason, even disabling it did not help.
Our workaround, was to use the old system browser for authentication and then switch to using chrome after being authenticated.
Anybody seen anything like that? Is it possible that a corrupted packet could appear as a self-signed certificate? Did some MITM screw up?
Hence the nut you've to track is allowing pseudonymous persona's but not allowing spam/riff-raff, and building a genuine community of helpers. Helping anonymous strangers is an inherently altruistic endeavour so you have to figure out the carrot and stick factors for both sides.
Don't you think this will discourage potential users? What's my incentive to use this service, if you are basically going to sell my fears about myself for profit?
I have never been a lazy person in terms of physical activity. I like all kinds of sportive activities - hiking, biking, football (soccer), swimming, working out, etc. But over years I had become very lazy for mental gym, a master of procrastination, developing a massive fear of intellectual activity. A few years passed, and I became so tired of myself not doing a useful cognitive work. I hated it - if you ever been a mentally-active person even in a childhood and in later years you realize you've become slacker, then you will hate yourself for not doing useful things. It's a good thing if it bothers you - it should bother you.
What started my recovery from procrastination was reading. It was like going back to roots - I was an avid reader as a child, so, it really helped me to kick-start. At this point, I guess everyone has some kind of useful hobby, or habit, as a mental activity and if it has gone rusty, they should clean that up and start rotating the gears. BTW, I should also mention the "Learning How To Learn" course (MOOC on Coursera by Barbara Oakley). It helped me a lot too, as I like learning by listening and it motivated me to set a daily goals & complete them. Essentially, it taught me to follow a lesson/lecture again. Maybe this course (it's like "brain 101" or "how a brain works and how to use it efficiently") will not do the same for everyone, but is't not about this exact course - it's about to start learning again, you choose your own one.
All in all, IMHO, procrastination is a massive fear of mental activity (rather than lazyness) and it's so harmful as almost all other fears & one should face it to get rid of it - again, like other fears, it frightens you as long as you avoid facing it. After the face-off, it's just downhill and you feel relieved. (And procrastination can never be overcomed enough and one should never let languor overtake them, IMO.)
Administration would give me tasks to do, then change them multiple times, and finally do nothing if I didn't do them 95% of the time. I got to the point where I could not complete any paperwork unless someone from admin was standing beside me saying this had to be completed that minute or else the university was shutting down.
In college, I got a part time job which I started taking more shifts at and stopped going to classes altogether because I was anxious about doing classwork.
After dropping out, I went full time self studying 3D art and animation through DigitalTutors (now Pluralsight). I found myself more interested in programming so traded that for Pluralsight and Safari Books Online.
Both 3D art and programming were immensely more interesting to me than Physics (which I was studying before) which I think influenced my work ethic.
I got a programming job which forced me to learn as an additional full time job.
I'm a relatively successful professional now, but I still suffer from devastating procrastination. I put off launching an engineering blog for my company for almost a year because there was a step I avoided which eventually I did and it took 15 mins.
The things which have been effective for me are the pomodoro technique. I use kanbanflow for this which also has a kanban board. I don't use this for everything, but I rely on it when I'm unmotivated or the task is really important.
I also became more effective when I switched managers and made it a point to ask them to bug me about things. I tend to take on a lot of side projects and get them 80% done. Having a accountability (peer and/or manager) whom you actually care about impressing (or disappointing) is important, even if they're not in tech or at your company.
I've realized that if I do something every day at some point I don't see it as a task anymore but as something I do without thinking, like brushing my teeth, so I have more time of the day allocated to useful/productive stuff and procrastinate much less.
The biggest thing would be to shift from future mentality to now mentality. Be interested in the process, not the results. When you visualize or anticipate the results, it robs required energy from the present to perform the action that leads to those results...
Basically you've got to rewire yourself to derive satisfaction from doing, not resting in anticipation of a future outlook. A future which never actually matches the visualization exactly, because if it did, you'd be a gotdamn oracle.
As an example of the situations I avoid, right now I'm meant to get in touch with my doctor and ask for a referral to an organization who can help me with my disability. I've been at this point for the last 25 days - because I don't know if I talk to the office administrator, the nurse, or the doctor.
That's it. That's the only reason, and like omarchowdhury says, it's a case of "just do it." But - and this is the killer - I have a really powerful compulsion to avoid it. It's similar to the compulsion not to climb a scaffold for those of us scared of heights, a strong driving compulsion that is difficult to overcome.
Similarly, I've got a stack of books the length of my arm, all waiting to be read, but I haven't touched them in probably five years. I used to read a book every few days, sometimes two a day if they were short enough, but I haven't (re)developed the rule set that allows me to get back into that.
A friend and I are developing a project (and game), and I haven't done anything on that in two or three weeks. Longer, if I'm honest with myself. Again, that same compulsion drives me to avoid working on it.
I have an email waiting to be sent. It's almost ready, I just need to read it to be sure it's correct, re-write a small bit of it, and then I can send it. Three weeks.
Instead, I just sit here, reading short but pointless crap on the internet, watching videos on YouTube, going off to work for a couple of hours a day, which brings me to my next point - that if I'm doing something for someone else, I can usually fly right through it with ease.
I have no explanation for this, just that it can be a symptom of my disability, and I have no understanding on how to approach it or beat it, so I will be watching this thread with some interest.
Think I should point out that when I reply on here, quite often I'll forget to check and see if anybody's replied to me. When I do remember, it's often while I'm out and I'll plan to do it later, but then I don't remember. Not strictly a procrastination problem, but it falls roughly in line with it.
So my solution is simple. I say to myself: "I'm not gonna work on that boring thing, I'll just have a look at it." This relieves the pressure and allows me to get started. Next thing is: "Ok, so I'll just do this one little thing." Three hours later: "Shit, it's done.".
Also it helped me to write down activities I want to stop, e.g. "No HN before 5pm; No news before 5pm".
And the last thing is to remove all possible distractions. Put your phone out of your visual field, block sites, etc.
The flip side for me is that I'm very driven by deadlines: I hate to be late (or more specifically, too late). So, to overcome my ingrained habits, I split up tasks and set intermediate deadlines for each subtask, not too far in the future. If I have a real, hard deadline I'll impose myself an arbitrary deadline the day before; this way I may slip my own deadline by a few hours, but I'll definitely make the real deadline. I may also sit on tasks for a few days (or weeks), until the accumulated feeling of urgency from all those chores to be done is enough to get me moving.
It's more coping than overcoming, but I find it useful in practice, at least for my natural inclination. Taking an MBTI course really helped as well, it helped me understand why I behaved in certain ways and identify my coping mechanisms for what they are - I've behaved this way for a long time, but I always felt kind of guilty for having to use tactics to get anything done.
Sit on the couch and get feeling "good" and guilty about not doing a given task.
Then, promise yourself that if you get up and just get it started (assemble the materials, or scrape the dishes, or define the variables...) you will have pushed the project forward and earned the right to sit back down.
That's surprisingly easy to do. Once your are started though, there will be no way you will want to sit back down. You have got this thing on the run. You are wining!
I KNOW it sounds silly. It works for me, and it works for others I've talked to. It's your life. Good luck.
For me it was ADHD; the stress of a deadline is stimulating which increases my focus. That's a shitty way to live though so getting it treated helped a lot.
I see another comment where it was anxiety.
If you only procrastinate certain things, you just might find those activities aversive. You can adress that, to a certain degree, by scheduling. Do X amount of the work you hate followed immediately by Y amount of work you like; it's a simple way of rewarding yourself for doing what you don't like. If all of your work is work you hate, prepare yourself for a different job if at all possible.
Some people procrastinate just because they are poorly organized; any system (GtD seems to be popular) can fix a lot of this.
Other times procrastination can just be a form of self-sabotage (there are many reasons for doing this; you think you don't deserve success; you are avoiding the greater responsibility that will come with success &c.). "I left it to the last-minute" is a simple excuse for doing a mediocre job and lets you avoid self-reflection for why you are sabotaging yourself.
There's probably lots of other reasons for procrastination, but the one pattern for myself and friends who had procrastination persist into adulthood was that it was a symptom, and while treating the symptom can help in the short term, treating the problem is a better long-term fix.
One important point is your level of energy and a fresh mind.
* Stand up earlier
* Decrease your coffee consumption
* Get used to cold showers
* Eat healthy
* Do sports
* Stop using social media
* Don't watch TV or series (make it a rule to only watch with others)
* Don't listen to music all the time. Enjoy music. If you definitely need it, listen to some without vocals. Vocals are more distracting and so you are less focused and so you get less stuff done and so you are less motivated and BOOM, back on HN.
After getting better at beating procrastination, the main problem has been is the feeling that my brain is totally dead and "heavy" after working on mentally-taxing things for hours - napping seems to help with this, but I can't always just nap whenever I want.
Also Chrome plugins to block Reddit and HN (sorry, HN).
I've found that when I align myself mentally, spiritually and physically with what I feel I truly should be doing, procrastination reduces dramatically.
That's a hard thing to do, though. Takes a lot of thinking and meditation. But it's achievable.
Most importantly I do a lot of working on my self-awareness, and recognizing when I'm not in control.
Next would be medication so I can actually do something when I hit that realization. I'm fine without it until the stress hits and then it's too late. I've considered that maybe it's a placebo effect thing, but at this point I don't really care. I don't have horrible side effects or feel weird or anything I can't live with.
I have to be extremely honest about myself all the time. If I'm behind, I say so. If I'm stressed I say so. It rarely bites me and it keeps me from having to scramble to cover a lie or exaggeration. Anxiety feeds on anxiety.
Then there's all that agile bullcrap. I try to think in 1 or 2 week sprints depending on the project. Occasionally I look up to see what my bigger goals are and make sure my small ones make progress towards them.
I have to work in a supportive team, so we keep each other on track and in perspective. We have to be able to cross-delegate so we don't get bogged down. It's way more fun to share in success and failure with friends.
I get killed by long-term deadlines. Give me 6 months and I'll turn a shell script into a new language project. So I ignore the "cure world hunger" stuff and just make sure I'm making progress all the time. That way I enjoy my success rather than constantly feeling like I'll never make utopia. I focus on MVP, then MVP + 1, and so on. I never fall in love with my own work or some piece of tech, so I'm happy to scrap it when it stops being useful.
Now I get a lot done. I have a reputation for getting a lot done in short periods of time. But I still always have to combat the feeling that I'm not moving fast enough and I'm letting people down. Talking with people who care about you (because they're friends, your spouse, or you're paying them to help) is the only way to really deal with that.
I guess the common themes here are to be self-aware, communicate, and keep moving forward in as small iterations as is reasonable.
I was called "lazy" my whole life. Then I got the right diagnosis in my mid thirties and began getting my act together. I wasn't lazy. I just didn't have the energy to do the things I needed to do.
I still am not as productive as I would like to be, but it is vastly better than it used to be.
"You have to meet inspiration half way"
What that means is just sit down and start doing something. After about 30 minutes you get in the flow and it carries you the rest of the way.
I am not a psychologist, so take the next 5 points with a HUGE grain of salt.
1. Ask yourself if you are suppressing an impulse to perform tasks, or waiting the impulse out, or simply not experiencing the impulse at all. Ask yourself what dots need to be connected to actually lead you to performing the task. Some people procrastinate tasks that require nearly zero effort... often at great personal cost. If you notice yourself doing this, take some time to reflect(non-judgmentally) on your behavior-- its profoundness, irrationality, and what could be gained if it were changed. Think about the day-to-day reasons that a 5-minute task gets drawn out over 2 months. Rephrase your question to "am I accidentally thinking procrastination is helpful?" Procrastination may be a mood regulation technique; rather than thinking of it as "avoiding a boring task", ask if it is "the pleasurable experience of defying or hiding from an 'undesirable' task". When viewed through that lens, procrastination is a maladaptive coping mechanism vaguely like binge-eating or self-harm. The next questions become "why would I think procrastination is helpful?" and "why would I feel the need to cope?" Hypothesize your reasons-- the self-fulfilling prophesy of underachievement. The avoidance of engagement with real life. The assertion of control. What else? Be with these ideas for a while, and ask what is best for you.
2. (rephrasing oldmancoyote's comment) 1/10 rule: for 1 minute of work, you earn 10 minutes of "break." Seriously, get 10 minutes of break guilt-free for 1 minute of work. It's a great deal.
3. Present and patient. Practice mindfulness meditation to help with your emotional state and train your ability to be "present" in your current task. (see omarchowdhury's comment) Being able to be present without thinking about the future is difficult, but it is paradoxically important for your future. Also realize that by being fully patient and present in this menial task, you can sometimes be in a self-healing, meditative state.
4. http://www.procrastination.ca / https://www.youtube.com/watch?v=mhFQA998WiA
5. https://en.wikipedia.org/wiki/Cognitive_load (feel free to assert that cognitive load does not affect work avoidance) You may be experiencing a self-regulation failure due to high cognitive load. "Abnormal" brain chemistry like ADHD, bipolar, depression, etc., ... dysphoria sometimes due to a sedentary or unhealthy lifestyle, and social or personal problems will eventually sap your emotional energy and cause you to revert to coping mechanisms(see point 1). Invest in that emotional energy. Also blood sugar/insulin
A ExerciseB 1/10 ideaC TherapyD Healthy LifestyleE MeditationF Brain Chemistry
Say you know Rails, go to a Rails meetup. Say you enjoy politics and tech, find a Civic Tech meetup. In NYC, I'm certain there are tons of excellent tech related meetups that provide opportunities to socialize with the community and get to know what's going on. The added benefit is that some of the hosts of the meetups are looking for employees, or some of the members belong to companies that are looking for people.
You might say, "I don't like networking." That's fine, not every tech event is a networking event. Civic Tech meetups for example focus on working on projects in your spare time that benefit citizens. During a meetup you can sit in on a project meeting and potentially contribute if you're interested. So it's a natural way to collaborate with others on a shared goal and to learn. Very different than going to a bar and having to strike up a conversation with another person.
I don't view going to meetups as a direct method to gaining a job, but rather, increasing the likelihood of serendipity. Maybe you'll go one day, and a employee of a company announces they are actively looking for someone. Or maybe you make friends with someone knows someone who is looking for someone. Or maybe you come up with an idea of an interesting side project that could be an excellent way of proving your chops to a potential employer. The idea is that you already know what you know, that applying is hard and hugely competitive, so why not try a bit more of a circuitous route by going through humans first?
And I say this having got my first job in NYC through a friend, my first co-founder through a friend, my first startup through a friend, my first YC interview because of exceptional co-founders who were way smarter than me but I met through friends.. basically it didn't matter that I didn't go to an Ivy League or prestigious program, all that mattered was putting in a ton of effort to build my skills (like yourself) alongside connecting directly with people.
I hired someone out of a bootcamp who turned out to be the best hire I have ever made in my entire 10 year career. Initially I wasn't even aware that this person had been in a bootcamp. I proceeded to interview purely on abilities and grilled 'em on some questions about DOM, JS, CSS etc... (the candidate was applying to be on our frontend team).
First, do not let this weigh you down. 50% of anything you get in life is not whether or not you have the qualifications for it -- but if you believe you're gonna get it. It applies to asking someone out on a date, telling a risky joke, or trying to find a job. It's great you're aware of the stigma associated with bootcamps, but don't let it define who you are.
Second, and this is primarily for the other people in this thread: don't judge a book by it's cover. The aforementioned best hire I've ever made in my life was an individual fresh out of a bootcamp who, prior to that, was essentially a jarhead in the Marine corps. If I was starting something new today and needed someone technical on my team they'd be the first person I would go to. This individual started as a frontend engineer and - almost overnight - was sharing 50% of the workload with myself at every level of the stack, all the way down to configuring kafka/cassandra clusters and building internal microservices.
Finally -- sell your narrative. Ignoring the obvious baseline qualifications a technical person needs, most people are not looking for a technical genius who went to Carnegie Mellon and aced every single class. They're looking for pragmatic engineers who are quick on their feet and can dive deep to the root of an issue to engineer a straightforward solution to the actual problem. Demonstrate this ability and it will go a long way. You say that you're making it pretty far down the path so your cover letters are working. You might just need to change your narrative to flip the minds of those who keep considering you a junior engineer. People want you to help them solve problems -- they want to work with people they can trust -- show them that.
Keep doing what you are doing -- also please send me your resume to email@example.com because you sound like a rad person.
- Build a MVP of an application you would find useful, try to cover it with unit tests and modern day practices. I think having something on the table will greatly improve your chances.- Find a job somewhere else. I've never lived in the US but at least all my life I had to move to another city, and even to another continent to get the job I've wanted, that wanted me. The city I've lived most of my life I have no chances of getting a job: there are no jobs in my area there.
I know that NY is a great city for a developer, but the life cost and everything tells me that it's a "high level" city, the one you go after you had previous success. Places where life cost is low, there are many students and businesses at early stages are great.
I also suggest you to work for a startup. Perhaps one with many problems and issues at early stage which you would probably need to pull out more than 40h/week, because that will make you improve. I did that at the beginning of my career and it completely changed my life: I moved to a first world country, I've got married, I can make money etc. Those hard experiences make us way stronger. Of course, only do that if your current life allows you to do so: having kids or even trying to maintain a good relationship with others will be hard.
Have you considered applying for jobs in the boonies of NYC? NJ, Long Island, Upstate? If you are the sort of young person living in NYC I am imagining you to be, the prospect of commuting to the burbs is horror-inducing to you. It is to most of your peers, with whom you are competing; you will have a leg up if you are willing to commute to Poughkeepsie for a year.
- have you tried reaching out to your alumni network or the career development person at the bootcamp?
- what has feedback been about your interviews? if it's "we're looking for someone more senior", ask them what are the traits of a senior person and work towards that
- in terms of interview prep, you've know the answers to explaining .this, closures, class instantiation, async right? And how are your "tell me about yourself", "time when things were difficult" stories? Confident? Engaging?
I don't think you need to go back to school. Perhaps the market is flooded with bootcamp grads and now it's how do you differentiate yourself. Better portfolio site, stronger Github presence with good readmes. And like thegandhi says, sometimes it's out of your control. Some companies really just want fresh grads with 3.8 GPAs.
Also, take a week off from job hunting or even thinking about the internet. Go out camping, be out in nature, and reset.
Finally, a word on bootcamps. I've interviewed several candidates who graduated from bootcamps. Some are great. Others are not. I think the attitude generally is that a bootcamp listed on a resume isn't an indication of anything. If this is one of the primary ways you define yourself, I would deemphasize it. Instead, emphasize code you've written (in the form of Github repos, Gists, CodePens, live sites, etc.) and communicate that you think like a programmer, even if you don't have a lot of experience. These are the two things I focus on when interviewing junior candidates.
That's the wrong approach, IMO. The goal of job applications isn't to make the best impression possible, but rather to find companies that are interested in talking to junior engineers.
The right approach is something like make/find a spreadsheet with 500+ tech companies in NY and send out something like 20 applications per day. If you're efficient about things, you can totally send out an application in <3 minutes, so it'll take no more than an hour of grinding per day.
Save the research and application quality for when you've got a warm lead.
>the bootcamp on my resum isn't a strong guarantor of quality
Drop it from the resume and just put in your freelance work and independent projects, IMO.
I was in your position 3 years ago, although not from a bootcamp but came from another country without any plausible experience / projects to show for, so I built a website and its administrative area and talked a lot about it on the interview, how I built it, the problems I encountered and so on. That might help a little bit, asking for NYC salary ( I guess around $60-$70k) withouth anything to show for is a hard decision to take for any employer out there.
A) Get more things into the top of the funnel -- fill out more applications.
B) Fix the leaks parts of the funnel -- It sounds like you get stuck at the resume screen. I don't see any quick wins here.
C) Find a new way past the leaky part of the funnel -- Have you tried contacting hiring managers or engineers directly (cold emails, networking events, ...)?
I hire seniors and high-potential juniors. Many mid-levels are mid-level because they don't have what it takes to become a senior. Those high-potential junior might or might not have it, but this doesn't really matter. If they don't have it, they become the war horses that are very familiar with the stack, and that do most of the implementation work, while the seniors do more the architectural kind of work, and take care of the juniors.
Not hiring juniors that have little experience, but seem to be very intelligent and eager to work, is one of the biggest mistakes you can do in tech hiring.
Remove bootcamp from your resume. Its not for resumes, its primarily for gaining skills. No one will be impressed by Bootcamp. Give list of your projects but don't mention where you developed them. Just say, Self starter/learner. Bootcamp is a negative indicator, imho.
Give them a ping, ask for a friendly 'fellow alumnus' referral. Would they be open to quick 7-10 minute phone call? Do they know any local companies amenable to Bootcamp talent?
The shared connection of the Bootcamp might yield some interesting opportunities.
Any notable achievements from your publicity career you can mention in your resume?
Are there are a lot of people with a similar background to yours (publicity + coding skills)? If not, can you somehow use your publicity career to your advantage?
You need some information on what's not working. There's a kind of funnel:
Phone screen -> at home task/project -> onsite -> offer
Sometimes there are 2 or more phone screens. Sometimes the take home project is after the onsite. Sometimes there are multiple onsite interview. But write out a general funnel in a spreadsheet and track how you do with each company. Each company will be a row. You want to see how far to the right you are getting. You have lots of data at this point - populate the spreadsheet with it.
Why? To see where you're dropping off, and to see how you do with different kinds of roles, industries, and companies in terms of size. Are you applying to the right jobs? Are you applying within 1-4 weeks after the job is posted (rather than being 1 of 100+ applications in the pile because the posting is 4 months old)? If you aren't getting many phone screens, work on your resume format and wording, cover letters, and your digital persona (LinkedIn, blog, etc). Get honest feedback from people you know, and if you still get the same results, hire someone to improve your resume and help you write a cover letter or two that you can mimic for future applications. If you aren't getting many call backs after a phone screen, work on how you're answering questions (your narrative, behavioral answers, technical answers, describing previous work experience, your tone, etc.). Do practice interviews, and practice your answer to questions. If the process seems to stop after the take home project, practice these types of projects on your own. If you aren't getting offers after onsites, that's where you need to focus.
Especially on the phone screen and in person, when people ask if you have any questions, ask them "Do you have any concerns about my abilities or qualifications that would prevent you from selecting me for this position?" Patterns will emerge. You can address their concerns, but only if you know about them. Help communicate to your interviewer who you are and why you're hirable and will do well at the role. With this knowledge, you'll be able to anticipate these concerns and soften them with other interviewers in the future.
Apply to 5-10 jobs a day. Pick 5 if that's more realistic. 5 a day will get you a lot more feedback on what's working and what isn't than 2 a day. Put a little less work into each one if you have to - they should be personalized and good, but they don't have to be perfect.
Reach out to people who gave you a "not now" answer 4-6 months after that happens. Their needs change all the time, and your skills are constantly improving, so at some point it might work out with one.
Start a technical blog. Talk about your side projects, freelance work (if your client is ok with it), algorithms, useful dev tools - anything technical. Posts don't have to be that long or groundbreaking, but this will help you get a job. Put it on your resume, Github profile, LinkedIn, so people know it exists.
Focus on what's most likely to get you what you want, a full time job. C#, Elm, and Haskell are awesome. Focus on one for a day or two if the company you're interviewing for uses them. If you want to, dabble a little for your own learning and enjoyment, but focus your energy on things that will help lead to a full-time job in the short term. You have a lifetime to explore and learn.
Apply to gaming companies if that's what you're passionate about. Especially ones that need the skills you have most strongly now - web development. Possibly for their marketing teams (because of your former experience with publicity).
1. Map the interview process funnel. Figure out where you're dropping off, and focus on improving that area. 2. Ask people what concerns they have with you, and address them. 3. Apply to 5-10 jobs a day. Whatever the number, pick it and do it. You'll get more data which is essential to improve. 4. Reach out to employers who said "Not now" 4-6 months after because their needs may have changed and your skills have increased. 5. Start a technical blog. 6. Dabble a little less in a wide variety of technologies that aren't as applicable to the roles full time jobs you're applying to. Study them once you have it. 7. Make sure to apply to gaming companies if that's what you're passionate about.
You got this. Best of luck!
I didn't have a stellar portfolio, but the jobs I applied to got so many applicants with NO portfolio that I immediately stood out.
The thing is -- your personal projects don't have to be front-page HN-worthy, but they should demonstrate skills that you'd be using on the job you're applying for.
Where "recruiters" and "recruiting systems" do front line recruiting, projects don't matter. They're pattern matching resumes and looking for specific things they're told to look for. These would be growth stage startups and large companies, generally companies that hire in volumes and don't have the time or patience to holistically look at candidates.
In short: don't work on projects just to showcase your skills and get hired - hiring is a crap shoot. Work on them because you love working on them, and believe that the world could benefit from them no matter how small.
My group didn't want to work on our project (I was the only tech person in the group)
Attempted to get into an incubator with those people.
Met up with another team wanting to build a startup.
Built it. Launched it. Learned Meteor and expanded JS skills
Got job at startup writing JS.
tl;dr: Pretty far.
Granted it was a simpler time back then, but I fundamentally believe in the idea of scratching ones own itch and showing the world. Maybe things are saturated now, and you won't stand out as much, but I still think shipping is the ultimate litmus test. If you can ship stuff by yourself that's one of the most powerful signals, and we are very fortunate how easy it is to do that as developers in the modern age.
A lot of startups are aping Google/Facebook and trying to get the absolute smartest engineers they can find by casting a wide net and then aggressively culling so they end up with what they believe are the cream. If you really want to get into one of these then you need to practice algorithms and whiteboarding, you can improve at it. That said, passing a high interview bar says very little about your real value as a programmer. Companies like Google and Facebook have amazing technical knowledge and to work on, but your individual impact will rarely be detectable. And if you're not careful you end up with the golden hand cuffs in the sense that no other companies pay as well, and you won't really learn the hustling skills you need if you ever want to do your own thing.
You're personal projects, assuming they are really compelling to you and not exclusively to showcase your skill set, will be the strongest assets you have when an opportunity arises to do what you are passionate about. The degree will, likely, be far less important than your body of work.
Follow your passion in your personal projects and you will be positioned well when the opportunity to pursue that same passion professionally presents itself. And you will likely be exceptionally well versed in the subject matter that is important to that employer as well since they will likely be considering you due of your body of work in the exactly the area where they are in need. Good luck.
The better strategy is to take a job where you know you can introduce programming into your assignments, even if your job isn't a developer position.
- improve communication skills
- learn yourself by teaching others
- it's open source, you give something back
- maybe it is even good for your employer
- personal branding, enhance own credibility
-  https://www.robinwieruch.de/
Having impressive side projects puts you ahead of the majority of applicants at most places.
0. You exercise your passion
1. You improve your coding skill
2. You learn new stuff
3. You build a portfolio
4. You network (if you decide to do your side-project in a group)
5. There is a slight chance that your project will succeed.
I personally started spending all my free time in side projects about a year ago, and it was the best decision ever.
It sounds like you're happy with the work environment, which is not something that should be taken for granted. Stay on board and continue to put in your best effort.
As an employer, I would not turn down any ex-Uber, as long as he or she did not trigger warning lights during the interviews.
Just focus on the technichal side and the money. If you feel good every morning when you wake up to go working for them, then stay.
If not, then that would make a great explanation to your next employer for him/her not to consider you a job hopper. Along the lines of "I quit at Uber because, as you very well know, the culture there was toxic and yours looks much more interesting, blah blah...".
[Edit] I am working for a company doing "legal spamming" -according to German law. It is kind of useless shit the world would be better off without but the work makes fun and pays the bills. Is Uber hiring in Germany?
I had management assure me that legal had been consulted, and don't worry, they say it's not technically illegal. If the media finds out and we get bad press, PR has already made plans for how they'll respond to it. The responses they gave me really made me lose respect for the managers above that.
Uber is (imho) a morally bankrupt company- even by the standards of companies. The question you should ask yourself isn't whether that will look bad on your resume, but whether you're going to live regretting you were part of it.
I make a bit less money overall now. I also sleep a lot better at night.
As an aside, the Otto scandal might even be enough reason to want to leave. It's now far less likely that your stock options will ever amount to anything. But leaving for this reason won't be as widely respected, so don't mention it to recruiters.
The thing that will prevent you from being hired, even if you are good, is not owning the fact that you chose to stay at Uber. If you're 100% okay with staying Uber, and you're only worried about perception, I'd say don't about what other people will think. But if you're ashamed to don your Uber hoodie in public and/or you cringe to answer the question "where do you work?", that's harder for you. That may have more to do with how you feel about it, and less to do with what other people will think.
Imagine this... You're the hiring manager for a startup that needs a darn good engineer. Someone applies to your company, and their two previous employers were Ashley Madison and Adult Friend Finder. You've previously interviewed candidates from both companies. If those candidates had been amazing, then you will do anything you can to get that applicant in the door for an interview. If the applicants all bombed, you'll be likely to think the engineering talent at AM and AFF wasn't any good. Neither situation have anything to do with the fact that both companies were adult-oriented websites, which carries some social stigma with it. The AM/AFF applicant might have a tough time getting a job at Eharmony because of their personal values as a Christian-friendly website.
My reasons for leaving Uber were simple - My team was toxic. You're not having this problem... or maybe you are and don't realize it. Much of what made it so toxic felt like my failures - Inability to understand the deployment strategy, things moving faster than I could keep up, objectives changing/not well documented.
After a while, I realized that the whole organization was engaged in gaslighting. We were always at war with Eurasia. My manager changed OKRs middle of the quarter. Decisions that I had written agreement on were questioned in the next meeting. Changes were made based on people's personal preferences, without regard for negative effects on others or the moving targets they presented. Coworkers were being cagey about giving advice or plans because they wanted to be 'the hero' and solve problems that I was trying to fix, or they didn't want to admit mistakes, or...
Anyway. I suggest you move on. But it may be worth sticking around for your bonus/stock options. On the other hand - People are going to be willing to give you the benefit of the doubt if you're getting out of Uber now. In six months, it will be a real black mark.
I'd personally give a thumbs up to any qualified engineer interviewed with me and mentioned that a big part of the reason he or she left Uber was because of their lack of morals. That takes balls, and so does leaving before the "standard" two year mark, so people who do that are either stupid and ballsy or principled and ballsy - the latter type of person is almost always a great person to work with as long as their principles make sense. There's nothing worse than a principled, ballsy Machiavellian.
So, to reiterate - quit if it really aligns with your principles as a person and you're ready to explain that, stay otherwise. It could also be that in 6 months staying at Uber will be against your principles, making that a great time to jump ship. I think the advantage you have is that since a lot people know Uber is toxic they won't fault you for wanting to get out.
Should you quit? Probably not. Should you be exploring other options? Maybe...and that's mostly orthogonal to being employed at Uber but not entirely. Personally, I don't think it is likely that Uber is going to significantly change its culture based upon its responses (they look like hunkering down and lawyering up).
Now in terms of 'strictly concerned with the impact on my career' that looks like a moral/ethical the-ends-justify-the-means-approach. Here, there are two relevant factors. One is that there is very little certainty regarding how job hopping or staying at Uber will effect your career. The other is that there is a near certainty that people will judge your decision on moral/ethical grounds and that some will judge it as being reflection of a character that is ok with Uber's culture as described by recent events.
When hiring includes consideration of 'cultural fit' time spent at Uber will weigh into those considerations as a risk for companies with an orthogonal culture. Since the longer someone spends in a culture the more likely a person is to become acculturated, the duration of one's 'post-Fowler' employment might be considered when assessing the 'cultural fit' risk/benefit of previous experience at Uber.
I am not pretending that I know what will help or hurt your career: careers vary on an individual basis. I am pretending that what you do or don't do is a choice about who you are. The internet is not going to give you permission for either choice.
Aside from the outrage/noise you read on the internet, I don't think is much or any stigma associated with working at any particular company.
Uber's brand has become toxic not just on the commercial side but within the tech industry to an extent too and things happen as a result of that.
Just something to think about.
Do it because it's the right thing to do, not because you're worried about having Uber on your resume.
But since you say you're strictly concerned about the impact on your career, I can tell you that seeing Uber on a resume beyond March 2017 would be an instant red flag for me. I wouldn't bother phone screening that person.
Plenty of companies won't care though, so if you just like money and don't have qualms about your employer's rapidly growing list of unethical activities, then by all means stay.
As for having a known toxic company on your resume, that should only be a red flag if you were in a position to alter that toxic environment (senior manager, HR roles, etc).
If I were in your shoes, I might be looking to move elsewhere. But, unless you're unhappy, there's no need to hurry.
If I felt I had an external justification to explain a hop and I had doubts about my employer, I would look immediately for a job filtering for ones that I would actually want to keep for 3-4 years. If a new employer accepts you and you actually stay a few years, I would consider a future employer that had an issue with your resume rather odd. While sticking it out at an employer that you feel uncertain about can leave you in a worse place with the wrong timing.
If you are concerned now, and can find a better offer that you are very comfortable with, I'd say jump ship.
In a period of about 3 years I went through 4 jobs. I never once was asked or told that my job hopping was a concern in any interviews (probably 50 all together) or offers.
Interestingly the only time I got push back on my "job hopping" Was when I left my first job that I was at for 3 years. I was being interviewed by my potential manager and one of his reports. As the interview was wrapping up the report piped up "How do we know you aren't just going to leave us in 3 years?"
The manager took control and smoothed that question over and I didn't have to answer it but it was an obvious power play and I'm glad someone else was in the room.
If you don't like your job, then look around. Maybe look around just to know what the market is like. But don't leave something you enjoy purely because you're afraid of what others will think on your resume.
If it comes up in an interview, focus strictly on your work and how you contributed your skills to the business.
Software engineers ought to be fine moving on from Uber. It'll be the high-level execs who, rightly, will end up having trouble explaining their role in Uber in an interview :)
The most important thing to realize right now is that your caught up in a news cycle (albeit, a pretty bad one), but eventually the talks will quiet down and it will be a thing of the past (not saying that there aren't serious issues at Uber, but it won't get media coverage because people will be tired of it).
I agree with brandon272. No one has ever been disqualified from a job because their former employer was unpopular in the media (unless there is a major political statement that comes along with the employer i.e. marijuana advocacy, NRA, etc).
Stay on board, keep doing the best you can, and most importantly, don't get caught up in all the negative crap. Treat everyone else with respect and support your female coworkers if they need you.
That said, I think leaving Uber would be a significant advantage compared to other companies. In most cases you need to convince your interviewer that the previous company had poor culture without sounding bitter - but for Uber they will probably already know how bad the culture can be.
But there are far more important reasons to stay or leave than fear for what others think. Do you like it there? Are you learning? Can you look at yourself in the mirror every morning for working there? If yes, then stay. If no, then leave.
Of course the smart thing to do is to first look for another job, and only then leave. That way you don't have to leave until you know it's safe to do so.
The same media that's slamming Uber today slammed every successful company... these armchair analysts, who haven't been through 0.01% of the struggles that entrepreneurs go through, predicted that Amazon, Netflix, Tesla, Uber will all go down. Now they're working overtime to paint Uber as a frat house with no ethics.
Every company has issues. Some even as severe as recent Uber events w.r.t harassment. But they fix it. They learn. They move on. Uber is not Travis, or the CTO, or the few people that came to limelight for bad culture. Uber is bigger than all of them.
Don't quit something because the press is saying bad things about it. Don't run away from problems. Fix them. That's what engineers do.
Don't quit now - good jobs can be hard to get!
Silicon Valley is always talking about "changing the world" while building pointless apps that will only exist for 5 years at most as they try to sell to a bigger data mining company. All in the name of "being passionate about what you do".
Fuck that. Starting a for profit business is mostly always about making money, so as an employee you should try to get as much money as you can from them. If you start a company and really believe you are changing the world or making the world a better a place, then make it a non profit. Otherwise, get your head out of your ass.
In fact, we're thinking the opposite: let's use this as an opportunity to hire engineers in your position (and we're currently hiring).
However in your position no one could reasonably hold it against you. Perhaps it doesn't hurt to put out feelers though.
As a potential employer I would be more concerned about you changing jobs with less than a year at both previous jobs. Assuming you are not looking to take a pay cut, you would have to be stellar technically to even be considered with so little experience. Finally, I would consider you overly sensitive to outside influences and question whether you would stay with a new employer through thick and thin.
Are you happy? If yes then why leave? Leave if you're unhappy. Stay if you're happy or you have a family and a mortgage and have a good salary to pay it asap.
If you are subconsciously trying to look for an excuse to leave, well now is as good as any of a time to stop kidding yourself and get out of there.
Uber appoints Zoubin Ghahramani as chief scientist: https://news.ycombinator.com/item?id=13876497
Take a look around, but don't do anything drastic out of an emotional reaction.
There are idiots everywhere. I don't see Americans running out of American as they are ruled by idiots, lead by a pussy grabber.
Uber is an innovative company. Stick around.
Stick it out.
Save money, learn as much as you can, do interesting things at and outside of work.
Plan what you want to do in the future.
Stay as long as you can for being overpaid.
Imo at some point years from now the large $$$$ won't be there any more.
Bottom line. Most of us work for someone else. No matter what we do.
Plus everyone eventually leaves X, since they die. You don't have a plan for immortality, do you?
It would be easier if your company provided help, but much harder without that help.Try to learn from those American people who visited Europe and read both positive and negative feedback they left.
You work in one of the best places.
My wife and I moved from the US to London back in July for the sake of adventure and it has been great. In fact, I'm answering this from Sorrento next to my wife who has already fallen asleep from a day hiking around Pompeii. I highly recommend London as a city both to travel from and to explore in its is right.
I'd be happy to hop on a video chat to give you more in-depth advice, but the short answer to your question is that yes, there are a number of companies tho are hiring and willing to sponsor visas. GoCardless, the company I work for does and the engineering team there is pretty great.
There are also a couple recruiters I know who are ethical, knowledgeable, and communicative.
As far as your specific background, am I correct in thinking that you doing network/telecom programming right now and you are looking to do more web/mobile?
Before start to search for a job in europe you must decide WHERE you want go.Europe is a bit different from America...we're a union but every country has his own immigration rules and culture.
You are ok with the cold and snow of denmark ? or you prefer the sun ? you know spanish(this could help a bit to learn portuguese quickly)
Btw isn't very diffucult for an american that has lived and workex in silicon valley find a job here(see the HN job offers thread)
Wish you the best.
For small backlogs and non-technical users, Trello can be effective, but mature software projects tend to accumulate thousands of open bugs and feature requests and things-we'd-like-to-do-better-someday-if-we-ever-have-the-time. Trello's cards aren't skimmable, and you can't sort and filter them by multiple dimensions the way I'd prefer. There's no way to group a bunch of cards into something like an epic. And I still haven't figured out in Trello how to assign a card to one person but have other people subscribe to updates on it. It's ok to be the engineer assigned work via Trello, but it's awful to be the project manager trying to manage a backlog in Trello.
Asana is good for personal to-dos and tiny projects, but it's awful if you need to track the status of an issue through multiple steps of a process. It's a nearly perfect platform for GTD lists. But GTD is not a system for communication among multiple people.
Finally, both Asana and Trello are missing unique, persistent, human-readable issue IDs that can be used to quickly refer to and pull up a specific item out of hundreds or thousands that may have similar keywords. It seems like a small thing, but is a huge deal dealer for me because it breaks communication.
As for Basecamp, which someone else mentioned, I find it effective for communicating about a project with clients, but not for tracking the internal status of a large number of tasks for some of the same reasons outlined above.
In the past we've used Pivotal Tracker and Trello, but neither was a good fit. Also looked at Jira, but the interface had too much overhead (slow and required too many clicks to do anything).
VSTS and Jira and basically equivalent in my experience.
Unfortunately I find their ux/ui painful to use, everything is a custom widget, and seems painfully slow from here (s.e. Asia on not fantastic adsl)
Use Pivotal Tracker.
The easiest thing you can do is e-mail all penetration testing companies who can find near (or far) from where you live and ask if they are looking for interns or graduates. Even if they don't advertise at the moment, there's a good chance you'll get a positive reply, because the demand is greater than the supply.
Most security companies have a research department which you'll be able to apply for, after you've joined (at least in the UK such departments require security clearance).
Also, having an OSCP or OSCE certificate will definitely get you an interview.
Go where the fish are-- start attending conferences. Often the organizers wil have a discount rate for students. Sometimes they'll offer free admission if you volunteer at reception booth for a few hours. Being there in-person makes a big impact, it's a signal you're serious.
Here's good list > https://www.concise-courses.com/security/conferences-of-2017...
I think this is where you belong: www.reddit.com/r/iamverysmary
It's funny you can't find application security job postings, most of the bread and butter work these days is web, mobile and penetration testing. Get into security consulting and you'll do this type of gigs till your fingers bleed.
I'd suggest you learn about security, there's plenty of good info and books to be found and try to apply it instead of talk about it.
Internships and jobs will open up from being part of a CTF group. It's also A LOT of fun* (*opinion).
netsec might not necessarily be what you're looking for. A position as a Security Researcher is probably what you most fit into... finding the right recruiter can also help you out a lot.
Another (and honestly, easier to get into) security industry is the public sector. Intelligence agencies, military intelligence branches, etc. They'll hire you based on personality and potential, and will train you further. This (in my limited experience) usually means less pay.
Hope this helps. Good luck!
Here's how I see things. Blockchains are distributed databases (e.g. MongoDB) with three new characteristics: decentralized (no single entity owns or controls), immutable (tamper-resistant), and assets (you own the asset if you have the private key).
Each new characteristic of blockchain tech leads to business benefits. "Decentralized" helps organizations share resources; e.g. music labels sharing a database of who-wrote-what. "Immutable" gives better audit trails; e.g. to see history of ownership of art. "Assets" can now live on the data store itself, which enables decentralized exchanges and more.
Let's use this as a basis to answer the question...
You can use blockchain tech in your existing centralized stacks. E.g. it would run side-by-side with your instances of Postgres, MongoDB, etc. Typically the blockchain would incorporated as a database-as-a-service. This would make the stack partly-decentralized.
Or you can go for a fully-decentralized stack. You'd have decentralized file systems (e.g. IPFS), decentralized processing aka "smart contracts" (e.g. Ethereum), and decentralized database (e.g. BigchainDB).
I suppose if a blockchain were secured - that is the nodes were all trusted and there was no way for a third party to interject into the blockchain - it could be very useful for solving conflict of interest problems. I believe it is being used for situations similar to "letters of credit" already, and that's a good application scenario.
I haven't been involved with any non-bitcoin blockchain implementations, so I'm not familiar with the specific issues companies face. But I know both Microsoft and IBM have blockchains-as-a-service and I imagine somebody is working on it. I'd love to hear of their experience.
Watch it; it will change your perspective and understanding.
Bitcoin does not rely on new breakthroughs in any science. The thing that's revolutionary about it is the idea of a people's currency, not the technologies used. The technologies that make that possible are all quite old.
Bitcoin's "blockchain" is not even the most efficient way to solve a given problem. It is intentionally inefficient by a variable factor (difficulty) to provide economic stability.
After Bitcoin's rise, a lot of people in banking wanted to believe that there is some magic element of Bitcoin that makes it technologically better than what they offer, because that would mean they could use that technology to create their own Bitcoin. But there isn't. People use it precisely because it allows them to store and exchange wealth outside of banks and nation states. The tech is irrelevant.
Step 2.) ??????
Step 3.) Profit!!!
my site: https://cmp.isrepo: https://github.com/0xcmp/cmpis.github.io-hugo
Now, I pay $2.95/month to have wordpress.com host it. I know it's not a very l33t solution, but the migration was easy and it works well enough. I get ~10 visitors a day, so it really doesn't matter, I suppose. It's mostly just a dumping ground for whatever nonsense pops into my head from time to time: (https://jamesadam.me/).
 https://middlemanapp.com/ http://paulzaich.com/
Completely automated, blazing fast, and all 3 are FREE. Netlify even includes basic SSL for free (!!!), and that what I've implemented on all my Netlify hosted sites.
Here's 1 of my blogs that I maintain using this setup. https://www.pawpurrazi.com/
I've also made a youtube video tutorial showing you step by step how to do this. https://www.youtube.com/watch?v=CSwoCvd4QIc
I came to this setup from previously using WordPress to host all my blogs and then getting tired of dealing with all the security holes, performance bottlenecks and "pharma hacks" that come with it. I did evaluate Jekyll as the blog engine, but the lack of incremental builds was a dealbreaker for me. Hugo has incremental builds from v 0.16 onwards, and it is also super fast, I tested with 5000 posts, builds in a few seconds.
DISCLAIMER: I don't work for Netlify nor am affiliated with them. I find their service to be blazing fast and their support is excellent (even for free tiers), so I made the video a while back for everyone else to use. The co-founders Matt Biilmann and Chris Bach are both super smart and answer questions promptly, Matt also appears to have deep technical knowledge when it comes to caching, security, performance etc.
S3 bucket static website is great. I have also hosted React apps with full routing by setting 'error' page to 'index.html' on the S3 bucket properties.
I'm looking into a better way to host a blog, but it will be a while until I do.
-  https://www.robinwieruch.de/own-website-in-five-days/
The advantage over pelican:
1. python notebook (Jupyter) is a first class citizen
2. I can set custom urls for each post. same as the previous blog system from which I am migrating
Mostly because I support what Neocities wants to be and I loved the old Geocities community. I'm not active in the Neocities community due to time but I do my best to encourage others to join. :)
I could find alternative hosting for $2/mo that would suit my needs but don't.
The main purpose of my site is for easier sharing of things: programs I use, anime recommendations, music recommendations, and how to contact me.
People read successful people's blogs, not yours nor mine (had one 15 years ago, no one read that either). So stop wasting time on tweaking the front porch and work on the piping instead.
Without my ever giving them my credit card number, they or the attendant ad agency have cross-linked my credit card with my Facebook account. :-(
This may be more noticeable to me, because Facebook on my phone is one of the few places I haven't blocked ads. I don't block them out of spite; I block them because, 1) They completely distract me, when they move and make noise; 2) I've yet to encounter an ad network I trust.
I simply don't do much secure stuff on my phone, and I use a separate email account on it that's not tied to anything significant.
Facebook on my phone is also eerie in presenting content and ads that relate to what I've recently been doing. If they aren't outright monitoring my conversations, they are damned good at determining my location (while my GPS is turned off) and making remarkable inferences as to what the topics at hand likely were.
If it weren't the default means my wide-ranging friends use to keep in touch, I'd by having a serious conversation with myself today as to whether it was time to uninstall it. I'm still debating; just don't want to fall out of touch with those friends.
P.S. As has been mentioned here frequently, FB maintains shadow profiles for people who don't have Facebook accounts.
Facebook is becoming a primary connection / cross-reference between market activity (e.g. shopping) and personal data (not just ZIP, age, etc. demographics, but likes and activities, and that all-important social network).
* $38k / year (In Seattle, which is about $3/hr above minimum wage)
* 2% salary goes to union dues
* She can't get insurance for the first 3 months
* She was not allowed to negotiate salary, even though she got a 4.0 and a perfect score on her MA test. That means she got the same package as a high-school drop-out who got a 2.3 GPA in MA school and a barely-passing test score.
I, as a non-unioned software engineer:
* Make more than $200k
* Always get health-insurance on day one
* Can easily negotiate not only starting salary, but also raise amounts
* Am compensated on background, instead of an arbitrary "this is your first day, so you make the same as everyone else" leveling system.
* Don't have to pay anyone for the privilege
* Don't have to work with shitty co-workers, because they can be fired without the employer fearing retribution from a big, faceless union.
So tell me-- why in the hell would I want to join a union?
It's very important that OKRs should not conflated with performance reviews. These are goals that the team sets for itself and is accountable to itself for. If you stray there, you'll end up with bad goals and lots of sandbagging. If the two is separated, it becomes very easy to understand another key principle - that you should set about 70% completion as the goal. Targeting 100% completion leads to easy, overestimated goals - it's nice to allow for and encourage extra effort without penalizing the team for directional changes. And speaking of business priority changes - change your KRs, why not? Objectives should in theory be higher level and not be randomized over a duration of one quarter (otherwise you have bigger issues), but in practice it can of course happen and again - so you don't hit an objective. As long as all are aware of the reasons, it shouldn't be a big deal.
Get together as a team and discuss openly what your next quarter's (or whatever) goals should be. I personally find more value in that conversation than in the resulting objectives/KRs. They are important to write down and revisit progress regularly, but that initial directional alignment is key IMO.
I'm not with Google, but I do like their OKR presentation if this is something you want to learn more about - https://rework.withgoogle.com/guides/set-goals-with-okrs/ste....
get a product owner & scrum master.
Roughly once a month we meet and we start a brief round table where whoever propose project he would like to work during the day, then we pair up and each pair (or triplets) works together at whichever project they have decided.
After lunch and before to leave we communicate to the other the "successes" of the day which can be either commits, PR, learn a new thing or just had fun with friends.
Goal of the day is to contribute to open source, sometimes we succeed done other times we just have fun and learn new things.
You could start a similar events in your area...
Nobody can tell at this point in time..Nevertheless, regarding Python in the browser, there's Brython  which works, although I don't know how's using it in production..
Maybe I should bring that to the Python-idea mailing list instead.
That is a social problem not a technical one.
You need to sell the idea to your team to try to improve the code base with every commit you do. Every time you need to make changes in some source file, see what clean up you can do to it as well.
Depending on the morale/motivation/priorities of the team, this can be a harder sell than it should be.
Lead by example. Show good judgement on how much to do. Small changes accumulate fast. Don't upset/hinder people by changing vast tracts of code that they need to work on.
As a great VP of Engineering I once had the fortune to work with told me: Software engineering is a team sport.
Sure, a mass refactoring is going to cause a lot of pain to merge in, but you shouldn't be making massive pull requests in the first place. I don't think small refactoring here and there should be an issue. It's not like we've never dealt with merge conflicts before.
If your company is discouraging refactoring because it will cause merge conflicts, that's probably not a good sign of things to come.
However, if the information is reasonably accurate and links back to the merchant's site it is very unlikely they will complain, especially if the links are 'follow' and not affiliated (not that it would make much difference anyway).
If the website owner says there DO NoT CRAWL, uou cannot use that data.
I don't know... sounds like life coaching.
The getting stuff of chest angle is interesting because it's rarely possible at work, due to needing to keep a professional facade.
I would suggest that there are probably a few vote brigade bots out there. I think the most common bot would be a story cross poster, which takes top-stories from places like lobste.rs et. al. and posts them to HN to build reputation.
I find Harvard Business Review to be my best source of management and leadership article, both the books they publish and the quarterly magazine.
Another source I like is Software Lead Weekly mailing list.