84 karma · joined October 31, 2016
My point is that the motivation shouldn't be a startup for startup's sake. It should be a problem you want to solve and a problem that you think you're the one who's going to solve it best. If you go about it like that, then there's no need to "develop domain expertise" because you likely already have that (but you can dive deeper depending on the exact scenario).
Codecademy is a great way to learn a bit of syntax and then build something. 'How to make a website' is a good intro course for getting into web dev.
There's also a lot of good python basic videos on YouTube, then he could dive into ML/AI with:
Machine Learning Recipes from Josh Gordon at Google https://www.youtube.com/watch?v=cKxRvEZd3Mw
Siraj Raval's channel on ML/AI/Programming https://www.youtube.com/channel/UCWN3xxRkmTPmbKwht9FuE5A/vid...
All that said, if you reallllly want a book: "Learn Python the hard way" by Zed Shaw https://learnpythonthehardway.org/
When I want to use it for relaxation/fun it's typically to go to vegas to play poker, but once a year i'll plan a trip with friends to somewhere we've never been
Spent another weekend building out basic functionality (login/register for tournament/report scores/"staff" ability to resolve disputes) Then we reached out to a gaming league who held tournaments three times a week. They used it had some issues, we fixed them. Opened it up to two more leagues and they all loved it and wanted to start putting money into it. This was the point when we felt "validated" again and considered this our MVP.
At that point it was about 6 days of coding and about a month of testing with these three "clients". We then ran with that MVP for another month, opening up to more people, and collected feedback before doing another round of coding.
In that case my recommendations are:
- have your supplies stocked and ready before hand. You dont want to have to think about what you'll drink or eat or listen to.
- you will need breaks so the key is to make them meaningful. (either productive or recharging) You can either go walk outside for 10 minutes, do some form of exercise for 5 minutes, watch a quick video of a code tutorial or other relevant content, etc.
- Plan what you're going to work on. Having an outline of the things you're going to accomplish and the order in which you'll tackle them removes a lot of guess work helps keep you productive.
- Get a buddy. For most everyone, having a partner (even if they're working on something else) will help keep you focused.
"Culture fit": In the startup world everyone is looking to hire people who fit their culture. They don't even necessarily have to know why they're doing it or what it ought to look like in an applicant, but they look for it anyways. So ways to make sure you're ticking this checkbox are making sure you're enthusiastic about coding and speak with excitement about what you're doing and the be excited about the company's core values. For example, most companies are consumer facing, so you need to get jazzed about providing the best user experience possible and be motivated by seeing people use your product and interacting with users and their feedback. The best advice I could give here is to make sure you do your research on the company, tailor your resume/cover letter/responses to match them, and just fake it till you make it.
Personal Projects: The other piece that applicants tend to not have (particularly people just entering the field) is solid portfolio work. One key aspect of that is open source contributions. Get excited by a framework or a library and not only become an expert on it, but get involved in the developer community and start contributing to the project on Github. The other important piece is projects that are real. Something that is original and actually solves a problem, something that people outside of your circle have used. Everyone and their mother has class assignment projects or online tutorial walkthroughs (kanbans, todo list, simple fetch from api and display, personal website). Only a very small fraction of people coming out of college or a bootcamp have a project that goes beyond the basics and teeters on being an actual product.
So my advice is to put more emphasis on those two aspects, make sure you're getting involved in the community online and in person via meetups (referrals are gold and trump just about anything), and avoid shotgunning for interviews (pick a few companies and focus on them).
An AI creating websites is definitely possible, but will it actually replace people? I don't see that happening (at least not at a large scale). It's much more likely to be a tool that developers use rather than a tool that replaces developers. Or possibly something similar to Squarespace. It might be able to manage content on its own and build webpages, but what happens when there's a bug? What happens when you want to innovate and create something new? An AI would have trouble accomplishing that, so web developers would still play a role.
Now the more important question in my mind isn't whether or not they will replace jobs, but rather does it matter if they do? And my answer to that is no. There's two scenarios. A scenario where AI completely eradicates all developer jobs, in which case AI has probably eradicated a majority of today's current jobs and we would adapt as a society. Either by instituting some changes like Universal Basic Income or by developing new job markets (probably geared more towards the arts or things we can't yet imagine). The second scenario is that AI is introduced more as a tool or a simple solution to web/app development. In that case, there will still be a need for devs to do the more complex stuff. There will also be other development fields to move into, like Machine Learning Engineer for example.
I like some of your points like get through to real people. That's an incredibly important part of landing a job. However I do have an issue with the graphic at the beginning. I think it's misleading, because you shouldn't really be applying to 200+ companies. When you take that kind of approach its like you're selling yourself short (not putting your best foot forward). Its like saying "I'll take anything, just please give me a job". It's also more difficult to actually show interest in whatever company you're talking to, which is a key part of performing well and ultimately obtaining an offer. So you end up showing 8 offers from 291 applications, but I would argue that by making so many applications, you are decreasing the rate at which the applications turn into offers. I can offer a contrasting viewpoint to this job search thing. When I was in school for Physics I taught myself how to program and started focusing on Web Dev. I ended up dropping out of school and decided to become a programmer. In that initial job search I applied to three companies in SF. (Companies that I was familiar with and legitimately interested in) and got offers from all three. That was two years ago and I've since applied to two other companies in Mountain View (I'm trying to move to an ML engineer position) and received offers from both as well. And like I said I think the difference between what our bar graphs would look like is due to the fact that my applications were much more targeted and my interest and motivation in the companies was much more apparent.