3 ms·
I don’t have one and mainly the reason is I don’t need one to get a job. The other reason is I’m not selling myself as someone who has a lot of open source code
by quickthrower2 6y ago
I don’t have one and mainly the reason is I don’t need one to get a job. The other reason is I’m not selling myself as someone who has a lot of open source code, and any code I write on the weekends is going to be dogshit from a clean code perspective. Because I am learning and prototyping.
That said the main thing the company hiring needs to know is does SO story predict success in the job? Probably a little bit - it at least highlights commitment and you could scrape HN to find good stories then reach out. But if you ask “do you have a story/why not” to people coming in from regular channels even SO applicants I think it’ll waste a lot of people’s time in both sides.
- ChrisMarshallNY 6y agoThat depends. My “nights and weekends” code is not “dogshit”[0]. I spent a lot of time as a manager, and it was how I “kept my chops up.” One of my side projects[1] has turned into a worldwide standard; used daily by tens of thousands of people. I fail to see how, if we are talking “clean code,” a short leetcode test will say anything more than a portfolio; even one with “quick and dirty” code (which is all you’ll get in the test, anyway). Also, if companies start using portfolios as material for hiring, then folks are a lot more likely to take care, in their extracurricular work. That won’t hurt. I think there’s a real crisis of quality, in today’s software. I see a lot of pretty impressive stuff, daily on GitHub; even “experimental” projects. There’s a great deal of code and history out there. The fact that someone is working on side projects; especially if they are doing so as part of a team, can speak volumes on their behalf. The SO Story is less common. I wouldn’t expect that from everyone, but it can be quite helpful. It organizes this stuff. Have you ever seen a graphic designer apply for a job? When they arrive for their interview, they come in, holding a large, flat, black case. It’s called a “portfolio,” and contains samples of their work. They often also contain interim work, showing the person’s process. Even students, fresh out of school, are expected to have one. It’s so standardized, that companies don’t even mention the need to bring one with you. Today, it’s probably quite common for the portfolio to be digital. No design company on earth would ignore that, flip a matchbook into the interview table, and ask the designer to “draw Spunky,” but that is exactly what most tech companies are doing, these days. Basically, what I am saying, is that many folks have a lot of pretty good stuff available as some kind of portfolio, and it’s, quite frankly, ridiculous to think a whiteboard test will tell us more about someone than that. Even if the work is not suitable for our use, it can be the structure for a conversation. One of my favorite things to do, in an interview, was to find a “story” the applicant wanted to tell, so a lot of my questions were designed to find the “hook,” where they suddenly smiled, and started to tell me about problems they solved, or teams they worked with. Those conversations are gold. They are what we look for. All the rest is BS, and many developers aren’t “people persons.” Getting them to “open up” like that is really the job of any interviewer. It has been my experience that hiring managers and recruiters completely ignore portfolios. Even companies that ask for GH or HN handles seem to ignore the contents. I think they just want to find out if people have them, as some kind of “cultural flag” (I have also seen a lot of GH handles that tell me the developer is not so good, but I’d not know that, unless I looked; and what people write here...well, not so sure that’s helpful to convince managers that we’d be good team members). [0] Don’t take my word for it; look for yourself: https://github.com/ChrisMarshallNY https://github.com/ChrisMarshallNY [1] This shows the reach of the project. It’s a “live” dashboard: https://tally.bmlt.app/ https://tally.bmlt.app/
- quickthrower2 6y agoGraphic design is a bit different in that it take a lot less time to evaluate than code, and you can probably use IP protected work in your portfolio, since it is protected as a trademark not as a trade secret. Yes you have, prima facie, written good code. I don't have 2 hours now to fully critique it though. If I were interviewing you and using this code to see whether to hire you, I need to do a lot of work to see if (a) you really wrote it and (b) it is well engineered given the problem space. I'd mark you up for the great documentation though - I can see at a glance that there are lots of code comments, and a good README.md - so that is positive. But it's not a deciding factor, I still need to see if you can code. If I am looking at Githubs, well I have 20 candidates. 20 different code bases, trying to achieve 20 different things. That's a lot of work to weed out. I don't mind that at a late stage, but not an early one. Some companies say - 2 hour coding test or BYO open source project - BUT that should be a small volume and you need screening rounds before that. However if I were interviewing you and gave you a leetcode or similar test, I know the answer, and I can probably run some auto tests on it. Much easier and practical for early rounds. Also switching it around a lot of good devs don't do side projects at all. Doctors who do doctors without borders are probably better on average (?) but would it be a hiring criteria? Or builders who help their local church rebuild a wall. Builders can have portfolios. Luckily that can be based on the work they were paid for, due to IP not being an issue. When a new architectural techniques comes out, say a new kind of render, they can add this to their portfolio. If a new tech comes out, say "Rust", I need to make a mirror project for my portfolio as the work project is IP protected. I need to build that church wall to get a job if a FOSS project is expected.
- ChrisMarshallNY 6y agoThat (a) is amusing. I’ve encountered it before. If someone is able to hack GitHub to fake tens of thousands of lines of high-quality code, ten years of commit history, dozens of Medium articles and blog entires, multiple Web sites, and documentation up the wazoo, then you should hire them on the spot; even if they are fronting for a Hyderabad shop. Like I originally said, and this goes double for small teams and startups, every employee is a huge commitment. I would gently suggest that “shortcutting” the process is kind of reckless. It’s pretty easy to figure out if someone wrote something, by simply saying “This project you did is pretty cool. Tell me a bit about it.” Bang. You just struck gold. A portfolio would be a perfect opening for these types of questions. I would struggle to find those "hooks," with some applicants. In my stint as a manager, I had to fight like hell for every headcount, and I kept employees for decades. There was no way that I’d “shortcut” that process. YMMV I think that we’ll be seeing a lot more open source for proprietary work, in the future. Decompilers are so good, that it’s damn near impossible to truly hide how we do stuff. Another thing that needs to DIAF, is the "shower clause." This is the clause in the employment contract that says "Every idea you come up with in the shower at home belongs to us." I didn't have it with my job, so I was able to design a lifesaving infrastructure that is being used by thousands of people around the world, and has now been passed on to another generation of engineers. It's going to become a ubiquitous infrastructure, and will directly impact many, many lives. That would not exist, if I had had a "shower clause." If someone has a great idea in an extracurricular venue, then don't try to bully them into handing it to you for free. Figure out another (more equitable) way to get it. The whole deal with employees, is that we're not "Programming Modules." We're humans, and we need to be treated as humans, from the job ad, to retirement.