11 ms·
I definitely identify with the author. A big mistake I made in the past was to assume that other software engineers are equally enthusiastic about these kind of
by ajxs 5y ago
I definitely identify with the author. A big mistake I made in the past was to assume that other software engineers are equally enthusiastic about these kind of projects, or the least bit impressed by them. I was asked for a job interview to prepare presentations on two projects I was particularly proud of. I chose a hobby Operating System kernel I'd developed from the ground up, and a fully-functional MIPS assembler I had written. The interviewers (senior developers within the company) really just did not get it. Responding with questions such as: "Is this going to make you any money?", and "When do you expect this to be complete?". They really couldn't understand my motivations. I did these projects for no other reason than that I love programming, and I have never stopped loving learning about it. I have never needed to consider, or justify to myself why I did these things. I do them because I enjoy what I do.
I ended up pivoting to discuss some comparatively banal professional project migrating a mid-sized financial product to a new tech-stack, which managed to captivate their attention. I found this experience extremely disheartening, however important a lesson it was to learn. I don't think it's changed my outlook in any way though, admittedly. I still work on the same kinds of projects, and I still think the best developers are the ones who do work on toy projects for their own enjoyment.
- jefftk 5y agoThat's a really disappointing reaction you got. If I was interviewing someone who described having implemented a kernel or an assembler for fun I would be thrilled!
- scaramanga 5y agoRight! If GP is looking for a job then for the love of god, please email gianni at my-hn-user-name dot co dot uk :)
- monsieurbanana 5y agoYou would be thrilled, but would that get the candidate the job? A very common topic about programming is how useless are most whiteboard job interviews, as they challenge the interviewees on something they will never use in the job. Few things are farther away from day-to-day programming that a white-board problem, but kernel development might just be one of them. In regards to the GP story, I'm also saddened that the interviewers didn't show interest for those projects. Kernel development indicates a high aptitude for many kinds of unrelated programming jobs, but not for most of them. Especially "enterprise" jobs. For the purposes of the interview the "banal professional project" is likely the relevant one. If anything, having the senior developers show no interest is a good thing, and indicates that even if the candidate gets the job he probably won't enjoy his time at the company.
- ZephyrBlu 5y agoI think in general people severely underestimate how useful seemly unrelated experience or knowledge is. Keeping with the example of creating an OS kernel, foundational programming skills translate across everything. So kernel development shouldn't be a negative signal in regards to programming ability. In regards to kernel development itself, I think it's probably very valuable experience not because of the programming but because of the perspective the person has gained. I have no experience with kernel development, but I would hazard that you need a very different mindset and approach compared to application development. I think the perspective you gain from being forced to adopt a different mindset and approach is massively undervalued by most people because it's not immediately obvious how that experience is useful or directly applicable.
- TeMPOraL 5y ago> I think in general people severely underestimate how useful seemly unrelated experience or knowledge is. I'd go as far as saying people who've never done this level of hobby work don't understand the amount and breadth of experience and knowledge one gains this way. A OS kernel or an assembler for a niche architecture aren't something you just do like another work task. It's not something you half-ass under deadline pressure by gluing together some third party libraries, StackOverflow tips and hastly skimmed documentation. Your boss would never agree to pay you for the amount of time and care that's involved in hobby projects like these. A month of such a project will teach you more about computing than a year on the job[0]. Unfortunately, this kind of experience is hard to keep track of and neatly summarize on your CV. If you tried, you'd end up with a page or three extra, and people would think you're just keyword stuffing, and doing it badly - referencing niche, unmarketable technologies, seemingly related to nothing[1]. These skills are important and very useful, but they don't look like it until you need them[1], and you're unlikely to pick them up on the job, unless there's already someone who had them before joining the company, and is now teaching others. There just isn't time. Taking care, or spending time sharpening the saw[2], is considered time not spent delivering business value. Since most software companies aren't really training their workforce much, it's kind of dumb to ignore off-work experience - after all, if your company isn't giving people time to skill up, why assume previous companies on a candidate's CV were different? -- [0] - It might not teach you how to work in a team setting, though. That's what jobs are good at. That, and teaching you what "good enough" is. [1] - Like, I wouldn't put "Event Tracing for Windows" as a qualification on my resume, even though me being familiar with it saved the company a lot of money they'd otherwise spend on people continuing to fruitlessly chase a heisenbug. [2] - Or, God forbid, writing tools for yourself.
- kazinator 5y agoI would ask questions about it. 1. MIPS, eh? Say, does your assembler automatically fill branch delay slots, or is that manual? Does it just fill them with noops, or does it move instructions from the branch target? 2. Do you have all the pseudo-ops, so that a move doesn't have to be expressed as add dest, src, 0 type of thing? 3. Is your assembler syntax compatible with other assemblers? Is the object format? 4. Is there a regression test suite?
- scaramanga 5y agoSounds like a tell-tale sign of a work environment in which genuine enthusiasm is not a survival trait :)
- danielmarkbruce 5y agoIt's just a different type of enthusiasm. Some places need/want people really enthused for computer science. Other places want people really enthused for whatever domain they are in. Other places want people really enthused for solving customers pain. Other places want people really enthused for a cause. Being enthused for x when a company wants enthusiasm for y just makes it a bad fit. It doesn't make either party wrong/bad/whatever.
- scaramanga 5y agoI wasn't trying to be judgemental. It could be, for very valid reasons, that genuine enthusiasm for programming just isn't valued or is viewed indifferently at that place rather than necessarily being something that is either going be crushed out of you or else you'll leave or be pushed out... Edit: grammar.
- XorNot 5y agoGenuine enthusiasm is lethal in any work environment. IT is considered a cost center and people who actually care keep asking for things which cost more money or overcomplicate a manager's work day.
- stadium 5y agoI've found it is cultural and more nuanced. IT can mean a lot of things too, many of which are not related to writing software. And if internally developed software is not adding a competitive advantage, should it really be internally developed? If genuine enthusiasm really is lethal, it sounds like a toxic work environment.
- deleted 5y ago[deleted]
- phendrenad2 5y agoAn important lesson for me was that doing side projects during my free time didn't make me a better developer at work. Writing a video game or even a webapp without the constraints of working on a team and having business needs that you don't get to choose. Partitioning "work programming" and "home programming" as two separate skills in my mind has been very useful.
- allenu 5y agoI was thinking about this recently. Loving to code and getting better at designing and implementing code only goes so far in the industry. To really "level up" you have to learn a whole bunch of other things related to project management, communications, and politics. I use fun side projects to really level up my software design skills because I can take on bigger tasks and have total freedom to experiment with different designs. I don't think I'd be the programmer I am today without all the side projects I've done over the last 20 years. On the other hand, work has taught me how to work on a team, how to communicate well, how to make political trade-offs, and more.
- legends2k 5y agoMy experience had been the opposite. Most techniques, patterns and tricks I learned in pet projects improved my work code. Of course, this is only work's code part, other business stuff like meetings, constraints, etc. didn't get affected so much.
- 8fGTBjZxBcHq 5y agoYeah that's what they're saying I think. Programming outside works helps your programming inside work sure. But for many (most?), programming ability isn't the limiting factor on how effective you are as a _developer_ at work.
- TeMPOraL 5y agoWhich is something I consider a big scam pulled on the people entering this workforce. You expect to be using your brain to build great, useful things - but in practice, you're expected to be a people person collaborating on doing mostly crap job under tight deadline pressure. No surprise burnout is a problem in this industry.
- herval 5y agoI feel changes a lot between locations (“scenes”). Back when I lived in Berlin, we had entire meetups dedicated to talk about _useless but cool projects_. Moved to the Bay Area, and I could never find anything remotely similar. Maybe they exist, I just couldn’t find one. I also experienced the same interviewing experience you had, many times: my “talk about something interesting you made” answer used to be “I made a twitter bot that makes poetry with ML and I spent months training it” - it always got radically different reactions, from blank stares to “why didn’t you use those to mine bitcoin?”
- zygy 5y agohttp://www.stupidhackathon.com/ http://www.stupidhackathon.com/
- SiVal 5y agoI feel changes a lot between locations A lot changes between times, too. Decades ago, those of us who did computer "stuff" in places like the Bay Area were typically nerdy science/math lovers who were an unfashionable segment of society with hobbies like ham radio, astronomy, homemade electronics, science fiction, math competitions, etc. Meetups like the West Coast Computer Faire, little shops like Weird Stuff, amateur radio "hamfests", astronomy clubs, and so on were everywhere. Programmers knew how to use soldering irons and slide rules. Tech companies were rounding errors compared to, say, car companies. But the intellectual fashion enforcers with wealth and power that tech companies are now, with tools to make society submit to their will are not the culture we were. Like Wall Street before them, they have bigger plans than ordinary, little people with their quaint hobbies. So even though we pocket protector and slide rule types still exist and can form a quorum online, the in-person meetings mostly (not entirely but mostly) vanished back in the dot-com mania.
- world_peace42 5y agoBizarre this was downvoted.
- ehnto 5y ago
- jacobwilliamroy 5y agoIt's good that the leadership was more interested in your useful professional projects rather than the less useful things you make for fun. As professionals in a business they should be more focused on trying to make money. People need to have some kind of strategy to make money in order to survive in business for any extended amount of time.
- smallstepforman 5y agoSadly, some recruiters are looking for a cog to fill a specific hole, and they do not want someone more experienced or better than what they're looking for (ie. they dont want the Einstein, they just want a math teacher). The salary would also reflect that they are specifically looking for a cog. It's best that you didn't get that position.
- sangnoir 5y agoI disagree - they didn't ask GP because they wanted to gauge their interest in programing - they asked that question because they wanted to figure out what kind of colleague they would be, and if their experiences would mark them as more suitable for role compared to other candidates. GP's answer was probably from the left field (for them) - put yourself in their shoes: how would you gain insight into gauging their suitability for "cog" work based on completely unrelated hobbies? Always keep this in mind at the back of your mind when interviewing - your answers have to relate to the job you're interviewing for in some shape or form, hopefully in a good way. I'm guessing the interview wasn't at a kernel, embedded devices or compiler companies - those would have dug into GP's projects in detail, with enthusiasm. GP would still be cog there, obviously.
- TeMPOraL 5y ago> put yourself in their shoes: how would you gain insight into gauging their suitability for "cog" work based on completely unrelated hobbies? This is the core disagreement though: to 'ajxs, me, and many other commenters here, these aren't unrelated hobbies. Software engineering can't be neatly demarked along the lines of programming languages or frameworks. These are just the tip of an iceberg (and most of them are just flavors of the same thing, solving the same underlying problems). You don't just write a OS kernel and become experienced in kernel development. These kinds of projects, done on the side, with no deadline pressure forcing you to do a half-assed, minimum-effort job, allow you to gain more generalized, holistic understanding, that's very much transferable into just about any kind of programming job you could do. > your answers have to relate to the job you're interviewing for in some shape or form, hopefully in a good way That's a very good point. Myself, when talking about my seemingly unrelated side projects, I consider it my responsibility to show how they connect to their domain and skills they look for.
- vms20591 5y agoKudos to you, for working on the stuff that you really like. These toy projects could teach us or the people that see them, a lot of stuff. "Senior Developers" doesn't mean that they will relate to everything related to software development. Either, they stick to the domain they work on or, to the ones that makes money. Personally, I've always been fascinated with systems programming, thought I'm not much proficient or put in much effort. Whether something is going to make money or not, like many personal stuff we do (art for example), isn't eventually going to make us money, rather it gives us a sense of satisfaction. Keep doing what you do!
- Fuzzwah 5y agoI totally understand that whether you were offered the position or not isn't the key take away of the story.... But for the sake of my own wondering, did they offer you the position?
- ajxs 5y agoIn this case I wasn't offered a position. The company in question is well known within a certain field, and has a reputation for having a difficult recruitment process. They were offering a very competitive salary, and I was admittedly excited at the prospect of working for a company with this kind of elite reputation. This was the final stage of the interview process. I had passed the technical challenges and initial interview. In the end, I was able to walk away from this experience with my pride mostly intact.
- allenu 5y agoI've found the same thing. I love working on projects in my spare time, a lot of them completely pointless, but fun. I've seen the reactions you describe and it feels like talking to an alien. I've learned as well that not everyone enjoys working on code in their spare time, or if they think they might enjoy it, they just don't have the motivation to begin. On the flip side, when I do bring up a project I'm working on and see someone's face light up and they describe something they're working on, I feel an instant connection.
- andersource 5y agoI strongly relate. I spent a couple of weekends working on some procedural art [0] and was pretty happy with the end result. When I showed it to some of my co-workers / manager, they were baffled. "Uhh.. OK. Why did you make this?" [0] https://andersource.dev/2020/10/10/procedural-butterfly.html https://andersource.dev/2020/10/10/procedural-butterfly.html
- beckingz 5y agoThis is a nice butterfly. How was it made?
- andersource 5y agoThanks! First I'm generating the general geometry of the wings - the most basic shape is a "teardrop" / half of the infinity symbol (see this[0]). Then they are scaled and rotated randomly (within a range to match the other parts of the wings), and further perturbed to make the shape more random. Then I'm drawing lines from the "tip" of the teardrop to the edges and using them to color the segments. The final result is rendered with Three.js[1]. Obviously this is a very succinct explanation, it took me quite some work. You're welcome to look at the code[2], though it's quite messy :) [0] https://en.wikipedia.org/wiki/Lemniscate_of_Gerono https://en.wikipedia.org/wiki/Lemniscate_of_Gerono [1] https://threejs.org/ https://threejs.org/ [2] https://github.com/andersource/andersource.github.io/blob/master/assets/proc-butterfly/index.js https://github.com/andersource/andersource.github.io/blob/ma...
- guerrilla 5y agoThat's funny, I had the inverse interaction of someone telling me all theh wanted to do was be useful and I just could not relate. Like you, I do it because I like it.
- markb139 5y agoIf I'd have been interviewing you we'd have talked about those two projects a lot. Especially the OS kernel :) I currently have two hobby projects "in development". An bot trader (it broke even over 6 months with pretend money). And a logic analyser using a Raspberry Pi Pico board and the excellent sigrok software - this project took a baby step to being non hobby when another dev found it and raised some issues. Don't stop with the hobby projects
- killingtime74 5y agoWell they were interviewing you for a job not having a chat at a meetup or at the pub. I don’t think it’s an indictment of your interests rather if you “get” the question they’re asking you
- Tabular-Iceberg 5y ago> "Is this going to make you any money?" Well, statistically speaking, neither will the commercial project, no matter how useful. It's too bad interesting but ultimately useless projects hold so little weight in interviews. But I don't know if it's clear cut that they will be less profitable than commercial projects, which fail more often than not. Expanding your skillset may be more profitable in the end. I've been thinking of pivoting to useless myself. With projects of some commercial potential I have to have a novelty budget, usually ending up with Node.js and React because as boring as the stack is you can always Google a problem and have the solution handed to you on a platter. But so far none of them have made me any money. They have given me some business experience, though, but I get even more pushback from highlighting or trying to apply that in my day job. They want a good little worker bee, not someone who will be gunning for any business development positions.
- jmfldn 5y agoThat's really tragic that people think like this. Not everything needs a "purpose", in fact many of the most beautiful things in life don't. Doing things for the intrinsic joy rather than for some end is a key to life actually imho. Those who must always do things with some future goal in mind, getting more money, power, stuff, prestige etc are missing out. Ironically, tinkering for fun can lead to innovation. Many cases of this in maths, science and engineering.
- alpaca128 5y ago> "Is this going to make you any money?" "Yes, by motivating you to hire me" Seriously, did they expect new hires to be working on their startup on the side?
- Viliam1234 5y agoA perfect employee is someone who has all the skills necessary to build a successful company... but for some reason decided to build one for you, instead of for himself/herself.
- antihero 5y ago> The interviewers Wow, they are seriously missing a beat. If someone is making useless stuff, it shows they are passionate, which is hugely valuable because people will work hard and make great code because they enjoy themselves. Maybe I've just got lucky but here in the UK whenever my passion has bled through in an interview it's been recognised and I've got an offer.
- Fanmade 5y agoI'm currently one of those interviewers and we always ask about fun projects like these. We do that especially since that shows that they're not doing the job only for money, but also because they're passionate about developing software. This helps on multiple levels. For starters, if you focus on one task for too long, that may result in you having a too narrow view on that problem. While doing a fun project on the evening your mind wanders and sometimes suddenly you get an idea to approach that pesky work problem in a totally different way, even though you were thinking about something totally different. Or when you return to your specific work task you can just look at it from a fresh perspective. Or you get a new work-related task and suddenly think "Oh, I could just use part of my [Bobble-Head simulation] algorithm here and this could save me a few hours." If someone says that everything you are doing has to have a specific goal other than just "for the fun of it", I wouldn't want to work with them.
- randcraw 5y agoFolks with a deep interest to investigate complex systems in their spare time are unusual -- curious, inventive, and driven. They seek epiphanies about how the world works and are and willing to dig deep to learn about it. People of this type are displaying the rarest part of the 20,000 hours of practice that's most essential to achieving greatness -- they're pushing themselves to exceed their limits to explore the unknown -- to get better and see farther. And they're willing to try and fail. They're the inventors, the disruptors, the source of all creative change in the world. I suspect most employers won't welcome that attitude. Like most people, they're happy to wear blinders to disruption in their routine (AKA new ideas / better ways). So let them hire programmers who were accountants in a former life. If that kind of person is not you, then you're in luck. True to form, in choosing to discuss your passions, you interviewed differently. In doing that you discovered something very useful -- this is a place where you do NOT want to work. Epiphany revealed; the search continues.
- forty 5y agoIf you can afford choosing your employer, this is a good test. Who wants to work with people that wouldn't be enthousiastic about such cool hobby projects? :)
- Gravityloss 5y agoDodged a bullet there. What is the company like if the interviewers are like that?!
- holri 5y ago"Is this going to make you any money?" The answer should be: yes, because you are hiring me now for the skills I learned doing this.
- mrwoggle 5y agoA lot of game developers have written a 'toy' game engine. A lot of embedded developers have written their own little OS. A lot of web developers have written a 'click this button to autogenerate web pages' tool. And so on. Face it. You are just not that hot. Another X Compiler for Y. Great. Probably doesn't really work. Senior devs probably care more about that you can finish boring project or stack. Spend hours on some tiny thing and make it work. It probably also depends on how you present those hobby projects. Instead of saying "Look, I am so cool!", you can say you use this as a means to become a better programmer.
- kharak 5y agoYou've already got a bunch of replies, still like to add something. I'm in the "I never felt anything towards coding" category. Tried to grow passion for it, just doesn't work. But I'd still be thrilled (and possibly intimidated) to see a passionate developer showing up for an interview. That these interviewers didn't get that you have passion for the work itself and not its outcome, not a great sign. Hope you found something more fitting for your personality.
- john-tells-all 5y agoThanks: I'm now changing my interview process. If the company doesn't "get it", if they don't understand why _having fun programming_ doesn't make me a better programmer, it's time to leave. A hobby OS kernel sounds effing amazing and super cool. I've also written an assembler and interpreter (8051 variant), which was mind-bending in a great way. Thanks for posting!
- AnIdiotOnTheNet 5y agoI don't know, if I were in a position of hiring programmers I'd be a little suspicious of how much they do it for fun. I don't want people who base their choices of language, libraries, frameworks or whatever at work on what is fun or interesting to them. I think I'd want to see them have fun creating something for which programming was a means to an ends more than the fun part itself.
- avgDev 5y agoI just want to say that I am the person that doesn't like doing anything unless it creates value. I am just wired differently. For me a useless project is a waste of time unless I'm trying to learn something new, and even then I try to find something that is going to be useful because otherwise I lose interest. I don't know what it is. Maybe because I grew up relatively poor? I also love programming but mostly when it solves an issue for a business. There is nothing better in the world as far as careers go. When I can make $150 an hour and create so much value for a business that they will gladly give me their money, its special. In general I have hard time just relaxing, I prefer to do and build things around the house.
- randcraw 5y agoI think your initial approach is a brilliant way to interview a company to see it they're "your kind of people". If they have no interest in creative inventions or fresh ideas, run for the hills. You'll never be happy there.
- kmstout 5y agoHere's what I tell those who question projects like these: By designing and implementing a game engine or a compiler or a microkernel, you become the sort of person who can do those things, and you become the sort of person who can do all the things that they entail. The product is not the software but the mind that makes it.
- kazinator 5y ago> The interviewers (senior developers within the company) really just did not get it. Responding with questions such as: "Is this going to make you any money?", and "When do you expect this to be complete?". I would expect that to be followed by, "Just kidding! I have side projects of my own, and that's what my wife says, haha! Don't you hate that?"