4 ms·
I can only speak from personal experience but here's what worked for me. Build one thing that will truly impress the senior engineers at whatever companies you'
by lopatin 10y ago
I can only speak from personal experience but here's what worked for me. Build one thing that will truly impress the senior engineers at whatever companies you're applying to. In order to be impressive, it has to solve an interesting engineering problem. Try to build it yourself. Fail (probably). Now go pick up a library that does the hard thing for you. What's great about this is that you're now very familiar with the hard problem and have ideas/opinions about it. That will make you a valuable contributor to that particular open source library. Your project will be the centerpiece of your resume, you have the lower level knowledge that will give you points during eng interviews, you've got an open source contribution that is actually impactful, and a war story for how you failed at some very hard problem (engineers love this). That is, go deep. Not wide. For me, the hard problem was real time sync of a multiplayer game but yours can be anything you're interested in. Drop your portfolio, call it a resume. Ditch the "wireframes" and don't even think about adding parallax to your site.
Edit:
Your idea of recreating popular websites is also good though, I just think it's more of a shot in the dark. If I saw a resume with a couple projects recreating some sites, even if they're good, it just doesn't tell me much, just that you're basically competent and most companies are looking for more than that. But if I saw a re-creation of Slack or Gmail that is comprehensive and actually looks and feels like the real thing, and handles errors correctly, and handles off-line mode, and has the performance of the original and is open source ... I might just literally throw money at you.
- deleted 10y ago[deleted]
- Calist0 10y agoThanks for the feedback! Do you know of any interesting engineering problems that I can try solving? Perhaps a project like this: https://haseeb-qureshi.github.io/n-queens-visualizer/ https://haseeb-qureshi.github.io/n-queens-visualizer/ The blogger used it for his own portfolio. It solves the 'N/Eight Queen Problem'. I actually tried doing it myself using JS and I ran into a lot of problems.. My skills may not be that far along yet.
- lopatin 10y agoI actually tried doing it myself using JS and I ran into a lot of problems.. Excellent. Keep trying until you succeed. In the interest of giving practical advice instead of hand waving, I'll just say that the n-queens link you provided is something that I would expect a good JS developer to build in, say .. a day. You will get there, and it's OK if for now it takes you way longer. "one day" is provided, of course, that I'm not being naive about what the implementation requires. Currently I think it is a collection of JS implementations of algorithms for which the pseudocode can be found on Wikipedia + a simple simulator that runs said algorithms one iteration at a time. (Interesting that the speed can be edited. I guess that rules out setInterval) Let me know if I presumed too much :) Definitely do it for fun, practice, confidence, github, etc... but I wouldn't make it the first thing on a resume unless there's something novel going on there. Try this: Find a thing and make it faster. Like way faster. Often, there is some operation (F) that is called many times on some type of object (X) and it's possible (perhaps using linear algebra) to improve performance by figuring out a way to express many operations on single items into one operation on many items. I.e. F([X1, X2, X3, ...]) instead of F(X1), then F(X2), then F(X3), ... and so on.
- duncanawoods 10y ago> Perhaps a project like this... n-queens-visualizer Ugh, projects like this feel like a homework puzzles that will have multiple extant solutions. As an interviewer, I'd prefer to see something more authentic. Is there nothing you want to see exist in the world? No actual problem you, your friends or family face that could be made easier with a little single page app? This could be something tiny like experiments for a better UX pattern for an app that frustrates you e.g. adding a friend in social network X or hashtag auto-completion etc. That lets you show creativity without committing to a large succeed/fail project. Closing the loop of identifying and resolving problems indicates a good engineer. If you can't come up with a long list of problems you see in the world I would be concerned!
- adrianratnapala 10y ago> ... I might just literally throw money at you. Watch out for people who literally throw money at you. Coins are easier to throw than banknotes. Better than peanuts I suppose.
- ahstilde 10y ago> But if I saw a re-creation of Slack or Gmail that is comprehensive and actually looks and feels like the real thing, and handles errors correctly, and handles off-line mode, and has the performance of the original and is open source I think many people would throw money at an open source Slack or Google.
- chickenfries 10y agoThrow away! https://www.mattermost.org https://www.mattermost.org