The Programmer's Hangout
Plastic Q&A - October 18th, 2019
68 messages
Nano BOT 18-Oct-19 09:02 PM
Plastic is answering Ping | Pong's Question:
Question: When interviewing someone for a position, what traits are the most appealing to you when deciding between applicants?
⭐ 1
Plastic: Being able to effectively communicate their thoughts while thinking through a problem and willingness to ask for help or clarification.
Plastic is answering Elite's Question:
Question: How did you come up with your current username?
⭐ 1
Plastic: I got banned on a character in Rift and so I started a pattern of coming up with absurd names because everything I wanted was taken. One of those names was Polystyrene, but nobody wanted to say that in voice comms, so they started calling me Plastic, and so that's what I started using everywhere.
99 9
Plastic is answering 1Phoenix8's Question:
Question: How do come with inspiration to your projects(side or main)
⭐ 1
Plastic: It's mostly driven by annoyance/desire. If I'm really annoyed by something or I'm unhappy by what's out there, that motivates me to make something.
Plastic is answering SkyHawk's Question:
Question: What was your favorite project? Why?
⭐ 1
Plastic: There was a huge project that involved implementing visibility into multi-authoring capabilities to an editing tool, not unlike features in Google Docs and Word. I found the challenges in making that work well and performant a lot of fun.
zoop 1
Plastic is answering Fox's Question:
Question: What is your least favourite part of the javascript ecosystem?
⭐ 1
Plastic: I really dislike nano-sized libraries and the huge dependency trees that result from it. There's a bit of dependency hell that can go on when someone unpublishes or publishes a minor/patch version that causes breaking changes. Some of that's solved by tooling, but these design choices still cause headaches for me to this day.
⬅ 1
🗒 2
yeet100 3
Plastic is answering lambda's Question:
Question: Do you have any advice for college freshman just starting out?
⭐ 1
Plastic: Just pick a language and work on the fundamentals. Learn the language first, then learn basic CS concepts like sorting and data structures, then learn how to approach building more complex software. You can get a ton of solo experience in something like Codewars, but working with someone more experienced once you've got the basics down will be a huge benefit, so find a mentor in open source or start a project with someone more experienced, or possibly get an internship.
Plastic is answering Dreameh's Question:
Question: Cats or Dogs? :meguFace:
⭐ 1
Plastic: Conceptually cats, but I'm terribly allergic to them, so dogs win by default.
SadCat 13
DogDance 17
Plastic is answering Ping | Pong's Question:
Question: What is the most difficult challenge you have faced in your career so far?
⭐ 1
Plastic: Dealing with the expected career growth paths and dealing with the fact that as an industry there's a pathological strategy of underpaying people until they switch jobs. I can understand why people find this aspect of a career in software exclusionary.
👍 3
Plastic is answering mateothegreat's Question:
Question: What is your go to framework for implementing RESTful architectures and why?
⭐ 1
Plastic: For JS it's Express with Swagger. The tooling that exists for these isn't great, and there's probably something that's better, but it's simple and works.
Plastic is answering Ping | Pong's Question:
Question: Do you think it is more efficient to have strict guidelines in place for making code changes or giving the development team more freedom to take initiative when solving problems?
⭐ 1
Plastic: I think you have to find a middle ground. If it's all wild wild west, things can go sideways and productivity can suffer. I think the sweet spot is basically requiring PRs and reviews but automating much of it so it's not a hassle and onboarding new people is much quicker.
👌 7
Plastic is answering Lana's Question:
Question: what's the most painful problem you've solved? What about haven't solved (yet)?
⭐ 1
Plastic: The most painful problem for me was a bug that involved cache invalidation and async debugging, and could not be reproduced. The most painful problem for our customers that I've solved was rebuilding our customer administration/management system with tools like ES and serverless tools in AWS that let us offer features at scale that were "too hard to consider" before when the company was much younger. The problem I haven't solved yet, possibly will take the cake on both fronts, is a system we heavily rely on right now that has both scaling issues and availability issues in general. I've been thinking about it for a long time, and it's going to be very difficult to make something that works well.
Plastic is answering Elliott's Question:
Question: What's one thing you've seen over the course of interviewing that instantly made you want to hire someone?
⭐ 1
Plastic: I had someone in an architecture interview for a senior role. It wasn't the actual solution, and it really never is in these kinds of interviews, but instead how they described their approach and staged discussion was phenomenal. It made it very clear precisely what we were talking about, what we should talk about next, and what assumptions were being made. I could see myself whiteboarding problems with this person and being quite productive at it.
awwe 3
Plastic is answering Delenko's Question:
Question: When you are over someone new, what advice or knowledge do you give them, and what approach they should have for the position?
⭐ 1
Plastic: I think the best thing someone who's more junior can do is learn how to feel comfortable asking more senior people for help or input. Spending 10-15 minutes bouncing ideas off of someone or asking for advice is going to be far more productive than trying to struggle your way through things for an hour or two. Use us as resources to find a direction and get a grasp on things, then try and figure out the small parts. Over time, you'll get really good at that, and start moving on to harder challenges. A part of this can be code review, don't be afraid to put your code up and ask for thoughts and feedback.
Plastic is answering void func(){++flipme}'s Question:
Question: How would you go about getting started with a personal project?
⭐ 3
Plastic: I usually start by hacking together little bits and pieces of it in a shell. Then I'll throw something very hacky together that barely does what I want it to do. From that, something that actually works, I'll start refining things and adding more features. It's important, I find, to get something working before you overwhelm yourself with too many choices and thoughts about what a project could be.
👌 5
Plastic is answering Ping | Pong's Question:
Question: What do you think most negatively impacts development progress in the professional setting?
⭐ 1
Plastic: Unexpected blockers. Issues that come up that require communication, a meeting perhaps. Interruptions can also fall in this category. This is why it's important to plan out the larger pieces and then make it a priority to get these issues resolved, then let people just do work.
Plastic is answering Ping | Pong's Question:
Question: Would you rather a new developer try to figure things out on their own first or ask for guidance?
⭐ 1
Plastic: I would prefer them to put some thought into possible approaches and seek a discussion rather than just asking for an answer. This provides a nice opportunity to discuss the benefits and drawbacks of several different approaches, and learning this skill is invaluable.
⭐ 3
Plastic is answering vSpec's Question:
Question: While learning how to code. Were you ever depressed by the thought that maybe you just don't have enough time to learn before you're thrust into industry? Did it matter in the end?
⭐ 2
Plastic: No. I think it's important to understand that people just starting out are not held to the standard of senior developers. It's fine for you to still be learning and not to have answers for everything. The first few years of your career are probably going to be where you really hone your craft, not school or playing around on your own.
Plastic is answering Katona's Question:
Question: What software team management and coordination procedures do you find to be unhelpful? (SCRUM/Burndown Charts/etc.). And for each bad one, what do you think is a better thing to do instead? if nothing, what procedure is most often poorly executed and how?
⭐ 1
🤔 1
Plastic: I find spending too much time trying to estimate time and plan out every little thing is just counterproductive. A lot of companies want to do this in varying different ways. I much prefer doing something more Kanban style where you break tasks down and just power through them. It feels more productive to me, and I think in general that estimates on large projects are educated guesswork at best.
🤔 1
Plastic is answering Ping | Pong's Question:
Question: You've been in this industry for a while now, what keeps your flame from burning out?
⭐ 1
Plastic: Doing new things and letting your superiors do their job and fix issues if you're feeling like something is really bothering you. My switches between different parts of the stack have been opportune for my employer, but it's also kept things fresh for me. I think the next move will be switching companies. There's always something new to learn and do, and there always will be.
💯 3
Plastic is answering Elite's Question:
Question: Did you initially want to get into software development, or was there an alternative path you considered taking?
⭐ 1
Plastic: Since I was very young, I wanted to make video games. Once I actually started getting my hands into writing code and making software to try and accomplish that, I fell in love with it. Not actually pursuing games is more of a practical choice, but building software is what I always wanted to do.
zoop 3
Plastic is answering 1Phoenix8's Question:
Question: What are some personal projects you loved to code??
⭐ 1
Plastic: I once built a multithreaded game server in C++, and I was woefully under-qualified to build something like that. I loved the challenge of it and that I had to constantly learn new things, and that it never quite worked how I wanted it to.
Plastic is answering Xetera's Question:
Question: Unlike some other veteran programmers, you're knowledgeable in many different fields of CS. Were you always interested in the things you're proficient at now or was it a desire to learn more after you felt like you've mastered a specific skill?
⭐ 1
Plastic: I don't think I've mastered any specific skills. It's more just me being like a kid in a candy store. I'll grab a little of this and a little of that. I've come to terms with the fact that I will never actually finish my backlog of things to learn.
Plastic is answering speckledlemon's Question:
Question: Do you have any hobbies outside of programming?
⭐ 1
Plastic: Playing video games and watching movies/TV. I also like to go look at nature because it's incredible, but I'm pretty bad at hiking and camping, though that may be in my future.
Plastic is answering Fourth's Question:
Question: How do you know when it’s time to move on from a job onto bigger and better things?
⭐ 3
Plastic: I think that's mostly going to vary from person to person. If you're unhappy though, that's a good indication that you might want to consider it.
Plastic: A lot of companies want you to move into management, team leadership, or some kind of product ownership role. These are fundamentally different skills in my opinion. I know people who are good engineers and good at one or more of these things, and I know people who are good engineers but do not want to do these things. Why should anyone's career growth be severely limited because they don't want to start doing a different job?
Plastic is answering speckledlemon's Question:
Question: You mentioned that dealing with expected growth paths has been a big challenge. Can you expand on this?
⭐ 1
Plastic is answering Ping | Pong's Question:
Question: Do you think there is a minimum amount of experience that should be required for a developer to work remotely? If so, at what point would you give someone that option?
⭐ 1
Plastic: I haven't thought about it much, but I do know that being remote requires you to do a much better job communicating. I'd err on the side of being more comfortable having someone be fairly senior before going remote just because they're more likely to be productive even if they're not in a highly collaborative environment.
Plastic is answering Kanosaki's Question:
Question: What issue tracking system does your workplace use? Do you find it useful or it takes too much time to maintain and setup to make it actually useful?
⭐ 1
Plastic: We use JIRA. I think they're all annoying to some degree because you have to do something, but luckily our managers and product team have taken on all the configuration, so we have to do fairly minimal work to use it. For the style of workflow I'm used to, it works fairly well.
Plastic is answering Kanosaki's Question:
Question: Do you have a secret for providing a proper time estimation for a task that doesn't involve too many lazy grace time? (just a single sample case would be nice if it doesn't take too long to answer :D)
⭐ 1
Plastic: It's not much of a secret. Think about roughly what a task entails, and then think about how long you think it'll take you to actually do it, and then double it. You have to factor in communication, code review, and possibly someone less familiar with something than yourself taking the task on. It's better to slightly over-estimate consistently than it is to consistently under-estimate. Delivering something ahead of schedule is better than delivering it late.
Plastic is answering Kanosaki's Question:
Question: How do you deal with a teammate that's complain bout stuff but doesn't really contribute much in your workplace? Do you try as much as you can to talk it out or...?
⭐ 1
Plastic: I'd tell them to take things up with their manager, and if they are being a detriment to the team after that, taking them up with their manager. Have those conversations, that's the first step.
Plastic is answering Mutex's Question:
Question: What is a subject outside of programming that you could talk about for hours at a time?
⭐ 1
Plastic: Math, food, how terrible public transit in the US is, lots of things.
Plastic is answering Ping | Pong's Question:
Question: Would you ever take an upper management position that removed you from development?
⭐ 1
Plastic: No. I've been offered this, and I have no interest in it.
Plastic is answering cmyk's Question:
Question: How do you measure your skill level as a developer? Like at what point should you consider looking for full time software development jobs instead of freelance gigs.
⭐ 1
Plastic: It's fairly difficult to determine your own skill level. You'll need someone who's better than you to give you advice and tell you what you could do better. In any case, I don't think you need to pass some arbitrary threshold to get a full time job. If that's what you want to do, go for it. You can do that while you're trying to improve your skills.
Plastic is answering Mr Pool's Question:
Question: Do you think we should rewrite JS?
⭐ 3
Plastic: Yeah, but we already did, it's called TypeScript. 💯
⭐ 8
blmao 4
zoop 21
yeet 1
Plastic is answering dhilln's Question:
Question: Why is your icon legos
⭐ 12
Plastic: They're plastic and hurt your feet if you try to step on them.
🐍 17