20 ms·
Ask stupid questions as a new software developer
- ryloric 5y agoWhy do I have to be new to ask stupid questions?
- schipplock 5y agos/new//
- strictnein 5y agoJust as important: ask "stupid" questions if you're a Lead or a Principal or whatever. First, you don't know everything, no one does. Second, it makes it easier for the Junior devs to ask their questions.
- sawmurai 5y agoWe had a rule during apprenticeship that we would would ask questions if we saw that a fellow was struggling to comprehend - and was too slow / shy to ask on their own, even if we already understood. We would ask these questions as stupidly as possible (within reasonable boundaries, of course) to make the teacher not just repeat what they already said but to make them find another way to explain it. That's when I learned that ego has no place in learning.
- lelandfe 5y agoI worked for a lead early on in my career who changed my life through observing his management style One thing he did: ask questions he already knew the answers to on big meetings I initially thought he had a bad memory. Instead, he was thinking like a new hire. What would a college hire want explained right now? And you’re also right, once someone with sway has asked a question - and been met with an honest answer - it makes it easier for others to do the same
- noirbot 5y agoThe one difficulty with this, and one I've had trouble with before, is when this strays into me, as a team member, being unsure if we're intentionally trying to look dumb/make something look harder than it is to another party in the company as part of some sort of internal politics. Even less deviously, it can certainly throw a wrench into a meeting to have to explain some things to the least experienced person in the room, even if it's by proxy of someone more senior. I've had plenty of planning meetings get derailed because someone asked a lot of basic questions that 3/4 or more of the participants surely knew the answer to. Sometimes there's just value in following up later with your senior engineer about something you didn't understand instead of holding up a number of other people to get the explanation right now.
- dtx1 5y agoI have found that asking "stupid questions" in the form of "I don't understand X, can you explain it to me?" is very valuable, as it forces people to agree on a common interpretation of an issue. In fact, most technical discussions are more about gaining a common understanding of an issue than about a solution. Once everyone has the same understanding of a given problem, the solution space becomes much clearer.
- lazyant 5y agoJust in case, recently in HN: https://danluu.com/look-stupid/ https://danluu.com/look-stupid/
- sigg3 5y agoKnowing some procedural bash and being a certified Associate python programmer at python institute, I still don't recognize OOP patterns unless explicitly stated. I just got hired in a golang centric org. How can I train / learn recognizing and employing OOP patterns or industry standards so I don't have to bother colleagues with my ignorance? (No CS background, education in the humanities.)
- faeyanpiraat 5y agoCommunicating effectively is way more complicated than applying a 4 paragraphs long blanket advice.
- ryanianian 5y agoIt is. But please elaborate.
- mceachen 5y agoPlease ask me any question, regardless of how dumb you think it will make you look, after you've spent at least 5 minutes trying to answer it yourself. Bonus Points if you summarize your quick research efforts. Extra Bonus Points if this leads to more questions. (Caveat emptor: _many_ engineers are decidedly antisocial, but if you show that you did prior research before asking, you're showing to them that you value their time as much as your own, and there's a better chance that they will be receptive to collaboration.)
- inconfident2021 5y agoIt's difficult for starting people to ask out of school because their curiosity has been butchered by ego-maniac professors. For every 1 good professor, there are 1000 ego maniacs (professor + their TAs).
- sseagull 5y agoMaybe? True beginners often lack the context to understand which of the multitude of answers the internet provides is the best for their situation. Or they think they understand the answer, but really don’t, and end up making a mess. Basically, true beginners do best with a mentor.
- saiya-jin 5y agoBingo - just constantly asking relatively trivial beginner's questions will quickly make any busy senior lose patience. Key is to be somewhere in the middle - trying to understand, but needing that extra glue to make sense of the facts.
- PicassoCTs 5y agoCollect your questions, research them yourselves, come with the bundle.. when im obviously not concentrated or it really holds up your work.
- afarrell 5y agoHow does a junior engineer working remotely tell if you are obviously not concentrating?
- bennyp101 5y agoTo be honest, ask stupid questions even as an experienced developer! We all have brain farts, and don’t know everything!
- brtmr 5y agoAbsolutely. There is no magic point in your career where you know everything. Plus, it fosters a culture of asking. And often you’re not the only one in the room who doesn’t know. Often asking a stupid question like „I don’t know that word - Can you explain?“ will prompt further questions from other people.
- derekjdanserl 5y agoThe job interview hell that we go through these days selects for people unwilling to do this.
- eropple 5y agoIt's true. People are visibly surprised at times when you shrug and say "no idea, but I can figure it out". It certainly helps if you can buttress it with analogies to other problems and tools, but not knowing things is fine and normal. I don't work places where that attitude isn't welcomed, and you shouldn't either.
- bootloop 5y agoSure. But I would expect you to go through the first page of Google results first.
- bbarn 5y agoJust ask questions, period. Something seem strange about the stack you just inherited? Ask why. Sometimes simply raising the question can be a catalyst for change.
- treis 5y agoI'm going to take the contrarian perspective from this. People absolutely will judge you for stupid questions and you need to be careful about asking them. Dip your toe in the water and see what happens. Actually, that's good advice for all of these types of articles (and it seems like we've had a bull run on 'ask dumb questions'). Organizations are fucked up. Bosses/People are assholes. The wildebeast that goes first in the river takes the biggest risk of being eaten. Watch and learn before taking the leap.
- geofft 5y agoYou're not wrong, but, the faster you get out of that organization (or into a healthier part of that organization), the faster you'll start growing. An organization that penalizes asking questions is almost certainly broken in other ways that you'll discover soon, and you'll be in a worse position when you're interviewing for your next job.
- treis 5y ago>, the faster you get out of that organization (or into a healthier part of that organization) But you're not going to get there if you're being death rolled by a crocodile in the middle of the river. My point is not to not ask stupid questions. My point is to dip your toe in the water and see what happens instead of cannon-balling.
- tomrod 5y agoIt can help if you're the mutant wildebeest with skin so thick that no croc can take it down. If you're the unfirable 10X rockstar LC awesome dev, this is how you make your org healthier.
- ChrisMarshallNY 5y agoI ask "stupid" questions all the time, and I haven't been a new software developer for decades. Don't like it? Think I'm stupid? Go ahead. It's a free country. Think what you like. Whatever creams your twinkie. I'd say an important attached property of this "rule," is "Don't treat any question as 'stupid.'" That way, we don't become what is known in the vernacular as "assholes."
- hutzlibu 5y ago"Don't treat any question as 'stupid.'" There definitely are stupid question that shows the person asking them was too lazy to think for a moment or at least google it. If people do not value my time, they are not worthy of it. But yes, it is important to seperate that from beginners question, as it is easy to forget, that we all started as beginners.
- ChrisMarshallNY 5y agoI’d say that a significant number of folks in this industry seem to have severe self-image issues, and get some kind of balm from attacking/looking down on the work of others. As the recipient of a great deal of this behavior (see “I ask ‘stupid’ questions all the time,” above), I think that it’s better to say “this is why we can’t have nice things,” and simply cover all my bases by not attacking others. It’s quite easy to say “no,” in a way that does not cast shame or judgment onto others. If someone asks a question I can easily answer; even if they are being “lazy” (which I believe to be an overused, and misunderstood word), or even trolling, I answer it in good faith. If I don’t have time, I say “I’m not able to answer that, right now,” or simply ignore it, if I can do so, in a way that does not come across as judgmental. Easy-peasey. That way, I don’t make enemies quickly. If someone perceives me as a “soft touch,” or as an easy place to get answers, that’s not actually a bad thing. As we get older, we discover that making friends, and not making enemies, is a lot more important than being perceived as “superior.” Relationships may be the single most valuable artifact of our lives. I’m a good friend to have. I always find it fascinating, how so many folks start our relationship out by quickly judging me (negatively, of course), and attacking me. They've never had any contact with me before, and their very first interaction with me is an insult or attack (quite frequently, landing wide of the mark). I consider that to be rather self-destructive behavior. I try not to do that to others.
- aranchelk 5y agoCo-opting an idea from Daniel Dennett: try to always have a junior developer around so when senior engineers are talking past each other and no one’s pride will allow them to ask the basic questions that could clear things up, there’s someone there to do it.
- kazperson 5y agoYou make a good point. I noticed that the developers I enjoy working with are those that are vulnerable about their knowledge gaps. It's just easy to toss ideas around with someone that is open and willing to show they don't know everything.
- zz865 5y agoTrue but dont interrupt me every 60 minutes with another question that you can figure out yourself.
- n8cpdx 5y agoI see these articles all the time and I don’t really get it. Are people walking around just terrified of looking stupid? When did that become a cultural value? Where is that being taught and reinforced? I just don’t get the need for this article. Asking questions is foundational. It would be like seeing a flurry of “Don’t be afraid that drinking water at work will make you look dehydrated” articles. Or “Just drink coffee from time to time.” Or “Use the restroom when needed.” It’s just weird to me that people need to be told this, and it makes me suspect there is an underlying failure of culture or education at play. Would anyone who has had this experience be willing to share insight?
- devwastaken 5y agoIt is being taught and reinforced by bad attitudes in tech. I've spent time with plenty of narcissistic engineers that will treat you as being stupid. Sometimes those people are very overconfident and get a lot of social influence, leading to them (mis)managing other people. Power and politics at the macro level.
- kazperson 5y agoIt's also fear. You're a new software developer and you just got your first job. You see how much more the other developers know than you and you're intimidated. "Well, I don't want to look stupid". You don't ask questions that you need to because of self-imposed fear and it stalls learning.
- ryanianian 5y agoThe article is right but its ambitions are too low. Everyone needs to ask helpful questions in the right way and at the right time. This is simple but not easy. I'm a staff-level engineer at a well-known tech company. One of the most important things I do is ask simple/"dumb" questions of other very smart but more junior engineers. I try to ask questions they haven't considered or explained well. I ask questions that poke at the assumptions and basic tenets of the problem. I ask honest, non-leading questions to which I genuinely want to know the answer. Other kinds of feedback are not appropriate questions. My Kubernetes and other SRE-style knowledge is limited, so I ask dumb questions there. Sometimes the response is "uhm this is a basic concept" but every time I've done that other engs in the room tell me they were afraid of asking the very same questions. (And tbh many times the answers point to a lack of understanding of fundamentals.) So the key is to be genuinely curious and optimistic, try to guide others to ask and answer similar questions on their own and present them at the right level of detail in their presentation/documentation. And to encourage all engineers regardless of seniority to do the same. A key point is doing this at the right times. During a 10-person meeting with directors is not the right time to ask questions that could send things back to the drawing-board. Such meetings are ceremony. If there are big questions about feasibility etc at a 10-person director-level meeting, you need to go into backroom fire-fighting mode to figure out how to save the project and let everyone save face. In the moment is almost never the right time. If there are tech problems or questions, ask the small group of people who did the thinking, and ask them in a low-stakes setting. All questions must be asked in good-faith to gain any level of respect and overall progress for everyone involved. Questions are NOT an opportunity to show off, to politick, or to start lots of little fires that everyone must put out before proceeding. This is half the art of questions at senior and staff levels: when to ask them, to whom to ask them, and how to help guide the action based on the answer even if you disagree with the conclusions.
- ryloric 5y agoI feel what most call "stupid questions" come from people assuming others have the same context and have the same assumptions about some topic. It's a kind of communication failure imho. Your advice (which is excellent btw) mostly targets this kind of thing.
- brundolf 5y agoA couple jobs ago we had a dedicated "dumb-questions" slack channel that only junior-mid devs were invited to; no managers, so there won't be any fear of judgement. Often the juniors would end up answering each other's questions. Another reason it worked well was that, being a group channel, you didn't have to worry about bothering a specific person who might be busy.
- aigo 5y agoI started something similar on my team recently, the chat group is called 'does anyone know' as that's how almost all of these questions begin
- cupcake-unicorn 5y agoAs a young female software developer, I was told to ask less questions. This led to situations where I'd be stuck hours on end due to things like backend/config changes that no one told me about and I wouldn't have known. So just a tip that this advice doesn't necessarily hold if you're a minority software developer. Later I was told that I was a good dev but my confidence wasn't good enough. Hmm, wonder what could have contributed to that? :/
- pm90 5y agoSorry to hear that. I feel privileged to have had the chance to ask questions quite liberally and it has been an important avenue for learning in my career. I recognize that is a privilege; I hope that it does not remain that way, that everyone has access to this way of learning.
- cupcake-unicorn 5y agoI think most workplaces would benefit better from having junior devs pair with other devs and cultivating this kind of thing but my experience was that most startups were very frustrated with junior/midlevel devs and just wanted to fill their ranks with fullstack "rockstars". I don't know if things have changed but it just seemed like there were rarely true junior or mid level dev positions, and in my case even when there were, they company would come back in about 6 months in and admit they didn't really have the resources for someone to do the kind of pairing/mentoring needed for someone in a junior role :/ There's a female oriented code bootcamp where I live but I wasn't allowed in because I was "overqualified". I didn't really fit anywhere. Tech culture got more and more alienating to me so I'm not in that industry anymore. My best job was overseas in Berlin but I did see that that kind of "tech bro" culture seeping into workplaces there as well.
- throw_m239339 5y ago> As a young female software developer, I was told to ask less questions Someone at work explicitly told you that because you are a female, you should ask less questions because of the sex you are born with? was it a coworker on the same level as yours or a manager? Or is it a policy at your business not to practice onboarding? If it's the former, it's a clear cut case of sexism and I suggest you report the employee who made that comment to your hierarchy.
- dragonsky67 5y agoOne of the things that becomes obvious as I gain experience, is that I actually think I know less. As I gain experience the number of things that I could know something about seems to increase at an exponential rate, but my knowledge still only increases at the same rate... So as time goes on, the level of knowledge of all things decreases. So, I ask stupid questions all the time, because I know that something may be related to what we are working on, but I don't have the knowledge to be able to ask smart questions. At this point, any question can help you get to how the subject area can help. Don't worry about looking stupid asking questions. Anybody in this game who claims they know everything lying, there is just too much to know.
- rramadass 5y agoHere is what i do at every new job where by definition i am the "new" software developer. Note that the below activities are not necessarily sequential; * Ask for any and all user manual, design and code documentation however incomplete. This could be docs/pdfs/wikis etc. Spend a few days/week on going through this and taking notes. * Ask a Senior/Knowledgeable developer who has a good idea of the entire System/Codebase for a few hours of his time for a couple of days. Take him to lunch and segue into a "brain dump" of the System. Again take notes. In particular; spend a few hours going over the layout of the codebase and writing down an overview of each component. * Don't ask questions while doing the above. Your aim is to get an idea of the "lay of the land" as far as the logical/functional and physical design of the system is concerned. Absorb the information and try to form a model/image of the system in your mind. * Sit with QA or another developer to learn to run and use the system as a end user. I always find this difficult since one needs to have an idea of what the system does before one can understand how to use it. * Now you have some internal view i.e. logical/functional design and physical codebase layout which you can attempt to map to end user functionality. Start diving into the code, fixing bugs, adding small features to gain understanding and confidence. * You can now start asking any and all questions and revising your understanding of the system and its code.
- jar3624 5y agoall questions are revealing. even the ones where you don't get an answer
- rajlego 5y agoIs anyone who does swiftui stuff willing to answer my stupid questions? I have so many